From 03be9e0536963e3ff4a628ed78347b9569b52ee3 Mon Sep 17 00:00:00 2001 From: Anton Bobov Date: Fri, 2 Dec 2016 09:09:39 +0500 Subject: Add pandoc include filter. --- pandoc-filter-includes.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 pandoc-filter-includes.py (limited to 'pandoc-filter-includes.py') diff --git a/pandoc-filter-includes.py b/pandoc-filter-includes.py new file mode 100755 index 0000000..d9b5244 --- /dev/null +++ b/pandoc-filter-includes.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python + +""" +Pandoc filter to process code blocks with class "include" and +replace their content with the included file + +from: https://github.com/simonlau/pandocfilters +""" + +from pandocfilters import toJSONFilter, CodeBlock + + +def code_include(key, value, format, meta): + if key == 'CodeBlock': + [[ident, classes, namevals], code] = value + for nameval in namevals: + if nameval[0] == 'include': + with open(nameval[1], 'rb') as content_file: + content = content_file.read() + content.decode('utf-8') + return CodeBlock([ident, classes, namevals], content) + +if __name__ == "__main__": + toJSONFilter(code_include) -- cgit v1.2.3