代码语法高亮显示器有几个标签,例如pre
和code
。如何使它们在同一个站点兼容?
# Use PreCode for Windows Live Writer
<pre class="brush: py; toolbar: false;">
...
</pre>
# Install the plugin SyntaxHighlighter Evolved (for WordPress), the source codes will render as:
<div id="highlighter_539499" class="syntaxhighlighter python">
...
</div>
# in markdown, insert code blocks by:
```python
...
```
# will render as:
<pre><code class="python">
...
</code></pre>
# OR
[code lang=python]
...
[/code]
PS:我安装插件 SyntaxHighlighter Evolved ,在Windows Live Writer中使用 PreCode 进行离线博客,使用 WP markdown编辑器进行在线博客。
答案 0 :(得分:2)
令人沮丧的是,没有标准。 HTML5规范提供suggestion,但特别是它不是正式规范的统计数据:
没有正式的方法来表明计算机代码的语言被标记。希望使用所用语言标记
code
元素的作者,例如:因此语法突出显示脚本可以使用正确的规则,可以使用class
属性,例如通过添加以&#34;language-
&#34;为前缀的类到元素。
还提供了一个例子:
以下示例显示了如何使用pre和code元素标记代码块。
<pre><code class="language-pascal">var i: Integer; begin i := 1; end.</code></pre>
在该示例中使用了一个类来表示所使用的语言。
由于这只是一个建议,没有人需要遵循它。我的建议是提交一个错误报告,其中包含任何不支持HTML5建议格式的语法突出显示项目。如果他们不想破坏与现有用户的向后兼容性(可理解),他们总是可以添加第二种格式(某些项目已经完成了这项)。如果每个人都这样做,那么最终每个人都将使用相同的格式,目前的差异将不复存在。如果你需要一些论据来解释为什么HTML5规范是一个好的格式,那么相当冗长的analysis(从几年前开始)可能会有所帮助。
关于&#34; language-
&#34;的最后一句话。字首。虽然有些荧光笔确实接受了它,但我还没有看到任何需要它的荧光笔。事实上,大多数Markdown实现(支持[非标准] fenced-code-blocks)都不插入前缀。如果你真的想要这个前缀,那么你可以自己添加到Markdown:
```language-python
...
```
我还遇到了一些荧光笔也接受了备用前缀:&#34; lang-
&#34;。我的观点是,建议的前缀部分似乎是最薄弱的环节,我不希望看到任何一致性。当然,正式的规范会清除这一点,但在此之前,我们只能使用我们的工作。