2009/03/30

Ubuntu 中可用的原始碼轉html工具

  寫部落格有時候寫到一些技術文需要附上程式碼,常常看別人網頁中有語法高亮度顯示(syntax highlight),看起來就很美觀。在 Ubuntu (Linux)中應該也有這類工具才對,使用Synaptic (套件管理程式)搜尋了一下列出了幾個供大家參考:  

code2html

最簡單的用法:code2html test1.c test1.html
第一個參數是原始檔名,第二參數是轉換後的 html 檔名,後面再加一個參數 -n 可在每行前面加入行號,如未指定語言,它會自動判斷。

/* test1.c
*/

#include <stdlib.h
#include <stdio.h

int main()
{
printf("Hello, World !\n");
return 0;
}




syntax highlighted by Code2HTML, v. 0.9.1


轉換結果會包含完整的 html tag及多幾行不必要的 created by 資料。請自行刪除。


source-highlight
最簡單的用法:source-highlight -i Hello.java -o test1.html
語法: -i 表示 input file 後面跟著要轉換的原始檔名
-o 表示 output file 後面跟著轉換後的 html 檔名
-n 表示 每行前面加入行號(預設為前補0)

/*
* Hello.java
*/
import java.util.*;
import java.io.*;

public class Hello
{
public void print()
{
System.out.println("Hello");
}

public static void main(String [] argv)
{
Hello hello = new Hello();
System.out.println("Hello ! Java");
hello.print();
}
}

轉換後不含 html tag,可以直接貼上使用。

webcpp
最簡單用法:webcpp infile outfile
參數一為原始檔名,參數二為輸出 html 檔名,後面可再加一個 -l (line number)
讓每行前面加入行號。


以上三種都支援多種語言。 單獨輸入 -h 可以顯示所有參數用法。

如果要網路線上轉換可以使用 http://tohtml.com/ ,還挺好用的。