Migrate documents from one pandoc AST schema to another.
The ast-migrator
binary can be used as a compatibility helper for
pandoc filters.
The following example assumes that my-filter
expects the older
pandoc API version 1.20, while pandoc has been updated and uses API
version 1.22 internally. Without touching the original filter, we
can no longer use the --filter
options in this situation.
pandoc --filter=my-filter ...
Instead, pandoc's JSON must explicitly be converted and be passed to the filter:
pandoc --to=json ... \
| ast-migrator --to=1.20 \
| my-filter \
| ast-migrator --from=1.20 \
| pandoc ...
This will convert the JSON representation into a format palatable by the filter, and then later back into the format expected by pandoc.
For better handling the tool can be added to the filter itself; this makes the explicit piping unnecessary.