blog中的代碼加亮

yesky,blogjava的編輯器提供插入代碼的功能,可以把插入的代碼根據語法格式化並加亮,其實他們後臺使用的都是Actipro公司的codehighlighter控件實現的(http://www.actiprosoftware.com/Products/DotNet/CodeHighlighter/PasteCode.aspx),這個控件是免費的,下載的控件裏提供了例子和幫助,所以編輯器裏增加這個功能很簡單。既然沒有提供,我們只能自己想辦法了。可以直接使用上面網址提供的演示功能,把我們的代碼拷貝拷進文本框,然後點擊“Syntax  Hightlight”,就會給出格式化後的html代碼,我們把html代碼前後加上<PRE style="BORDER-RIGHT: #c0c0c0 1px solid; BORDER-TOP: #c0c0c0 1px solid; BORDER-LEFT: #c0c0c0 1px solid; BORDER-BOTTOM: #c0c0c0 1px solid; FONT-FAMILY: Courier New, monospace; BACKGROUND-COLOR: #fffef8">和</pre>,然後拷貝到和訊的編輯器(html編輯狀態),就可以了。試了一下,編輯器好像不支持換行,可以到http://www.zeali.net/codeHighlighter.php處理一下,加上換行符就可以了,其實這個代碼着色器也是連接到actipro公司的網址上處理的,只不過後面又增加了一個處理換行的功能,也很方便:)

給個例子:

1 public class MyResourceHog : IDisposable
2 {
3  // 已經被處理過的標記
4  private bool _alreadyDisposed = false;
5  // 終結器。調用虛擬的Dispose方法
6  ~MyResourceHog()
7  {
8   Dispose( false );
9  }
10
11  // IDisposable的實現
12  // 調用虛擬的Dispose方法。禁止Finalization(終結操作)
13  public void Dispose()
14  {
15   Dispose( true );
16   GC.SuppressFinalize( true );
17  }
18
19  // 虛擬的Dispose方法
20  protected virtual void Dispose( bool isDisposing )
21  {
22   // 不要多次處理
23   if ( _alreadyDisposed )
24    return;
25   if ( isDisposing )
26   {
27    // TODO: 此處釋放受控資源
28   }
29   // TODO: 此處釋放非受控資源。設置被處理過標記
30   _alreadyDisposed = true;
31  }
32 }
33
34

 

codehilighter不支持c和c++,可以用c#來代替。另外還找到一個處理c和c++代碼的程序-cstyle(code style)http://www.freewebs.com/littlebob/cstyle.htm,實現的功能如下:

    c_html 將C/C++語言源代碼轉化成HTML格式的WEB頁面 DEV-C++風格
    c_ubb 將C/C++語言源代碼轉化成UBB碼 DEV-C++風格
    vc_html 將C/C++語言源代碼轉化成HTML格式的WEB頁面 VC風格
    vc_ubb 將C/C++語言源代碼轉化成UBB碼 VC風格
    html_html 將html中的html標籤變成可視的標籤

這個程序也是免費的:)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章