html - markdown="1" 在 p 标签内不起作用
问题描述
我正在使用这一行<p id="article-content" markdown="1" >## Download tarball </p>
,并且得到与 HTML 相同的文本。
任何帮助将不胜感激。
解决方案
markdown="1"
是改变 Markdown 解析器行为的一种常见方法,尽管它是非标准的。具体来说,标准 Markdown 会忽略包裹在块级 HTML 标记中的 Markdown 语法。启用适当的扩展后,将markdown="1"
作为属性添加到包装 HTML 标记将指示 Markdown 解析器不要忽略标记内的 Markdown 语法。但是,您需要使用包含对该功能的支持的 Markdown 实现,并在默认情况下未启用该功能时启用该功能。
例如,PHP Markdown Extra以这种方式记录该功能:
Markdown Extra 为您提供了一种将 Markdown 格式的文本放入任何块级标签中的方法。您可以通过将
markdown
属性添加到具有值的标签来做到这一点1
——它给出了markdown="1"
——如下所示:<div markdown="1"> This is *true* markdown text. </div>
该
markdown="1"
属性将被剥离,并且<div>
's 的内容将从 Markdown 转换为 HTML。最终结果将如下所示:<div> <p>This is <em>true</em> markdown text.</p> </div>
请注意,Markdown 解析器会删除该markdown="1"
属性,因为它不是有效的 HTML 属性。它只对一些“扩展”的 Markdown 解析器有意义。
为了完整起见,原始的 Markdown 规则解释了在 HTML 中包装时会忽略 Markdown 语法:
请注意,Markdown 格式化语法不会在块级 HTML 标记中处理。例如,您不能
*emphasis*
在 HTML 块中使用 Markdown 样式。
既然如此,下面的 Markdown:
<div>
This is *true* markdown text.
</div>
通过 Markdown 解析器时将生成以下 HTML:
<div>
This is *true* markdown text.
</div>
推荐阅读
- azure - 推荐的 NameIdFormat 用于在 SAML 中使用用户主体名称 (UPN) 作为 NameId
- android - 如何更新电子邮件和更新密码 Firebase 身份验证
- javascript - mongoose find 不等待完成
- python - 基于计数过滤 django annotate query
- c# - 在 C# 中反序列化复杂的 JSON,Twitch Pubsub
- cucumber-java - 如何从自动化测试框架中提取测试用例名称、步骤、预期结果到 Excel
- reactjs - ReactJS如何使用Context API将迭代值从父组件传递给子组件
- macos - 让我们在 MacOS AppKit 上的 SwiftUI 中使用所有可用宽度的按钮
- oracle12c - 运行 oracle 表单时,FRM-91145:运行时过程中出现致命错误:显示缺少 serverArgs 参数
- javascript - 在 vuejs 中提供静态文件并做出反应的 Node-express 应用程序结构