Pandoc filter to include external code files as fenced code blocks using the Vuepress syntax.
To install pandoc-import-code, open the command line and type:
pip install pandoc-import-code
Python 3.6+ and PyPy3 are supported.
$ pandoc source.md --filter pandoc-import-code -o output.md
<<< @/<path>#[region]
- path : path to a code file to import
- relative to the pandoc command working directory
- region : custom region name for partial import
- syntax inspired by VS Code
$ pandoc docs/index.md --filter pandoc-import-code -o out.md
Source (./docs/index.md
)
# Code Sample
<<< @/samples/hello-world.html#title
Code sample (./samples/hello-world.html
)
<!DOCTYPE html>
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
<!-- #region title -->
<h1>
Hello World!
</h1>
<!-- #endregion title -->
</body>
</html>
Output (./out.md
)
# Code Sample
``` {.html}
<h1>
Hello World
</h1>
```
- as line-highlighting isn't supported by pandoc, any
{1-2}
parameter will be ignored
After cloning the repository and opening the pandoc-import-code folder:
python setup.py install
: installs the package locally
python setup.py develop
: installs locally with a symlink so changes are
automatically updated