網頁程式碼美化程式 Google Code Prettify

Idea Grapes看到Google牌的網頁程式碼美化程式:Google Code Prettify,在README裡就能看到完整的安裝步驟。

以下是google_adsense.js的源碼範例:

/*
* $Id: google_adsense.js 13029 2007-05-12 06:21:22Z emisjerry $
*
* Copyleft (c) Jerry Chien (http://blog.xuite.net/emisjerry), 2007/04/16
* Inspired by http://blog.xuite.net/misgarlic/weblogic/10337345
*
* 使用方法:
*   在自由欄位裡加入
*   div id="divGoogleAdSenseLinkScript">和
*   div id="divGoogleAdSenseContentScript">
*   與script src="http://emisjerry.googlepages.com/google_adsense.js">
*
* 2007/04/16 V1.0: 在文章內頁自動加入Google AdSense的script.
* 2007/04/22 V1.1: Xuite首頁最底也能顯示AdSense for Content.
*/
var isHomePage = true;  // 是否在Blog首頁?
var isXuite = false, isRoodo = false;

if (document.URL.indexOf(".roodo.") > 0) {  // for Roodo
isRoodo = true;
}
if (!isRoodo || document.URL.indexOf(".xuite.") > 0) {  // for Xuite
isXuite = true;
}

if (/^http:.*/d+.html(#comments|#trackback|)/.test(document.URL)) {
isHomePage = false;  // 在文章內頁; Roodo
//} else if (/^http:.*/d+(#|)(d+)$/.test(document.URL)) {
} else if (/^http://blog.xuite.net/.*/d+(?p=d+)?(#message|#trackback|)/.test(document.URL)) {
// } else if (/^http://blog.xuite.net/.*(d+|d+#.*)$/.test(document.URL)) {
isHomePage = false;  // 在文章內頁; Xuite /url/12345#message
}

if (isXuite || isRoodo) {
if (window.attachEvent) {
window.attachEvent('onload', init);
} else {
window.addEventListener('load', init, false);
}
}

//--FUNCTIONS-----------------------------------------------------------
// findTag('span','titlename', 'text');
function findTag(sTag, sName, sType) {
var aTags = document.getElementsByTagName(sTag);
var reg = new RegExp(sName);
var oResult = "";
for (var i in aTags) {
//alert(aTags[i].className);
if (reg.test(aTags[i].className)) {
if (sType=='text') {
oResult = aTags[i].textContent;
} else {
oResult = aTags[i];
}
break;
}
}
return oResult;
}

//===============================================================
function init() {
if (isXuite) {  // 把AdSense連結加到表頭
var _oTag1 = document.getElementById("divAdSenseLinkScript");
if (_oTag1 != null) {
_oTag = findTag("div", "description");
_oTag.innerHTML += _oTag1.innerHTML;
}
var _oTag2 = document.getElementById("divAdSenseContent2Script");
if (_oTag2 != null) {
document.getElementById("mid").innerHTML += _oTag2.innerHTML;
} else if (_oTag1 != null) {  // 沒有content2, 但有content
//!!document.getElementById("mid").innerHTML += _oTag1.innerHTML;
}
}
if (!isHomePage) {  // 在文章內頁裡加入文章底部的AdSense
var _oDiv = document.getElementById("divAdSenseContentScript");
if (_oDiv != null) {
if (isXuite) { // 把AdSense for Content加到文章底部
var _oTag = findTag("div", "blogbody");
_oTag.innerHTML += _oDiv.innerHTML;
} else if (isRoodo) {
var _oTag = findTag("div", "posted");
_oTag.innerHTML = _oDiv.innerHTML + _oTag.innerHTML;
}
}
}
}

參考:

dp.SyntaxHighlighter:在網頁顯示美觀的程式碼

網頁顯示程式碼的美容師:CodePress

您可能也會有興趣的類似文章

簡睿

服務於軟體業的資訊老兵。興趣廣泛,學習力佳,樂於分享所知所學。

您可能也會喜歡…

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *