aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar wookie184 <[email protected]>2025-04-08 16:53:46 +0100
committerGravatar wookie184 <[email protected]>2025-04-08 16:53:46 +0100
commit0a30daf906841ec136114e1bc8688ef1c6898c84 (patch)
tree2b9dde05c402e0c94976c305b64b55d962024fc1
parentBump markdownify from 0.14.1 to 1.1.0 (diff)
Fix markdownify breaking change: convert_as_inline->parent_tags
Now _inline is set as a pseudo value in parent_tags
-rw-r--r--bot/exts/info/doc/_markdown.py22
-rw-r--r--bot/exts/info/doc/_parsing.py2
2 files changed, 12 insertions, 12 deletions
diff --git a/bot/exts/info/doc/_markdown.py b/bot/exts/info/doc/_markdown.py
index a030903ed..1ff50ee95 100644
--- a/bot/exts/info/doc/_markdown.py
+++ b/bot/exts/info/doc/_markdown.py
@@ -15,7 +15,7 @@ class DocMarkdownConverter(markdownify.MarkdownConverter):
super().__init__(**options)
self.page_url = page_url
- def convert_li(self, el: PageElement, text: str, convert_as_inline: bool) -> str:
+ def convert_li(self, el: PageElement, text: str, parent_tags: set[str]) -> str:
"""Fix markdownify's erroneous indexing in ol tags."""
parent = el.parent
if parent is not None and parent.name == "ol":
@@ -31,38 +31,38 @@ class DocMarkdownConverter(markdownify.MarkdownConverter):
bullet = bullets[depth % len(bullets)]
return f"{bullet} {text}\n"
- def _convert_hn(self, _n: int, el: PageElement, text: str, convert_as_inline: bool) -> str:
+ def _convert_hn(self, _n: int, el: PageElement, text: str, parent_tags: set[str]) -> str:
"""Convert h tags to bold text with ** instead of adding #."""
- if convert_as_inline:
+ if "_inline" in parent_tags:
return text
return f"**{text}**\n\n"
- def convert_code(self, el: PageElement, text: str, convert_as_inline: bool) -> str:
+ def convert_code(self, el: PageElement, text: str, parent_tags: set[str]) -> str:
"""Undo `markdownify`s underscore escaping."""
return f"`{text}`".replace("\\", "")
- def convert_pre(self, el: PageElement, text: str, convert_as_inline: bool) -> str:
+ def convert_pre(self, el: PageElement, text: str, parent_tags: set[str]) -> str:
"""Wrap any codeblocks in `py` for syntax highlighting."""
code = "".join(el.strings)
return f"```py\n{code}```"
- def convert_a(self, el: PageElement, text: str, convert_as_inline: bool) -> str:
+ def convert_a(self, el: PageElement, text: str, parent_tags: set[str]) -> str:
"""Resolve relative URLs to `self.page_url`."""
el["href"] = urljoin(self.page_url, el["href"])
# Discord doesn't handle titles properly, showing links with them as raw text.
el["title"] = None
- return super().convert_a(el, text, convert_as_inline)
+ return super().convert_a(el, text, parent_tags)
- def convert_p(self, el: PageElement, text: str, convert_as_inline: bool) -> str:
+ def convert_p(self, el: PageElement, text: str, parent_tags: set[str]) -> str:
"""Include only one newline instead of two when the parent is a li tag."""
- if convert_as_inline:
+ if "_inline" in parent_tags:
return text
parent = el.parent
if parent is not None and parent.name == "li":
return f"{text}\n"
- return super().convert_p(el, text, convert_as_inline)
+ return super().convert_p(el, text, parent_tags)
- def convert_hr(self, el: PageElement, text: str, convert_as_inline: bool) -> str:
+ def convert_hr(self, el: PageElement, text: str, parent_tags: set[str]) -> str:
"""Ignore `hr` tag."""
return ""
diff --git a/bot/exts/info/doc/_parsing.py b/bot/exts/info/doc/_parsing.py
index bc5a5bd31..0f5734a15 100644
--- a/bot/exts/info/doc/_parsing.py
+++ b/bot/exts/info/doc/_parsing.py
@@ -159,7 +159,7 @@ def _get_truncated_description(
if rendered_length + element_length < max_length:
if is_tag:
- element_markdown = markdown_converter.process_tag(element, convert_as_inline=False)
+ element_markdown = markdown_converter.process_tag(element)
else:
element_markdown = markdown_converter.process_text(element)