【问题标题】:markdown="1" not working inside the p tagmarkdown="1" 在 p 标签内不起作用
【发布时间】:2019-07-20 09:23:51
【问题描述】:

我正在使用这一行<p id="article-content" markdown="1" >## Download tarball </p>,我得到的实际文本与 HTML 相同。

example

我们将不胜感激。

【问题讨论】:

  • 您是否使用特定的降价插件来呈现您的页面? Markdown 不是 HTML 功能
  • 哦,我明白了。不,我认为这是一个属性。那么你会推荐什么插件? API JSON 降价响应里面有“\n”。我应该如何解决这个问题?

标签: html markdown


【解决方案1】:

markdown="1" 是一种常见的但非标准的方法来改变 Markdown 解析器的行为。具体来说,标准 Markdown 会忽略包裹在块级 HTML 标记中的 Markdown 语法。启用适当的扩展后,将 markdown="1" 作为属性添加到包装 HTML 标记将指示 Markdown 解析器不要忽略标记内的 Markdown 语法。但是,您需要使用包含对该功能的支持的 Markdown 实现,并在默认情况下未启用该功能时启用该功能。

例如,PHP Markdown Extra documents 这个特性是这样的:

Markdown Extra 提供了一种将 Markdown 格式的文本放入其中的方法 任何块级标签。为此,您可以添加一个 markdown 属性到 值为 1 的标签——它给出了markdown="1"——像这样:

<div markdown="1">
This is *true* markdown text.
</div>

markdown="1" 属性将被剥离,&lt;div&gt; 的内容 将从 Markdown 转换为 HTML。最终结果将如下所示 这个:

<div>

<p>This is <em>true</em> markdown text.</p>

</div>

请注意,Markdown 解析器会去除 markdown="1" 属性,因为它不是有效的 HTML 属性。它只对一些“扩展”的 Markdown 解析器有意义。

为了完整起见,原 Markdown 规则 explain 在 HTML 中包装时忽略 Markdown 语法:

请注意,Markdown 格式化语法不会在 块级 HTML 标签。例如,你不能使用 Markdown 风格的 *emphasis* 在 HTML 块内。

既然如此,下面的Markdown:

<div>
This is *true* markdown text.
</div>

通过 Markdown 解析器时会生成以下 HTML:

<div>
This is *true* markdown text.
</div>

【讨论】:

    【解决方案2】:

    没有markdown HTML 属性。也许您正在使用一些应该添加该功能的框架,但它无法正常工作?

    【讨论】:

    • 哦,我明白了。不,我认为这是一个属性。那么你会推荐什么插件? API JSON 降价响应里面有“\n”。我应该如何解决这个问题?
    • 这是一个更大的问题:将 markdown 转换为 HTML 是一项不平凡的操作(正如您可以想象的那样)。谷歌搜索,我在这里至少看到一个:github.com/showdownjs/showdown,但你必须看看你正在使用的框架有什么用。
    猜你喜欢
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    • 1970-01-01
    • 2022-06-22
    • 1970-01-01
    • 2021-09-29
    • 2019-11-22
    • 1970-01-01
    相关资源
    最近更新 更多