From 4e5cf7728fb48dda62bd2189a75be962e06e66a5 Mon Sep 17 00:00:00 2001 From: Luxferre Date: Wed, 31 Dec 2025 13:41:38 +0200 Subject: [PATCH] optimize decktext algo a bit --- deck/text.py | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/deck/text.py b/deck/text.py index f6a2542..6390bdb 100644 --- a/deck/text.py +++ b/deck/text.py @@ -29,31 +29,31 @@ def _replace_img_with_alt(match): # (regex, repl) tuple list: order matters! _render_regex_src = [ - ('<(head|HEAD).*?>.*?<\\/(head|HEAD)>', ''), - ('<(script|SCRIPT).*?>.*?<\\/(script|SCRIPT)>', ''), - ('<(style|STYLE).*?>.*?<\\/(style|STYLE)>', ''), - ('<(audio|AUDIO).*?>.*?<\\/(audio|AUDIO)>', ''), - ('<(video|VIDEO).*?>.*?<\\/(video|VIDEO)>', ''), - ('<(object|OBJECT).*?>.*?<\\/(object|OBJECT)>', ''), - ('<(canvas|CANVAS).*?>.*?<\\/(canvas|CANVAS)>', ''), + ('<(head|HEAD)(\s+[^>]*)?>.*?<\\/(head|HEAD)>', ''), + ('<(script|SCRIPT)(\s+[^>]*)?>.*?<\\/(script|SCRIPT)>', ''), + ('<(style|STYLE)(\s+[^>]*)?>.*?<\\/(style|STYLE)>', ''), + ('<(audio|AUDIO)(\s+[^>]*)?>.*?<\\/(audio|AUDIO)>', ''), + ('<(video|VIDEO)(\s+[^>]*)?>.*?<\\/(video|VIDEO)>', ''), + ('<(object|OBJECT)(\s+[^>]*)?>.*?<\\/(object|OBJECT)>', ''), + ('<(canvas|CANVAS)(\s+[^>]*)?>.*?<\\/(canvas|CANVAS)>', ''), ('', _start_boundary), ('', _end_boundary), - ('', _replace_img_with_alt), + (']*)?>', _replace_img_with_alt), ('(.+?)<\\/a>', _link_repl), - ('<(hr|HR).*?>', f'\n{_page_boundary}\n'), - ('<(b|B|strong|STRONG).*?>', '**'), + ('<(hr|HR)(\s+[^>]*)?>', f'\n{_page_boundary}\n'), + ('<(b|B|strong|STRONG)(\s+[^>]*)?>', '**'), ('<\\/(b|B|strong|STRONG)>', '**'), - ('<(i|I|em|EM).*?>', '_'), + ('<(i|I|em|EM)(\s+[^>]*)?>', '_'), ('<\\/(i|I|em|EM)>', '_'), - ('<(tt|TT|code|CODE).*?>', '`'), + ('<(tt|TT|code|CODE)(\s+[^>]*)?>', '`'), ('<\\/(tt|TT|code|CODE)>', '`'), - ('<(s|S|del|DEL).*?>', '~~'), + ('<(s|S|del|DEL)(\s+[^>]*)?>', '~~'), ('<\\/(s|S|del|DEL)>', '~~'), - ('<(pre|PRE|xmp|XMP).*?>', '\n```\n'), + ('<(pre|PRE|xmp|XMP)(\s+[^>]*)?>', '\n```\n'), ('<\\/(pre|PRE|xmp|XMP)>', '\n```\n'), - ('<(blockquote|BLOCKQUOTE).*?>', '\n>> '), + ('<(blockquote|BLOCKQUOTE)(\s+[^>]*)?>', '\n>> '), ('<\\/(blockquote|BLOCKQUOTE)>', '\n'), - ('<(li|LI).*?>', '* '), + ('<(li|LI)(\s+[^>]*)?>', '* '), ('<\\/(li|LI)>', '\n'), ('<.+?>', ''), ('<', '<'),