Prettify 源代碼語法著色使用總結
作者:qiujuer
開源庫:Genius-Android
========================================================
Prettify 是什么?
Prettify 是一款 HTML 代碼高亮插件,可以讓你的網站代碼顯示更具特色。在我的使用中它不是最優秀的,但是卻是非常不錯的。光說沒用要給大家看看才行。
ShowTime


這兩個是經過一定自定義后的顯示界面,其不用自定義一樣好看,自定義一般來說就是更改背景與邊框。下面講講怎么弄弄;實踐出真知。
CodeTIme
1.建立HTML文件,添加 pre 節點,節點中弄些 HTML 代碼。
<pre>
// 異步方式
// 結果以事件回調方式返回
Command command = new Command("/system/bin/ping",
"-c", "4", "-s", "100",
"www.baidu.com");
Command.command(command, new Command.CommandListener() {
@Override
public void onCompleted(String str) {
Log.i(TAG, "onCompleted:\n" + str);
}
@Override
public void onCancel() {
Log.i(TAG, "onCancel");
}
@Override
public void onError() {
Log.i(TAG, "onError");
}
});
</pre> 這時運行:

這個時候是沒有任何的樣式的,現在開始加入代碼美化。
2.首先引入 css 樣式和 js :
<link href="prettify.min.css" rel="stylesheet">
<script src="run_prettify.min.js"></script> 3.然后給 pre 節點加上一個 class 屬性:
<pre class="prettyprint lang-java"> ... </pre>prettyprint 的作用是申明使用 Prettify 代碼高亮插件,當加上該屬性時 Prettify JS 會掃描當前頁面包含有該屬性的 pre 然后使用代碼高亮美化;當然同時也是為了引入對應的css樣式。后面的 lang-java 是給 Prettify 插件指定當前 pre 的內容格式, Prettify 將會根據其屬性掃描其中對應的節點進行上色。比如 指定 lang-html 那么其將會掃描其中,發現 html body div 等將會進行上色處理,而指定 lang-java 將會更加 Java 的特性進行對應的上色處理。當然其并不是必須的,你可以指定 lang-other 也可以不指定該樣式。
現在看看樣式咋樣;

還不錯吧?
當然還可以自定義一定的樣式,具體可以修改 css 文件;這里不深入介紹。可以來個簡單的,比如邊框和背景改改:
這里咱們就直接在 Html 頁面使用:
Head 部分加入;
<style>
pre.prettyprint
{
border: 2px dashed #888;
background: #ddd;
}
</style>
Show:

這個樣式可以了吧?甚至可以背景直接為黑色 這個也是可以的。
到這里其實使用上已經差不多了;不過還有一些其他的東西。
About:
1.在上面引入 JS 的時候;
<script src="run_prettify.min.js"></script>這里使用的是 run_prettify ,其與 prettify 的區別在哪里?
簡單來說 run_prettify 就是可以自主觸發,在加載完成后自動完成渲染工作。假如使用 prettify JS 我們需要在頁面加載完成時調用如下方法:
<script>
window.onload = function ()
{
// Load Prettify
prettyPrint();
}
</script>當然 run_prettify 還會去它的代碼托管下載其他的一些 JS 來完成對應的其他語言支持。
2.CDN 加速:
www.bootcdn.cn/prettify/
在這里有最新的 CDN 加速,可以免去把文件 弄到項目中的煩惱,速度也還不錯。
值得一說的是,如果有特殊語言 (lang-)支持的話,還需要包含對應的 JS,比如 CSS:

3.最新的源代碼和使用的 css 與 JS 打包
絕對官方沒有修改過:
4.本次的源碼下載:
========================================================
作者:qiujuer
開源庫:Genius-Android
========================================================
本文由用戶 MathewHanle 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!