首先一樣到後台的head裡將SyntaxHighlighter相關外掛移除,並加上jsdelivr提供的Code Prettify套件
<script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js"></script> <style> li.L0, li.L1, li.L2, li.L3, li.L5, li.L6, li.L7, li.L8 { list-style-type: decimal !important } .prettyprint { overflow: auto } </style>
另外這邊也有提供一些skin可供替換,請參考以下連結,使用方式為在run_prettify.js後面加上「?skin=套件名稱」,比如MH目前比較中意sons-of-obsidian,則改為「run_prettify.js?skin=sons-of-obsidian」
https://raw.githack.com/google/code-prettify/master/styles/index.html
使用方式則為
<pre class="prettyprint">你的程式碼貼這邊</pre>
範例如下
#include <stdio.h> int main(void) { printf("Hello World!\n"); return 0; }
但當程式碼很長時,會不太容易指出哪段,所以通常會標上行號,使用方式是在pre class裡加上「linenums」,例如「pre class="prettyprint linenums"」,而且值得一題的是複製程式碼的時候不會複製到行號
範例如下
#include <stdio.h> int main(void) { printf("Hello World!\n"); return 0; }
如果行號不想從 1 開始的話,可以在「linenums」後面加上「:起始行號」,例如「pre class="prettyprint linenums:123"」
範例如下
#include <stdio.h> int main(void) { printf("Hello World!\n"); return 0; }
另外由於< >與&等一些常用符號會因為HTML關係無法正常顯示,建議直接將< >要改成「< >」,&則要改成「&」等xml格式,當然也可以加個<xmp></xmp>將程式碼包起來,範例如下,但這樣在所見即所得與HTML切換時還是會變亂碼,而且在Code Prettify奇數行的行距會變得比較大不知道是不是bug
<pre class="prettyprint"><xmp>你的程式碼貼這邊
</xmp></pre>
沒有留言:
張貼留言