gpt4 book ai didi

html - 如果 Markdown 是 HTML 的超集,那为什么它不能做 HTML 能做的所有事情呢?

转载 作者:行者123 更新时间:2023-12-04 12:43:01 26 4
gpt4 key购买 nike

我试图了解 Markdown 与 HTML 的关系。如果我理解正确,两者都是 markup languages (描述将格式化元素添加到纯文本文档的语言的总称)。 Markdown将纯文本转换为 HTML。

我的理解是Markdown is a superset of HTML :

Markdown is a popular markup language that is a superset of HTML.



我假设它是 strict or proper superset .从 What does it mean when one language is a parallel superset of another? 绘制平行线,我将其解释为每个有效的 HTML 程序也是有效的 Markdown 程序(例如,在 Jupyter Notebook Markdown 单元格中可以理解 HTML),但反之则不然。

对我来说似乎矛盾的是,如果 Markdown 是 HTML 的超集,那为什么是 Markdown can't do everything HTML can (我认为相反是因为超集 extends the language without removing or changing any of the existing features 。另外,我希望 HTML 是 Markdown 的超集,因为 HTML is more expressive and more difficult to read by most humans

下面是一个试图模仿 What does “Objective-C is a superset of C more strictly than C++” mean exactly? 中的图 enter image description here

最佳答案

该文档具有误导性。 Markdown 本身不是 HTML 的超集。原始 Markdown 项目的文档 is pretty clear :

Markdown is not a replacement for HTML, or even close to it. Its syntax is very small, corresponding only to a very small subset of HTML tags. The idea is not to create a syntax that makes it easier to insert HTML tags. In my opinion, HTML tags are already easy to insert. The idea for Markdown is to make it easy to read, write, and edit prose. HTML is a publishing format; Markdown is a writing format. Thus, Markdown’s formatting syntax only addresses issues that can be conveyed in plain text.



今天有多种 Markdown 版本,其中许多添加了原始版本中不存在的功能,如表格和语法突出显示的代码块。这不会改变 Markdown 涵盖 HTML 子集的基本事实。

(从技术上讲,Markdown 也不是 HTML 的子集。例如 * 在 HTML 中没有特殊含义。未转换的 Markdown 文档可能是格式良好的 HTML,但语义非常不同。但 Markdown 语法映射到HTML 标签的子集。)

但是,原始文档中的下一段说:

For any markup that is not covered by Markdown’s syntax, you simply use HTML itself. There’s no need to preface it or delimit it to indicate that you’re switching from Markdown to HTML; you just use the tags.



由于您可以在 Markdown 中直接使用 HTML,因此可以将其视为 HTML 的超集。例如,这是有效的 Markdown:
# My awesome title

I <em>really</em> like coffee

如果你通过一个符合标准的 Markdown 处理器传递一个 HTML 文档,它应该原封不动地从另一边出来。能够在 Markdown 中直接使用 HTML 与在 C++ 中直接使用 C 非常相似。这可能就是 Jupyter 文档的意思。

关于html - 如果 Markdown 是 HTML 的超集,那为什么它不能做 HTML 能做的所有事情呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55555417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com