Skip to content

Support for sourcepos extension recursively, to provide sync-preview. #50

Description

@belonesox

I am working on vscode extension that provide WYSIWYM/Latex-convinienient way
to work on complex markdown documentation with inclusions
using pandoc-include (with my patch to support it).
And with back/forward syncing like that (small demo):

demo-screencast.mp4

The key feature from pandoc core is core sourcepos extension that can add JSON-tags "datapos" to output.
The problem is that pandoc-include does "not inherit" filters from main document.

So to support it, I wrote couple of fast LUA filters:

  • desourcepos.lua — special LUA-filter to remove sourcepos tags to read "pure" inclusion command in pandoc-include.
  • filename-sourcepos.lua — special LUA-filter to add filename to sourcepos tags when we including files in pandoc-include

And add supporting PANDOC_SOURCE_FORMAT environment variable, if it exists, that would mean that we use this format for included files, and add special processing to add included filename to sourcepos tags.

First, before we get into PR, I want to discuss whether this approach looks good.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions