DCsunset / pandoc-include

A pandoc filter to allow file and header inclusion

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Comments in code blocks returns error

tomvaneyck opened this issue · comments

It seems as if the issue with code blocks runs deeper than expected. The filter returns an error when the code block contains a comment containing too much hashtags.

# This is a title

This is some text.

```python
################## Comment ##################
```

Compiling this with the filter active gives the following error:

> pandoc -f markdown -t latex test.md -o test.pdf --filter pandoc-include
TypeError: Header level not between 1 and 10
Error running filter pandoc-include:
Filter returned error status 1

Without the filter it compiles just fine. It seems like the filter handles the code blocks like seperate markdown files.

Traceback
Traceback (most recent call last):
  File "/mnt/c/Users/Tom Van Eyck/Documents/KULeuven/Studentenjob/documentation/venv/bin/pandoc-include", line 10, in <module>
    sys.exit(main())
  File "/mnt/c/Users/Tom Van Eyck/Documents/KULeuven/Studentenjob/documentation/venv/lib/python3.8/site-packages/pandoc_include/main.py", line 382, in main
    return pf.run_filter(action, doc=doc)
  File "/mnt/c/Users/Tom Van Eyck/Documents/KULeuven/Studentenjob/documentation/venv/lib/python3.8/site-packages/panflute/io.py", line 224, in run_filter
    return run_filters([action], *args, **kwargs)
  File "/mnt/c/Users/Tom Van Eyck/Documents/KULeuven/Studentenjob/documentation/venv/lib/python3.8/site-packages/panflute/io.py", line 205, in run_filters
    doc = doc.walk(action, doc)
  File "/mnt/c/Users/Tom Van Eyck/Documents/KULeuven/Studentenjob/documentation/venv/lib/python3.8/site-packages/panflute/base.py", line 264, in walk
    ans = list(chain.from_iterable(ans))
  File "/mnt/c/Users/Tom Van Eyck/Documents/KULeuven/Studentenjob/documentation/venv/lib/python3.8/site-packages/panflute/base.py", line 262, in <genexpr>
    ans = ((item,) if type(item) != list else item for item in ans)
  File "/mnt/c/Users/Tom Van Eyck/Documents/KULeuven/Studentenjob/documentation/venv/lib/python3.8/site-packages/panflute/base.py", line 259, in <genexpr>
    ans = (item.walk(action, doc) for item in obj)
  File "/mnt/c/Users/Tom Van Eyck/Documents/KULeuven/Studentenjob/documentation/venv/lib/python3.8/site-packages/panflute/base.py", line 275, in walk
    altered = action(self, doc)
  File "/mnt/c/Users/Tom Van Eyck/Documents/KULeuven/Studentenjob/documentation/venv/lib/python3.8/site-packages/pandoc_include/main.py", line 365, in action
    includeType, name, config = is_code_include(elem)
  File "/mnt/c/Users/Tom Van Eyck/Documents/KULeuven/Studentenjob/documentation/venv/lib/python3.8/site-packages/pandoc_include/main.py", line 99, in is_code_include
    new_elem = pf.convert_text(elem.text)[0]
  File "/mnt/c/Users/Tom Van Eyck/Documents/KULeuven/Studentenjob/documentation/venv/lib/python3.8/site-packages/panflute/tools.py", line 459, in convert_text
    out = json.loads(out, object_hook=from_json)
  File "/usr/lib/python3.8/json/__init__.py", line 370, in loads
    return cls(**kw).decode(s)
  File "/usr/lib/python3.8/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.8/json/decoder.py", line 353, in raw_decode
    obj, end = self.scan_once(s, idx)
  File "/mnt/c/Users/Tom Van Eyck/Documents/KULeuven/Studentenjob/documentation/venv/lib/python3.8/site-packages/panflute/elements.py", line 1371, in from_json
    return _res_func[tag](c)
  File "/mnt/c/Users/Tom Van Eyck/Documents/KULeuven/Studentenjob/documentation/venv/lib/python3.8/site-packages/panflute/elements.py", line 1282, in <lambda>
    'Header': lambda c: Header(
  File "/mnt/c/Users/Tom Van Eyck/Documents/KULeuven/Studentenjob/documentation/venv/lib/python3.8/site-packages/panflute/elements.py", line 379, in __init__
    raise TypeError('Header level not between 1 and 10')

Thanks for your feedback. This issue has been fixed in v1.1.0. Feel free to reopen this issue if it still exists.