docs/tutorial/mypandocfilters/raw-file.py
changeset 3376 aad37ffd7d58
child 5227 b24de4b465ea
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/tutorial/mypandocfilters/raw-file.py	Mon Jan 08 11:46:53 2018 +0100
@@ -0,0 +1,24 @@
+#!/usr/bin/env python
+"""
+Insert a raw-file as HTML code block
+"""
+
+import panflute as pf
+
+
+def action(elem, doc):
+    if isinstance(elem, pf.CodeBlock) and 'raw-file' in elem.classes:
+        filepath = elem.text
+
+        with open(filepath, 'r') as fd:
+            content = fd.read()
+
+        return pf.RawBlock('<pre>%s</pre>' % content, "html")
+        # elem.text = content
+
+def main(doc=None):
+    return pf.run_filter(action, doc=doc)
+
+
+if __name__ == '__main__':
+    main()