Add utility frappe.utils.md_to_html
- Replace all occurences of manual imports with this utility - Also enable extras - fenced-code-blocks - tables with class 'table table-bordered' - header-ids
This commit is contained in:
parent
95d13d1000
commit
60f9e2c973
7 changed files with 17 additions and 14 deletions
|
|
@ -434,8 +434,7 @@ def sendmail(recipients=[], sender="", subject="No Subject", message="No Message
|
|||
message = content or message
|
||||
|
||||
if as_markdown:
|
||||
from markdown2 import markdown
|
||||
message = markdown(message)
|
||||
message = frappe.utils.md_to_html(message)
|
||||
|
||||
if not delayed:
|
||||
now = True
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ from frappe.core.doctype.role.role import get_emails_from_role
|
|||
from frappe.utils import validate_email_add, nowdate, parse_val, is_html
|
||||
from frappe.utils.jinja import validate_template
|
||||
from frappe.modules.utils import export_module_json, get_doc_module
|
||||
from markdown2 import markdown
|
||||
from six import string_types
|
||||
from frappe.integrations.doctype.slack_webhook_url.slack_webhook_url import send_slack_message
|
||||
|
||||
|
|
@ -225,7 +224,7 @@ def get_context(context):
|
|||
self.message = self.get_template()
|
||||
|
||||
if not is_html(self.message):
|
||||
self.message = markdown(self.message)
|
||||
self.message = frappe.utils.md_to_html(self.message)
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_documents_for_today(notification):
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@
|
|||
from __future__ import unicode_literals, print_function
|
||||
from werkzeug.test import Client
|
||||
import os, re, sys, json, hashlib, requests, traceback
|
||||
from markdown2 import markdown as _markdown
|
||||
from .html_utils import sanitize_html
|
||||
import frappe
|
||||
from frappe.utils.identicon import Identicon
|
||||
|
|
@ -442,7 +441,7 @@ def watch(path, handler=None, debug=True):
|
|||
observer.join()
|
||||
|
||||
def markdown(text, sanitize=True, linkify=True):
|
||||
html = _markdown(text)
|
||||
html = frappe.utils.md_to_html(text)
|
||||
|
||||
if sanitize:
|
||||
html = html.replace("<!-- markdown -->", "")
|
||||
|
|
|
|||
|
|
@ -938,10 +938,19 @@ def to_markdown(html):
|
|||
|
||||
return text
|
||||
|
||||
def to_html(markdown_text):
|
||||
def md_to_html(markdown_text):
|
||||
extras = {
|
||||
'fenced-code-blocks': None,
|
||||
'tables': None,
|
||||
'header-ids': None,
|
||||
'html-classes': {
|
||||
'table': 'table table-bordered'
|
||||
}
|
||||
}
|
||||
|
||||
html = None
|
||||
try:
|
||||
html = markdown(markdown_text)
|
||||
html = markdown(markdown_text, extras=extras)
|
||||
except MarkdownError:
|
||||
pass
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ from frappe.model.db_schema import DbManager
|
|||
from frappe.installer import get_root_connection
|
||||
from frappe.database import Database
|
||||
import os, subprocess
|
||||
from markdown2 import markdown
|
||||
from bs4 import BeautifulSoup
|
||||
import jinja2.exceptions
|
||||
|
||||
|
|
@ -182,7 +181,7 @@ class HelpDatabase(object):
|
|||
|
||||
relpath = self.get_out_path(fpath)
|
||||
relpath = relpath.replace("user", app)
|
||||
content = markdown(content)
|
||||
content = frappe.utils.md_to_html(content)
|
||||
title = self.make_title(basepath, fname, content)
|
||||
intro = self.make_intro(content)
|
||||
content = self.make_content(content, fpath, relpath, app)
|
||||
|
|
|
|||
|
|
@ -223,13 +223,12 @@ def get_page_info(path, app, start, basepath=None, app_path=None, fname=None):
|
|||
|
||||
def setup_source(page_info):
|
||||
'''Get the HTML source of the template'''
|
||||
from markdown2 import markdown
|
||||
jenv = frappe.get_jenv()
|
||||
source = jenv.loader.get_source(jenv, page_info.template)[0]
|
||||
html = ''
|
||||
|
||||
if page_info.template.endswith('.md'):
|
||||
source = markdown(source, extras=["fenced-code-blocks"])
|
||||
source = frappe.utils.md_to_html(source)
|
||||
|
||||
if not page_info.show_sidebar:
|
||||
source = '<div class="from-markdown">' + source + '</div>'
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ from frappe import _
|
|||
|
||||
from frappe.modules import get_doc_path
|
||||
from frappe.utils import cint, strip_html
|
||||
from markdown2 import markdown
|
||||
from six import string_types
|
||||
|
||||
no_cache = 1
|
||||
|
|
@ -169,7 +168,7 @@ def convert_markdown(doc, meta):
|
|||
if field.fieldtype=='Text Editor':
|
||||
value = doc.get(field.fieldname)
|
||||
if value and '<!-- markdown -->' in value:
|
||||
doc.set(field.fieldname, markdown(value))
|
||||
doc.set(field.fieldname, frappe.utils.md_to_html(value))
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_html_and_style(doc, name=None, print_format=None, meta=None,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue