程式碼總算是可以美美地貼在 blog 上了

摘要:程式碼總算是可以美美地貼在 blog 上了

flyup最近發表了高亮度語法顯示-在天空部落應用,總算是解決了我長久以來想在 blog 上貼程式碼的困擾。
flyup 利用 googlepages 可儲存 100MB 的檔案空間,將 SyntaxHighlighter 的 js/css/flash 檔,直接放到 googlepages 上,再利用 blog 可自定欄位的方式,巧妙完成連結,真是太棒了
我把 SyntaxHighlighter 的所有 js 組成一個大檔 shAll.js,這樣在引用時,就不用花那麼多行,應該可以加快一點速度。以下是測試貼 C# 的code:

  1. private void timer1_Tick(object sender, EventArgs e)  
  2. {  
  3.   if(iY==0)  
  4.     this.label1.Text = iX.ToString();  
  5.   else  
  6.     this.label1.Text=iX.ToString() + " × " + iY.ToString() + " = " + (iX*iY).ToString();  
  7.   {  
  8.     player.Stream = Number[iX];  
  9.     player.Stream.Position=0;  
  10.     player.Play();  
  11.     Thread.Sleep(750);  
  12.     player.Stream = Number[iY];  
  13.     player.Stream.Position = 0;  
  14.     player.Play();  
  15.   }  
  16.   iY=iY+1;  
  17.   if(iY>9)  
  18.   {  
  19.     iY=0;  
  20.     iX=iX+1;  
  21.     if(iX>9)iX=2;  
  22.   }  
  23. }  
    private void timer1_Tick(object sender, EventArgs e)
    {
      if(iY==0)
        this.label1.Text = iX.ToString();
      else
        this.label1.Text=iX.ToString() + " × " + iY.ToString() + " = " + (iX*iY).ToString();
      {
        player.Stream = Number[iX];
        player.Stream.Position=0;
        player.Play();
        Thread.Sleep(750);
        player.Stream = Number[iY];
        player.Stream.Position = 0;
        player.Play();
      }
      iY=iY+1;
      if(iY>9)
      {
        iY=0;
        iX=iX+1;
        if(iX>9)iX=2;
      }
    }

使用時,用 textarea 指定 name="code" class="原始碼類型" rows="row數" cols="col數" 或是使用 pre 指定 name="code" class="原始碼類型" 即可產生原始碼高亮度顯示的效果。不過,我發現,在天空部落使用時,還有一個問題,就是自動斷行的判斷。


目前我只有試出,在使用一般編輯器下並關閉自動斷行時,可以產生較佳效果,不然,可能會多換行或是多出 br 的 tag。