从理论上讲,使用 TeX 或 Markdown 的 Internet 版本是可能的,对吧?(好吧,MD 网站可能没有那么先进,但没关系)。
所以我的问题是双重的:
- 这以前是否曾作为一个想法出现过?
- 有人甚至尝试过实现这一点(也许在网络的早期)
先感谢您。
通过使用标记元语言重新指定 HTML 本身来扩展浏览器以支持除 HTML 之外的其他词汇表的想法是 XML 最初声明的目标。正如 XML 1.0 规范(从 1998 年起)的新闻稿所述
可扩展标记语言 (XML) 是 SGML 的子集,在本文档中有完整描述。它的目标是使通用 SGML 能够在 Web 上以现在可以使用 HTML 的方式提供、接收和处理。XML 被设计为易于实现以及与 SGML 和 HTML 的互操作性。
值得注意的是,SVG 和 MathML 词汇表是使用 XML 作为元语言创建的(例如,分别用于定义 SVG 和 MathML 的元素和属性)。
然而,虽然 XML 在浏览器之外的许多应用程序中取得了成功,但 XHTML2(HTML 被重新指定为具有 XForms 等附加功能的 XML 词汇表)并没有被浏览器采用,并且在 Ian Hickson(谷歌的)领导下的浏览器供应商创建了 WHAT 2004 年工作组开始为我们今天所知的 HTML 5 制定规范过程。HTML 5 允许直接在 HTML 中使用 SVG 和 MathML 词汇表(使用 XML 指定)成为可能。XML 样式的空元素,例如</g>
在那些外来词汇中。
HTML 5 的一个主要特性是它向后兼容现有的大量 HTML 内容库,而 XHTML 则需要采用更有限的 XML 解析规则。例如,HTML 允许标记推断/标记省略、“void”元素(SGML 样式的空元素,没有结束元素标记),以及各种形式的属性最小化
HTML(直到第 4 版)最初是使用 SGML 作为标记元语言指定的,SGML 仍然是唯一能够描述 HTML 解析规则的标记元语言,包括那些用于 HTML 5 的标记元语言(参见我的论文/谈话http:// sgmljs.net/blog/blog1701.html了解详情)。虽然浏览器从来没有原生支持完整的 SGML(被限制为 SGML 应用程序只能处理硬编码的 HTML 词汇表),但使用比浏览器直接支持更多的 SGML 功能的想法在 90 年代的浏览器插件中实现,例如在 SoftQuad 的全景 SGML/HyTime 浏览器(链接自http://www.hytime.org/tools/index.html)。
自定义 Wiki 语法(例如 markdown)与数字文本处理本身一样古老。SGML(至少从 1986 年开始)允许您为此目的定义特定于上下文的令牌替换规则。例如,要使 SGML 将一个简单的 markdown 片段格式化为 HTML,您可以使用这样的 SGML prolog:
<!DOCTYPE p [
<!ELEMENT p - - ANY>
<!ELEMENT em - - (#PCDATA)>
<!ENTITY start-em '<em>'>
<!ENTITY end-em '</em>'>
<!SHORTREF in-p '*' start-em>
<!SHORTREF in-em '*' end-em>
<!USEMAP in-p p>
<!USEMAP in-em em>
]>
<p>The following text:
*this*
will be put into EM
element tags</p>
即使采用今天的技术:
(a) 浏览器能够理解 HTML 以外的多种内容类型,并且只要内容在 HTTP 标头中被正确识别,它们就会呈现内容。(还记得闪电侠吗?)
(b) 特别是,它们识别可以使用您自己选择的任何词汇的 XML,并将调用服务器提供的 XSLT(或 CSS)样式表来呈现 XML 内容。
所以,是的,网络支持多种内容类型的想法并不新鲜。