diff --git a/tinywiki/parser/bbcode/__init__.py b/tinywiki/parser/bbcode/__init__.py index 69de4fe..9a06acc 100644 --- a/tinywiki/parser/bbcode/__init__.py +++ b/tinywiki/parser/bbcode/__init__.py @@ -1,28 +1,38 @@ import bbcode from . import formatters +from ... import settings PARSER = bbcode.Parser(newline="\n",escape_html=True,replace_links=False) def _(): - for i in formatters.SIMPLE_FORMATTERS: - if len(i) == 0: - continue - - if len(i) == 1: - kwargs = {} - else: - kwargs = i[1] - PARSER.add_simple_formatter(*i[0],**kwargs) - - for i in formatters.FORMATTERS: - if len(i) == 0: - continue - - if len(i) == 1: - kwargs = {} - else: - kwargs = i[1] - - PARSER.add_formatter(*i[0],**kwargs) - + def add_simple_formatters(simple_formatters): + for i in simple_formatters: + if len(i) == 0: + continue + + if len(i) == 1: + kwargs = {} + else: + kwargs = i[1] + PARSER.add_simple_formatter(*i[0], **kwargs) + + def add_formatters(formatters): + for i in formatters.FORMATTERS: + if len(i) == 0: + continue + + if len(i) == 1: + kwargs = {} + else: + kwargs = i[1] + + PARSER.add_formatter(*i[0], **kwargs) + + add_simple_formatters(formatters.SIMPLE_FORMATTERS) + add_formatters(formatters.FORMATTERS) + if settings.TINYWIKI_BBCODE_EXTR_SIMPLE_FORMATTERS: + add_simple_formatters(settings.TINYWIKI_BBCODE_EXTR_SIMPLE_FORMATTERS) + if settings.TINYWIKI_BBCODE_EXTRA_FORMATTERS: + add_formatters(settings.TINYWIKI_BBCODE_EXTRA_FORMATTERS) + _() del _ \ No newline at end of file diff --git a/tinywiki/parser/bbcode/text_formatters.py b/tinywiki/parser/bbcode/text_formatters.py index 8acd09a..f537760 100644 --- a/tinywiki/parser/bbcode/text_formatters.py +++ b/tinywiki/parser/bbcode/text_formatters.py @@ -462,12 +462,12 @@ def render_youtube_video(tag_name: str, value, options, parent, context): #classes += ["float-end", "ms-2"] elif pos == "center": div_classes += ["mx-auto", "d-block"] - #classes += ["mx-auto", "d-block"] + # classes += ["mx-auto", "d-block"] - if styles: - style = f"style=\"{' '.join(styles)}\"" - else: - style = "" + # if styles: + # style = f"style=\"{' '.join(styles)}\"" + # else: + # style = "" if div_styles: div_style = f'style="{"".join(div_styles)}"' diff --git a/tinywiki/settings.py b/tinywiki/settings.py index cacd039..ebd376d 100644 --- a/tinywiki/settings.py +++ b/tinywiki/settings.py @@ -35,5 +35,7 @@ TINYWIKI_BASE_TEMPLATE = getattr( ) TINYWIKI_HOME = getattr(settings, "TINYWIKI_HOME", "tw-home") +TINYWIKI_BBCODE_EXTRA_FORMATTERS = getattr(settings, 'TINYWIKI_BBCODE_EXTRA_FORMATTERS', None) +TINYWIKI_BBCODE_EXTR_SIMPLE_FORMATTERS = getattr(settings, 'TINYWIKI_BBCODE_EXTR_SIMPLE_FORMATTERS', None) USE_BOOTSTRAP = getattr(settings, "USE_BOOTSTRAP", False)