Markdown 代码高亮

写完两篇才发现,别人的代码部分有高亮显示,还有行号,为什么我的没有呢

Code block

刚刚接触Markdown,被他独特的写作方式所吸引,但毕竟认识时间不长,使用起来难免有些陌生。对于Markdown中的代码块,可以使用

  • ` `
  • <pre> </pre>
  • ```
  • (四个空格或一个Tab)

等方式来展示代码块

常用的` `来框起一个单词或短句,Markdown最终会转化成<pre></pre><code></code>

对于成段的代码块,可以使用其他的几种方式,不过显示出来的没有语法高亮,也没有行号,一点美感都没有,查询Markdown语法,发现了另外一种格式:

1
2
3
4
5
{% codeblock [lang:language] [title] [url] [link text] [start:#] [mark:#,#-#] [linenos:false] %}

code snippet

{% endcodeblock %}

其中

  • lang 语言
  • title 代码块上方的标题
  • url 为本段代码指定一个url,用于下载或引用
  • link text url显示的文字

以下三个用于控制行号显示

  • start:#第#行开始显示行号
  • mark:#,#-#第#行,以及第#-#行显示行号
  • linenos:false true 所有行都显示行号,false所有行都不显示行号

对于lang这里列出了支持的语言以及对应的字段名,如java,cpp等,以上字段均为可选字段,可以使用默认值,如

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class OOM_Demo {

public static void main(String[] args) {

final int length = 100 * 1024 * 1024;

try{
byte[] b = new byte[length];
for(int i=0;i<length;i++){
b[i] = (byte) i;
}

String s = new String(b);
System.out.println(s);

}catch(OutOfMemoryError e){
e.printStackTrace();
// System.out.println("OutOfMemoryError");
}
}
}

Markdown代码块中的MD语法

比如上文中显示codenlock语法那段,如果直接用多个 ` 或 codeblock框起来,结果提交后显示成了

<notexitle>0</notextile>

这时,需要采用

这里,感谢大神们的回复