Пример #1
0
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
Пример #2
0
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))
Пример #3
0
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)
Пример #4
0
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)
Пример #5
0
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
Пример #6
0
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
Пример #7
0
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
Пример #8
0
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
Пример #9
0
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
Пример #10
0
def markdown(text):
    return _markup(_markdown(text))