def comment_markdown(source, **kwargs): # See. http://www.freewisdom.org/projects/python-markdown/Extra # 面倒くさいからHTMLの許可を廃止する kwargs["safe_mode"] = "replace" # >>1みたいなのをそのまま投稿するために置き換え source = re.sub(r">>(\d+)", r"\>\>\1", source) result = _markdown(source, extensions=["extra"], **kwargs) return result
def markdown(text, *args, **kwargs): """ Parse text with markdown library. :param text: - text for parsing; :param args: - markdown arguments (http://freewisdom.org/projects/python-markdown/Using_as_a_Module); :param kwargs: - markdown keyword arguments (http://freewisdom.org/projects/python-markdown/Using_as_a_Module); :return: - parsed result. """ return Markup(_markdown(text, *args, **kwargs))
def markdown(txt): """Convert markdown to HTML.""" # Convert code inside ```s (as these are not handled by the markdown library tsp = txt.split("```") out = "" for t, code in zip(tsp[::2], tsp[1::2] + [""]): code = code.strip().split("\n") if code[0] in ["console", "bash", "python", "c", "cpp"]: code = code[1:] code = "\n".join(code) out += f"{t}<pre><code>{code}</code></pre>" return _markdown(out)
def markdown(text, work_fullpath = None, static_file_prefix = None): if work_fullpath: try: text = convert_latex_code(text, save_to_prefix=work_fullpath) except: print "it seems that latex or dvipng doesn't works well on your box" if static_file_prefix: text = convert_static_file_url(text, static_file_prefix) text = trac_wiki_code_block_to_markdown_code(text) return _markdown(text)
def markdown(source, **kwargs): # See. http://www.freewisdom.org/projects/python-markdown/Extra # 面倒くさいからHTMLの許可を廃止する kwargs["safe_mode"] = "replace" result = _markdown(source, extensions=["extra"], **kwargs) # result = result.replace('<pre><code', '<pre class="code"><code') # # 表示を著しく変更可能なアトリビュート・タグは排除 # # 多分markdownでほとんど削除されているが念のため # result = re.sub(r"""style\s*=\s*['"]?.*['"]?""", '', result) # result = re.sub(r"""<\s*basefont.*>(.*)<\s*/basefont\s*>""", '\1', result) # result = re.sub(r"""<\s*font.*>(.*)<\s*/font\s*>""", '\1', result) # result = re.sub(r"""<\s*iframe.*>(.*)<\s*/iframe\s*>""", '\1', result) return result
def markdown(source): md = _markdown(source.decode('utf-8'), extensions=[ 'markdown.extensions.extra', 'markdown.extensions.admonition', 'markdown.extensions.codehilite', 'markdown.extensions.meta', 'markdown.extensions.toc', 'markdown.extensions.wikilinks' ], extension_configs = { 'markdown.extensions.codehilite': { 'css_class': 'code' } }) return md
def markdown(source): md = _markdown( source.decode("utf-8"), extensions=[ "markdown.extensions.extra", "markdown.extensions.admonition", "markdown.extensions.codehilite", "markdown.extensions.meta", "markdown.extensions.toc", "markdown.extensions.wikilinks", ], extension_configs={"markdown.extensions.codehilite": {"css_class": "code"}}, ) return md
def markdown(attr): snippet_hash_map = {} while "|||" in attr: attr, most_recent_snippet = parse_code_block(attr) snippet_hash = hashlib.md5(most_recent_snippet.encode("utf-8")).hexdigest() snippet_hash_map[snippet_hash] = most_recent_snippet print(snippet_hash) attr = attr.replace(most_recent_snippet, snippet_hash) if not attr.endswith(snippet_hash): fancier_snippet = snippet_hash + """\n<div class="entry-body-wrapper">""" attr = attr.replace(snippet_hash, fancier_snippet) marked_down = _markdown(attr) for key, value in snippet_hash_map.items(): marked_down = marked_down.replace(key, value) return marked_down
def markdown(text): return _markup(_markdown(text))