Markdown - 为什么不建议在 Markdown 文档中插入原始 html 元素?

frh*_*yme 3 html markdown

我以前都是用markdown写文章的。

当我在 markdown 文档中插入 html 元素时,markdownlint 告诉我该文档违反了 markdown 规则“MD033 - 内联 html”。

只要在 Markdown 文档中使用原始 HTML,就会触发规则“MD033 - 内联 html”。

但是,我不知道为什么 Markdown 文档中不允许内联 html 元素。

我在谷歌上搜索过,但找不到。

如果读过这篇文章的人知道这一点,请告诉我。

总是谢谢。

Way*_*lan 5

Linters 鼓励最佳实践,并且通常比语法规则和/或解析器/编译器更严格。维基百科指出,“linter 是一种静态代码分析工具,用于标记编程错误、错误、风格错误和可疑结构。”

\n

虽然编程错误会导致事情崩溃,但风格错误可能只能通过查看文档才能识别。因此,组织通常会定义一个风格指南,要求项目的所有贡献者都遵循。

\n
\n

风格指南或风格手册是一套文档写作、格式化和设计的标准。...风格指南建立了标准的风格要求,通过确保文档内和多个文档之间的一致性来改善沟通。由于实践各不相同,风格指南可能会规定标点符号、大写、引用来源、数字和日期格式、表格外观和其他领域使用的标准。风格指南可能需要某些使用、语言构成、视觉构成、正字法和版式方面的最佳实践。

\n
\n

显然,linter 非常适合标记任何不符合组织风格指南的内容。

\n

也就是说,有些人可能只使用 linter 来标记编程错误和错误,而不关心“风格错误”,这不会改变输出的行为。例如,Markdown linter 可能要求标题和其后的段落之间有一个空行,而 Markdown 并不严格要求在该位置有一个空行。如果您没有需要空行的样式指南,那么您可能不希望 linter 强制执行该空行。

\n

因此,linter 是可定制的。您可以将 linter 配置为仅运行与您的风格指南匹配的规则子集。有些规则甚至可能接受不同的配置选项,从而改变他们认为可接受的内容。

\n

通常,linter 将默认使用大多数用户通用的配置。然而,每个组织都可能需要进行一些细微的调整。因此,您可能需要配置正在使用的 linter 以满足您的要求。

\n

那么,为什么样式指南(以及扩展的 linter)可能不允许内联原始 HTML?很难说。您需要询问编写这些风格指南的人。不过,我们可以做出一些猜测。

\n

样式指南可能还要求仅对文档文本执行非常基本的内联样式。也许任何允许的事情都可以通过 Markdown 语法完全实现。在这种情况下,不允许内联原始 HTML 的 linter 规则是强制执行样式指南要求的简单有效的方法。

\n

另一个考虑因素是 Markdown 本身背后的哲学。正如 Markdown 的创建者所解释的

\n
\n

Markdown 旨在尽可能易于阅读和易于编写。

\n

然而,可读性是最重要的。Markdown 格式的文档应该可以按原样作为纯文本发布,而不会看起来像是用标签或格式说明标记的\xe2\x80\x99s。

\n
\n

原始 HTML 标签偏离了这一目标,因此许多人认为它们在 Markdown 文档中是不可取的。我怀疑这就是 linter 默认为这种行为的原因,但您需要询问 linter 的开发人员来确定。

\n

当然,如果这不能满足您的需求,或者您不太关心可读性,那么您可以根据需要在文档中包含任意数量的原始 HTML 标签。但是,您还需要自定义配置您使用的任何 linter,以便它忽略规则“MD033”。

\n