最近在 google code 上看到 google code prettify,基本上這個工具做的事和 SyntaxHighlighter 是相同的,不過相對來說,SyntaxHighlighter 是比 google code prettify 來得小而功能比較好,也比較模組化(把每個語言分開,不過這也代表安裝設定較為麻煩)。其實如果只是要讓 po 出來的程式碼比較好看的話,用那個都可以,但看在 google 的面子上,用 google code prettify 可能還是比較好的選擇,而且我應該也不會用到 SyntaxHighlighter 其他的功能,所以就來改用 google code prettify 好了。
要在 blogger 上用 SyntaxHighlighter 有個大問題,SyntaxHighlighter 預設要把程式碼放在 textarea 中再用 class 來標記,但在 blogger 上預設情況下會為 textarea 中每行的結尾加上<br /> ,如果直接把 SyntaxHighlighter 用在 blogger 上就會在每一行後看到 <br /> 了。有人改了 SyntaxHighlighter 來避這個問題,但其實不用去修改 SyntaxHighlighter 本身的程式,只要在把程式丟給 SyntaxHighlighter 前先把 <br /> 濾掉,像這樣:
for(var i=0,elements=document.getElementsByName('code');i<elements.length;++i) {
var element = elements[i];
element['innerHTML'] = element['innerHTML'].replace(/<br\s*\/?>/gi,'\n');
}
dp.SyntaxHighlighter.HighlightAll('code',false,false);












