From e257d5359ee33496d31d37c579f408d84a832959 Mon Sep 17 00:00:00 2001 From: manetta Date: Mon, 21 Feb 2022 18:05:47 +0100 Subject: [PATCH] using md metadata title field as document name + using pypandoc for the markdown-to-html convertion now to support 'extra' features such as {.classname} --- octomode.py | 10 +++++++--- templates/base.html | 2 +- templates/pagedjs.html | 5 +++-- templates/preview.html | 5 +++-- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/octomode.py b/octomode.py index f908306..09fb610 100755 --- a/octomode.py +++ b/octomode.py @@ -9,6 +9,7 @@ from flask import escape # To sanitize Markdown input import markdown +import pypandoc import bleach APP = Flask(__name__) @@ -72,7 +73,8 @@ def create_pad_on_first_run(name, ext): def md_to_html(md_pad_content): # Convert Markdown to HTML - html = markdown.markdown(md_pad_content, extensions=['meta']) + # html = markdown.markdown(md_pad_content, extensions=['meta', 'attr_list']) # attr_list does not work + html = pypandoc.convert_text(md_pad_content, 'html', format='md') # Sanitize the Markdown # html = bleach.clean(html) @@ -153,8 +155,9 @@ def preview(name): html = md_to_html(md_pad_content) metadata = get_md_metadata(md_pad_content) lang = metadata['language'][0] + title = metadata['title'][0] - return render_template('preview.html', name=name.strip(), pad_content=html, lang=lang) + return render_template('preview.html', name=name.strip(), pad_content=html, lang=lang, title=title) @APP.route('//pagedjs.html') def pagedjs(name): @@ -163,8 +166,9 @@ def pagedjs(name): html = md_to_html(md_pad_content) metadata = get_md_metadata(md_pad_content) lang = metadata['language'][0] + title = metadata['title'][0] - return render_template('pagedjs.html', name=name.strip(), pad_content=html, lang=lang) + return render_template('pagedjs.html', name=name.strip(), pad_content=html, lang=lang, title=title) # ////////////////// diff --git a/templates/base.html b/templates/base.html index 77419aa..d8b349b 100644 --- a/templates/base.html +++ b/templates/base.html @@ -2,7 +2,7 @@ - {{ name }} + {{ name }} in octomode {% block head %} {% endblock %} diff --git a/templates/pagedjs.html b/templates/pagedjs.html index 509a2fe..526dd9b 100644 --- a/templates/pagedjs.html +++ b/templates/pagedjs.html @@ -6,11 +6,12 @@ - {{ name }} + {{ title }}
-

{{ name }}

+

{{ title }}

+
diff --git a/templates/preview.html b/templates/preview.html index 1177b2e..4e23ea4 100644 --- a/templates/preview.html +++ b/templates/preview.html @@ -4,11 +4,12 @@ - {{ name }} + {{ title }}
-

{{ name }}

+

{{ title }}

+