Code highlight for BlogEngine.net

Saturday, 13 September 2008 06:17 by admin

之前有寫一個簡單的 Code Highlight CSModule ,現在轉個方向,套用在 BlogEngine.Net 上,雖然 BE.Net 原本已經有內建一個 CodeFormatterExtension ( 作者: www.manoli.net ),不過好像支援的語言很少,而且出來的格式也不合我胃口,既然已經寫好一個 CSModule 了,要套用在 BE.Net 上其實修改的很少

最主要就是把呼叫的方法改了一下

public CodeHighlightExtension()
    {
        Page.Serving += new EventHandler<ServingEventArgs>(ServingContent);
        Post.Serving += new EventHandler<ServingEventArgs>(ServingContent);
    }

    private void ServingContent(object sender, ServingEventArgs e)
    {
        e.Body = SourceCodeMarkup(e.Body);
    }

不過在 BE.Net 出來的原始碼和 CS 不太一樣,如果用原本的 language="xml" 會又要處理 " 的問題,乾脆改成 language=xml 就好,另外 BE.Net 換行會有 <br />\r\n ,這樣會造成一行變兩行,所以送入轉格HTML前,先把 <br />\r\n 轉成 \n 就好,沒幾下就完成了這個 BlogEngine.NET Extension

另外發現有些人會忘了改 web.config ,乾脆先把預設值內建在程式裡,這樣不改 web.config 也能用了

下載: http://update.to/be/codehighlight/CodeHighlight_10.zip
專案網頁: http://update.to/be/codehighlight/

Comments (1) -

March 16. 2009 10:20

flybirdmf

great thanks, it works when set [code language=c#]"code body hear"[/code],without "" for language name.

flybirdmf

Pingbacks and trackbacks (2)+