docs/tutorial/mypandocfilters/raw-file.py
author Pierre-Yves David <pierre-yves.david@octobus.net>
Thu, 25 Oct 2018 10:01:58 +0200
branchstable
changeset 4201 46cef25fbd96
parent 3376 aad37ffd7d58
child 5227 b24de4b465ea
permissions -rw-r--r--
pullbundle: drop erroneous flagging of the command as basic This is a debug command, not a basic part of the UI.

#!/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()