令人沮丧的是,对此没有标准。 HTML5 规范提供了一个建议,但随后明确指出它不是正式规范:
没有正式的方法来指示被标记的计算机代码的语言。希望用所使用的语言标记
元素的作者,例如这样语法高亮脚本就可以使用正确的规则,可以使用code
属性,例如通过向元素添加一个前缀为“class
”的类。language-
还提供了一个示例:
以下示例展示了如何使用 pre 和 code 元素来标记代码块。
<pre><code class="language-pascal">var i: Integer; begin i := 1; end.</code></pre>
该示例中使用类来指示所使用的语言。
由于这只是一个建议,所以没有人需要遵循它。我的建议是使用任何不支持 HTML5 建议格式的语法突出显示项目提交错误报告。如果他们不想破坏与现有用户的向后兼容性(可以理解),他们总是可以添加第二种格式(有些项目已经这样做了)。如果每个人都这样做,那么最终每个人都会使用相同的格式,并且当前的差异将不再存在。如果您需要一些论据来解释为什么 HTML5 规范是一种很好的格式,我相当冗长的分析(几年前)可能会有所帮助。
关于“
language-
”前缀的最后一点评论。虽然有些荧光笔确实接受它,但我还没有看到任何需要它的。事实上,大多数 Markdown 实现(支持[非标准]隔离代码块)不会插入前缀。如果您确实想要前缀,那么您可以自己将其添加到 Markdown 中:
```language-python
...
```
我还遇到了一些荧光笔,它们也接受备用前缀:“
lang-
”。我的观点是,建议的前缀部分似乎是最薄弱的环节,我不希望看到那里有任何一致性。当然,正式的规范可以解决这个问题,但在那之前,我们只能使用我们拥有的东西。
插件 etherpad ep_codepad cung cấp tô sáng cú pháp - dựa trên height.js - cho etherpad。