diff --git a/markdownify/__init__.py b/markdownify/__init__.py index cc3d153..3272ce5 100644 --- a/markdownify/__init__.py +++ b/markdownify/__init__.py @@ -213,7 +213,7 @@ def __getattr__(self, attr): n = int(m.group(1)) def convert_tag(el, text, convert_as_inline): - return self.convert_hn(n, el, text, convert_as_inline) + return self._convert_hn(n, el, text, convert_as_inline) convert_tag.__name__ = 'convert_h%s' % n setattr(self, convert_tag.__name__, convert_tag) @@ -311,10 +311,14 @@ def convert_code(self, el, text, convert_as_inline): convert_kbd = convert_code - def convert_hn(self, n, el, text, convert_as_inline): + def _convert_hn(self, n, el, text, convert_as_inline): + """ Method name prefixed with _ to prevent to call this """ if convert_as_inline: return text + # prevent MemoryErrors in case of very large n + n = max(1, min(6, n)) + style = self.options['heading_style'].lower() text = text.strip() if style == UNDERLINED and n <= 2: diff --git a/pyproject.toml b/pyproject.toml index 51604d8..e5ce8cb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "markdownify" -version = "0.14.0" +version = "0.14.1" authors = [{name = "Matthew Tretter", email = "m@tthewwithanm.com"}] description = "Convert HTML to markdown." readme = "README.rst" diff --git a/tests/test_conversions.py b/tests/test_conversions.py index 0be1d0c..2283c29 100644 --- a/tests/test_conversions.py +++ b/tests/test_conversions.py @@ -133,6 +133,8 @@ def test_hn(): assert md('

Hello

') == '\n#### Hello\n\n' assert md('
Hello
') == '\n##### Hello\n\n' assert md('
Hello
') == '\n###### Hello\n\n' + assert md('Hello') == md('
Hello
') + assert md('Hello') == md('Hello') def test_hn_chained():