diff --git a/base_requirements.txt b/base_requirements.txt index b659c9e8d45..3f661b6da1b 100644 --- a/base_requirements.txt +++ b/base_requirements.txt @@ -90,9 +90,8 @@ gunicorn Jinja2 # Simple markup language for rendering HTML -# https://python-markdown.github.io/change_log/ -# mkdocs currently requires Markdown v3.3 -Markdown<3.4 +# https://python-markdown.github.io/changelog/ +Markdown # File inclusion plugin for Python-Markdown # https://github.com/cmacmackin/markdown-include diff --git a/netbox/utilities/templatetags/builtins/filters.py b/netbox/utilities/templatetags/builtins/filters.py index a52a3811605..d18524965bc 100644 --- a/netbox/utilities/templatetags/builtins/filters.py +++ b/netbox/utilities/templatetags/builtins/filters.py @@ -8,6 +8,7 @@ from django.utils.html import escape from django.utils.safestring import mark_safe from markdown import markdown +from markdown.extensions.tables import TableExtension from netbox.config import get_config from utilities.markdown import StrikethroughExtension @@ -163,7 +164,12 @@ def render_markdown(value): return '' # Render Markdown - html = markdown(value, extensions=['def_list', 'fenced_code', 'tables', StrikethroughExtension()]) + html = markdown(value, extensions=[ + 'def_list', + 'fenced_code', + StrikethroughExtension(), + TableExtension(use_align_attribute=True), + ]) # If the string is not empty wrap it in rendered-markdown to style tables if html: diff --git a/requirements.txt b/requirements.txt index 537c5b77eb9..ab1318ce789 100644 --- a/requirements.txt +++ b/requirements.txt @@ -20,7 +20,7 @@ feedparser==6.0.10 graphene-django==3.0.0 gunicorn==21.2.0 Jinja2==3.1.2 -Markdown==3.3.7 +Markdown==3.5.1 mkdocs-material==9.4.14 mkdocstrings[python-legacy]==0.24.0 netaddr==0.9.0