所以繼續搜尋,終於找到另外一套google推出的google-code-prettify,可用很簡單的方式讓程式碼高亮,而且可自行調整的地方很多喔!
p.s. 因為google code快要關了,這個專案也改到GitHub去,所以如果底下連結找不到的話,在GitHub上也有喔!
首先先來看看效果吧~底下所顯示的樣式是我自訂過後的~
HTML:
<html>
<head>
<style type="text/css">
body {
    font-size: 1em;
}
</style>
</head>
<body>
<div>hi</div>
</body>
</html>
Javascript:
<script type="text/javascript">
alert('Hello World!');
</script>
C#:
using System.Text;
public class Hello(string name) {
    Console.Write(string.Format("Hello {0}", name));
    //這是註解
    //還可以標記特別區塊
}
很讚吧!!底下就直接拿我的設定出來說明安裝方式啦~
首先一樣到設定裡面的「範本」,按下編輯HTML
接著往下拉,找到</body>標籤,在上方加入:
<script src='https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?autoload=true&lang=basic&lang=css&lang=sql' />
<script src='//ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js' />
<script type='text/javascript'>
    $("pre").each(function(){
        $(this).addClass('prettyprint').addClass('linenums');
    });
</script>
說明:
第一行script就是載入prettify的autoloader,後面的參數,lang表示要載入額外的handler(google預設支援html系列、c系列),這裡有說明,如果要使用不同的style,也可以看這裡選擇你要的樣式,在後面加上skin=xxx即可。
第一行script就是載入prettify的autoloader,後面的參數,lang表示要載入額外的handler(google預設支援html系列、c系列),這裡有說明,如果要使用不同的style,也可以看這裡選擇你要的樣式,在後面加上skin=xxx即可。
第二行是載入jquery,因為我們要用底下的js程式碼,幫我們自動在<pre>區塊加上程式碼高亮和行號,這樣就不用每次都還要自己手動輸入class="prettyprint linenums"了
如果你在裡面看到'或是&之類奇怪的文字,不要認為那是我打錯出現亂碼了,是因為Blogger的HTML樣板編輯器裡面,這些都是值中值,所以一些特殊符號必須要經過html encode才行,這樣解析出來解碼後才正常,不然會跟xml本身的屬性搞混。
接著往上拉,在</head>之前加入底下:
然後存檔,這樣就完成設定囉!!以後如果要加入程式碼的話,只要在編輯文章裡面,使用編輯HTML方式,如下加入:
但如果是預設不支援的話,就必須手動加上class才行,像是basic、css、sql..詳細支援請看這裡。
用法如下:
如果支援列表裡面有支援的話,就可以正確顯示了。
如果不喜歡樣式的話,也可以自己調整上面的CSS,讓他變成你喜歡的模樣就好囉~
如果你在裡面看到'或是&之類奇怪的文字,不要認為那是我打錯出現亂碼了,是因為Blogger的HTML樣板編輯器裡面,這些都是值中值,所以一些特殊符號必須要經過html encode才行,這樣解析出來解碼後才正常,不然會跟xml本身的屬性搞混。
接著往上拉,在</head>之前加入底下:
<style type='text/css'>
/*程式碼高亮設定*/
/*main box*/
.pre-highborder{
 border: 1px solid #ff0000;
 padding: 3px 3px 3px 0;
}
pre.prettyprint, code.prettyprint {
 border-radius: 8px;
 -moz-border-radius: 8px;
 -webkit-border-radius: 8px;
 padding: 5px;
 background-color: #eee !important;
 box-shadow: 0 0 5px #999;
 -moz-box-shadow: 0 0 5px #999;
 -webkit-box-shadow: 0 0 5px #999;
}
/*font*/
pre span, code span {
 font-family: 'monospace', 'Courier New', 'Microsoft JhengHei', sans-serif !important;
 font-size: 12px !important;
}
/*each line*/
li.L0, li.L1, li.L2, li.L3, li.L4, li.L5, li.L6, li.L7, li.L8, li.L9 {
 margin: 0 !important;
 padding: 2px 0 2px 4px !important;
 list-style-type:decimal !important;
 border-left: 1px solid #999;
}
/*even line*/
li.L1, li.L3, li.L5, li.L7, li.L9 {
 background-color: #f6f6f6 !important;
}
/*odd line*/
li.L0, li.L2, li.L4, li.L6, li.L8 {
 background-color: #FFF !important;
}
/*line-number background color*/
ol.linenums {
 background-color: #eee;
 margin-left: 10px;
}
</style>
然後存檔,這樣就完成設定囉!!以後如果要加入程式碼的話,只要在編輯文章裡面,使用編輯HTML方式,如下加入:
<pre> <!--這裡就可以放你的程式碼了--> </pre>這樣就行啦~方便!!
但如果是預設不支援的話,就必須手動加上class才行,像是basic、css、sql..詳細支援請看這裡。
用法如下:
<pre class="lang-sql">
select * from [user] where user_name = 'Mary'
</pre>
如果支援列表裡面有支援的話,就可以正確顯示了。
如果不喜歡樣式的話,也可以自己調整上面的CSS,讓他變成你喜歡的模樣就好囉~

 
沒有留言:
張貼留言