update: 2011/11/07
references:
1. JumpTheBox: Syntax Highlighting Objective C code on your blog
2. How To Add Syntax Highlighter for Blogger/Blogspot
A. 先到 SyntaxHighlighter 網站, 下載最新的版本: 3.0.83
解壓縮後先 copy 三個檔案: shCore.css, shThemeDefault.css
與 shCore.js
---------------------------------------------------------------------------------------------
B. 接著, 到 Scott Densmore: Objective C Syntax Highlighter Reboot 下載:
Objective C Syntax Highlighter , 解壓縮後 copy 檔案: shBrushObjC.js
---------------------------------------------------------------------------------------------
C. 到 google site , 先建立 "協作平台":
---------------------------------------------------------------------------------------------
D. 接著, 新增頁面: 使用檔案櫃當作範本
E. 新增檔案: 上傳剛剛 copy 的 4 個檔案
說明: 此時我們可以得到 4 個去掉 ? 參數後面的檔案連結: (同時將 https 改成 http)
http://sites.google.com/site/lanli0210/blogspot/shBrushObjC.js
http://sites.google.com/site/lanli0210/blogspot/shCore.css
http://sites.google.com/site/lanli0210/blogspot/shCore.js
http://sites.google.com/site/lanli0210/blogspot/shThemeDefault.css
---------------------------------------------------------------------------------------------
F. 開始修改 blogspot: http://sites.google.com/site/lanli0210/blogspot/shBrushObjC.js
http://sites.google.com/site/lanli0210/blogspot/shCore.css
http://sites.google.com/site/lanli0210/blogspot/shCore.js
http://sites.google.com/site/lanli0210/blogspot/shThemeDefault.css
---------------------------------------------------------------------------------------------
blogspot > 設計 > 修改 HTML >
在 <head> 標籤下, 新增以下的內容:
<!-- start for Syntax Highlighting -->
<link href='http://sites.google.com/site/lanli0210/blogspot/shCore.css' rel='stylesheet' type='text/css'/>
<link href='http://sites.google.com/site/lanli0210/blogspot/shThemeDefault.css' rel='stylesheet' type='text/css'/>
<script src='http://sites.google.com/site/lanli0210/blogspot/shCore.js' type='text/javascript'/>
<script src='http://sites.google.com/site/lanli0210/blogspot/shBrushObjC.js' type='text/javascript'/>
<script type='text/javascript'>
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.all();
</script>
<!-- end for Syntax Highlighting -->
---------------------------------------------------------------------------------------------
G. 使用方式:(不知道哪裡出問題, 沒有效果)
在程式碼的外圍加上以下的 <pre> 標籤:
<
pre
class
=
"brush: objc; toolbar: false;"
>
<
pre class="brush: objc; toolbar: false;">- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// Converting RGBA color for use with UIColor
UIColor *colorFromRgba = [UIColor colorWithRed:23/255.0f green:45/255.0f blue:145/255.0f alpha:1];
NSLog(@"converted rgba color is: %@", colorFromRgba);
[self.window makeKeyAndVisible];
return YES;
}</pre>
你好,請問你成功了嗎?
回覆刪除我是本身都有用syntax highlighter 的,但加不了objective c 的支援
網頁出現
”SyntaxHighlighter
Can't find brush for: objc”
的訊息.
你好, 我之前試過, 沒有成功, 後來就沒有再試了.
回覆刪除(可能是 HTML 的 source 我沒有處理好).
有一些資料提供你參考: (請見下方說明)
1. SyntaxHighlighter 3.0.83 after AJAX call "Can't find brush for: BRUSH" fix
http://kitsula.com/Article/SyntaxHighlighter-3.0.83-after-AJAX-call-Cant-find-brush-for-BRUSH-fix
2. alexg / SyntaxHighlighter / issues / #164 - Multiple Brushes Won't with Dynamically added Highlighters post-instantiation — Bitbucket
https://bitbucket.org/alexg/syntaxhighlighter/issue/164/multiple-brushes-wont-with-dynamically
說明:
1. 上面第一個網址:
作者把: shCore.js, shAutoloader.js 與 XRegExp.js 合成一個檔案, 提供下載:
http://kitsula.com/Downloads/mySyntaxHighlighter.js
(亦即, 載入 mySyntaxHighlighter.js 就可以取代 3 個 .js 檔)
另外提到, 網站如果有使用 AJAX 的話, 需要利用 setTimeout 函式,
延緩載入, ex: setTimeout("SyntaxHighlighter.highlight();", 500);
2. 上面第二個網址:
提供暫時的解決方式: 將原本的 shCore.js 檔案打開, 搜尋 brushes 字串,
找到: if (brushes == null) 這一行(我這邊試, 在 648 行), 接著改成以下:
// for temporary solution
brushes = null;
if (brushes == null)
....
亦即: 將變數 brushes 永遠設成 null 值.
P.S. 這二個方式, 我都沒有實際測過, 祝你成功 ~
這個Code的作者已經修正brush找不到的問題,重新下載他的code就可以直接使用,是成功的,謝謝您的教學~
回覆刪除不客氣 ~
回覆刪除