diff --git a/docs/src/markdown/about/changelog.md b/docs/src/markdown/about/changelog.md index 3dd05a0c6..6dceaeff8 100644 --- a/docs/src/markdown/about/changelog.md +++ b/docs/src/markdown/about/changelog.md @@ -1,5 +1,9 @@ # Changelog +## 10.14.3 + +- **FIX**: Blocks: An empty, raw block type should not cause an error. + ## 10.14.2 - **FIX**: Blocks: Fix some corner cases with `md_in_html`. diff --git a/pymdownx/__meta__.py b/pymdownx/__meta__.py index 3f8d22539..20a9d54ac 100644 --- a/pymdownx/__meta__.py +++ b/pymdownx/__meta__.py @@ -185,5 +185,5 @@ def parse_version(ver, pre=False): return Version(major, minor, micro, release, pre, post, dev) -__version_info__ = Version(10, 14, 2, "final") +__version_info__ = Version(10, 14, 3, "final") __version__ = __version_info__._get_canonical() diff --git a/pymdownx/blocks/block.py b/pymdownx/blocks/block.py index 693c16fdb..c45a6020a 100644 --- a/pymdownx/blocks/block.py +++ b/pymdownx/blocks/block.py @@ -357,7 +357,8 @@ def _end(self, block): mode = self.on_markdown() add = self.on_add(block) if mode == 'raw' or (mode == 'auto' and self.is_raw(add)): - add.text = mutil.AtomicString(self.dedent(add.text)) + text = add.text if add.text is not None else '' + add.text = mutil.AtomicString(self.dedent(text)) self.on_end(block) diff --git a/tests/test_extensions/test_blocks/test_html.py b/tests/test_extensions/test_blocks/test_html.py index a3ea2275d..776a3e70e 100644 --- a/tests/test_extensions/test_blocks/test_html.py +++ b/tests/test_extensions/test_blocks/test_html.py @@ -14,6 +14,22 @@ class TestBlocksHTML(util.MdCase): } } + + def test_raw_empty_block(self): + """Test that raw empty blocks are handled properly.""" + + self.check_markdown( + R''' + /// html | pre + /// + ''', + R''' +
+ ''', + True + ) + + def test_bad_tag(self): """Test bad HTML tag."""