如何使代码语法高亮度兼容?

时间:2016-01-10 21:13:27

标签: wordpress markdown syntax-highlighting

代码语法高亮显示器有几个标签,例如precode。如何使它们在同一个站点兼容?

# 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编辑器进行在线博客。

1 个答案:

答案 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;。我的观点是,建议的前缀部分似乎是最薄弱的环节,我不希望看到任何一致性。当然,正式的规范会清除这一点,但在此之前,我们只能使用我们的工作。