【问题标题】:Flask-Markdown / Flask-Misaka filter wrapping Markdown in pre tagFlask-Markdown / Flask-Misaka 过滤器在 pre 标签中包装 Markdown
【发布时间】:2018-08-02 18:26:22
【问题描述】:

我在使用我的 Flask 应用程序时遇到问题。我已经通过 pip 导入了降价扩展。我遇到了 jinja2 {% filter markdown %} 行为怪异的问题。它将我的降价包装在 pre 标签中。但是,如果我将 md 文本直接传递给模板 {{ '#text' | markdown}} 它将正确解析字符串。我猜降价过滤器没有传递给 Jinja,但我不知道如何评估或解决这个问题。有没有其他人遇到过这个?

烧瓶

from flask_mikasa import Mikasa
app = Flask(__name__)
Misaka(app)

@app.route('/')
def index():
    index_content = Index().get(Index.active == 1)
    return render_template('index.html',  index_content=index_content)

MD IN INDEX.HTML

{% filter markdown %}
        <h1>Page for: {{ name }}</h1>

        ![Company Logo][logo]
        # {{ index_content.main_title }}
        {{ index_content.main_text }}

        ## {{ index_content.column1_title }}
        {{ index_content.column1_text }}
        [Read More](http://google.com)

        ## {{ index_content.column2_title }}
        {{ index_content.column2_text }}
        [Read More](http://google.com)

        ## {{ index_content.column3_title }}
        {{ index_content.column3_text }}
        [Read More](http://google.com)

        [logo]:{{ url_for('static', filename='logo.jpg')}}
{% endfilter %}

输出:

html: opening_pre_tag
html: opening_code_tag
&lt;h1&gt;Page for: &lt;/h1&gt;

    ![Company Logo][logo]
    # Header


    ## Content Title 1
    Lorem Ipsum
    [Read More](http://google.com)

    ## Content Title 2
    lorem ipsum
    [Read More](http://google.com)

    ## Content Title 3
    Lorem ipsum... 
    [Read More](http://google.com)

    [logo]:/static/logo.jpg
html: closing_code_tag
html: closing_pre_tag

但是

{{ '#title' | markdown }}

会输出

<h1>title</h1>

【问题讨论】:

    标签: python flask markdown


    【解决方案1】:

    好的,所以 {% filter markdown %} 需要与 markdown 内容在同一选项卡行中。容易修复但令人沮丧的过程。

    {% filter markdown %}
    # Title
    content
    List: 
    * a
    * b
    * c
    {% endfilter %)
    

    对比

    {% filter markdown %}
        # Title
        content
        List: 
        * a
        * b
        * c
    {% endfilter %}
    

    【讨论】:

    • 缩进将文本格式化为代码/根据降价规范预先格式化。它只是不能缩进
    猜你喜欢
    • 2019-05-15
    • 2019-02-25
    • 1970-01-01
    • 2011-06-08
    • 2023-03-21
    • 2015-08-28
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多