Hexo 使用的 Markdown CodePage 代码区域没有高亮,而且没有行号。
常用的 ` 来框起一个单词或短句,Markdown 最终会转化成
<pre></pre>
或
<code></code>
。
对于成段的代码块,使用这种方式后代码区域显示出来的没有语法高亮,也没有行号,一点美感都没有,查询Markdown语法,发现了另外一种格式:
{% raw %}
{% codeblock [lang:language] [title] [url] [link text] %}
code snippet
{% endcodeblock %}
{% endraw %}
其中: - lang 语言 - title 代码块上方的标题 - url 为本段代码指定一个url,用于下载或引用 - link text url显示的文字
以下三个用于控制行号显示: - start:# 从第#行开始显示行号 - mark:#,#-# 在第#行,以及第#-#行显示行号 - linenos:false true 所有行都显示行号,false所有行都不显示行号
对于 lang,这里列出了支持的语言以及对应的字段名,如java,cpp等,以上字段均为可选字段,可以使用默认值。
Java代码实例
titleexample.compublic static void hashMap() { Map map1 = new LinkedHashMap(); map1.put("a3", "aa"); map1.put("a2", "bb"); map1.put("b1", "cc"); Iterator keysIterator = map1.values().iterator(); while (keysIterator.hasNext()) { System.out.println(keysIterator.next()); } }