DCsunset / pandoc-include

A pandoc filter to allow file and header inclusion
MIT License
63 stars 14 forks source link

Comments in code blocks returns error #26

Closed tomvaneyck closed 3 years ago

tomvaneyck commented 3 years ago

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:

```bash
> 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 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 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 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 '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') ```
DCsunset commented 3 years ago

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