Ira*_*mbi 2 html markdown jupyter-notebook
我试图了解 Markdown 与 HTML 的关系。如果我理解正确,两者都是标记语言(描述将格式元素添加到纯文本文档的语言的总称)。Markdown将纯文本转换为 HTML。
我的理解是Markdown 是 HTML 的超集:
Markdown 是一种流行的标记语言,它是 HTML 的超集。
我假设它是一个严格或适当的 superset。借鉴并行是什么意思时,一种语言是另一个平行集?,我将其解释为每个有效的 HTML 程序也是有效的 Markdown 程序(例如,在 Jupyter Notebook Markdown 单元格中可以理解 HTML),但反之则不然。
对我来说似乎矛盾的是,如果 Markdown 是 HTML 的超集,那么为什么Markdown 不能做 HTML 可以做的所有事情(我认为相反的情况是正确的,因为超集扩展了语言而不删除或更改任何现有功能。另外,我希望 HTML 是 Markdown 的超集,因为HTML 更具表现力,而且大多数人更难以阅读。
该文档具有误导性。Markdown本身不是 HTML 的超集。原始 Markdown 项目的文档非常清楚:
Markdown 不是 HTML 的替代品,甚至不是 HTML 的替代品。它的语法非常小,仅对应于 HTML 标签的一个非常小的子集。这个想法不是创建一种语法,使插入 HTML 标签变得更容易。在我看来,HTML 标签已经很容易插入了。Markdown 的想法是让阅读、编写和编辑散文变得容易。HTML 是一种发布格式;Markdown 是一种书写格式。因此,Markdown 的格式化语法仅解决了可以以纯文本形式传达的问题。
今天有多种 Markdown 版本,其中许多添加了原始版本中不存在的功能,如表格和语法突出显示的代码块。这不会改变 Markdown 涵盖 HTML 子集的基本事实。
(从技术上讲,Markdown 也不是 HTML 的子集。*
例如,在 HTML 中没有特殊含义。未转换的 Markdown 文档可能是格式良好的 HTML,但语义非常不同。但 Markdown 语法映射到 HTML 的子集标签。)
但是,原始文档中的下一段说:
对于 Markdown 语法未涵盖的任何标记,您只需使用 HTML 本身。无需为它作序或定界以表明您正在从 Markdown 切换到 HTML;你只需使用标签。
由于您可以在 Markdown 中直接使用 HTML,因此可以将其视为 HTML 的超集。例如,这是有效的 Markdown:
# My awesome title
I <em>really</em> like coffee
Run Code Online (Sandbox Code Playgroud)
如果你通过一个符合标准的 Markdown 处理器传递一个 HTML 文档,它应该原封不动地从另一边出来。能够在 Markdown 中直接使用 HTML 与在 C++ 中直接使用 C 非常相似。这可能就是 Jupyter 文档的意思。
归档时间: |
|
查看次数: |
1257 次 |
最近记录: |