Skip to content
This repository has been archived by the owner on Aug 20, 2023. It is now read-only.
/ pandoc-import-code Public archive

Pandoc filter to include external code files as fenced code blocks

Notifications You must be signed in to change notification settings

nlm-pro/pandoc-import-code

Repository files navigation

Pandoc-import-code

PyPI GitHub release (latest SemVer including pre-releases)

Pandoc filter to include external code files as fenced code blocks using the Vuepress syntax.

Install

To install pandoc-import-code, open the command line and type:

pip install pandoc-import-code

Python 3.6+ and PyPy3 are supported.

Usage

⚠️ pandoc-import-code requires Pandoc 2.11+, as it relies on Panflute 2

Command

$ pandoc source.md --filter pandoc-import-code -o output.md

Syntax

<<< @/<path>#[region]
  • path : path to a code file to import
    • relative to the pandoc command working directory
  • region : custom region name for partial import

Example

$ 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>
```

Limitations

  • as line-highlighting isn't supported by pandoc, any {1-2} parameter will be ignored

Dev Install

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