From ccf76de9391f5a19061b6f8ff3da8583da408e7b Mon Sep 17 00:00:00 2001 From: Shrimadhav U K Date: Mon, 22 Jul 2024 15:02:45 +0530 Subject: [PATCH] md better? --- pyrogram/parser/markdown.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/pyrogram/parser/markdown.py b/pyrogram/parser/markdown.py index 93ca67c60b..ba8a131070 100644 --- a/pyrogram/parser/markdown.py +++ b/pyrogram/parser/markdown.py @@ -33,6 +33,7 @@ CODE_DELIM = "`" PRE_DELIM = "```" BLOCKQUOTE_DELIM = ">" +BLOCKQUOTE_EXPANDABLE_DELIM = "**>" MARKDOWN_RE = re.compile(r"({d})|(!?)\[(.+?)\]\((.+?)\)".format( d="|".join( @@ -72,15 +73,27 @@ def _parse_blockquotes(self, text: str): if line.startswith(BLOCKQUOTE_DELIM): in_blockquote = True current_blockquote.append(line[1:].strip()) + elif line.startswith(BLOCKQUOTE_EXPANDABLE_DELIM): + in_blockquote = True + is_expandable_blockquote = True + current_blockquote.append(line[3:].strip()) else: if in_blockquote: in_blockquote = False - result.append(OPENING_TAG.format("blockquote") + '\n'.join(current_blockquote) + CLOSING_TAG.format("blockquote")) + result.append( + (f"
" if is_expandable_blockquote else OPENING_TAG.format("blockquote")) + + '\n'.join(current_blockquote) + + CLOSING_TAG.format("blockquote") + ) current_blockquote = [] result.append(line) if in_blockquote: - result.append(OPENING_TAG.format("blockquote") + '\n'.join(current_blockquote) + CLOSING_TAG.format("blockquote")) + result.append( + (f"
" if is_expandable_blockquote else OPENING_TAG.format("blockquote")) + + '\n'.join(current_blockquote) + + CLOSING_TAG.format("blockquote") + ) return '\n'.join(result)