将代码转换为语法高亮的HTML

将代码转换为语法高亮的HTML

GNU Source-highlight

http://www.gnu.org/software/src-highlite/

当前最新版本:2.8

支持语言:C/C++、C#、Bib、Bison、Caml、Changelog、Css、Diff、Flex、Fortran、Html、Java、Javascript、Latex、Logtalk、Log files、Lua、Makefile、M4、ML、Pascal、Perl、PHP、Postscript、Prolog、Python、Ruby、Shell、S-Lang、Sql、Tcl、XML

http://gnuwin32.sourceforge.net/packages/src-highlite.htm

MS-Windows port of Source-highlight

当前最新版本:2.1.2

支持语言:Java、Javascript、C/C++、Prolog、Perl、Php3、Python、Flex、ChangeLog、Ruby、Lua、Caml、Sml、Log

使用方法:

Source-highlight inputfile

VIM

http://www.vim.org/

当前最新版本:7.1

支持语言:所有vim支持的语言

有多套配色方案

使用时输入命令

:TOhtml

或者

:runtime! syntax/2html.vim

也可以从命令行运行,例如处理某个目录下所有js文件的批处理

for %%f in (*.js) do vim -f +"syn on" +"runtime! syntax/2html.vim" +"wq" +"q" %%f

code2html.vbs

windows平台

http://www.emeditor.com/forum/viewtopic.php?t=499

已经无法下载,在http://intl.51.net/blog/index.php?load=read&id=8找到了一个0.6(?)的版本

当前最新版本:0.6.2

支持语言:所有EmEditor支持的语言。脚本直接使用EmEditor语法esy文件,可以在这里找到更多

使用方法:直接运行,或者把需要高亮的源文件拖入此脚本的图标上

个人备份:http://notandums.googlepages.com/code2html_vbs.zip

EmEditor + code2html.vbee

上面那个code2html.vbs直接集成为EmEditor用vbs脚本,windows平台

http://www.emeditor.com/modules/mydownloads/singlefile.php?cid=8&lid=190

http://jp.emeditor.com/modules/mydownloads/singlefile.php?cid=21&lid=201

当前最新版本:0.6.2

支持语言:所有EmEditor支持的语言。脚本直接使用EmEditor语法esy文件,可以在这里找到更多

使用方法:在菜单“宏”里面加载运行,输出的html文件在code2html.vbee所在目录

个人备份:http://notandums.googlepages.com/code2html_macro.zip

Emacs + htmlize.el

http://www.gnu.org/software/emacs/

http://fly.srk.fer.hr/~hniksic/emacs/htmlize.el

htmlize.el 当前最新版本:1.34

支持语言:所有Emacs支持的语言

使用方法:

.emacs(_emacs)文件中添加

(require 'htmlize)

;;(setq htmlize-output-type "css")

;;(setq htmlize-output-type "inline-css")

(setq htmlize-output-type "font")

相关命令共5条

  • M-x htmlize-buffer <Return>
  • M-x htmlize-file <Return>
  • M-x htmlize-many-files <Return>
  • M-x htmlize-many-files-dired <Return>
  • M-x htmlize-region <Return>

Highlight

http://www.andre-simon.de/

当前最新版本:2.6.8

支持语言:ABAP/4、Action Script、Ada 95、Agda、AMPL、Apple Script、ARM、Ascend、ASP、Aspect、Assembler、Amtrix、AutoIt、Avenue、(G)AWK、Bash、BlitzBasic、BibTeX、Bison、BM Script、Boo Script、C、C++、C#、ClearBasic、Clipper、Clips、Cobol、Coldfusion MX、CSS、D、DOS-Batch、Dylan、Eiffel、Erlang、Euphoria、Express、FAME、Felix、Forth、Fortran 77、Fortran 90、Frink、Graphviz、Haskell、Hecl、httpd.conf、Icon、IDL、INI、IO、Informix、Jasmin、Java、JavaScript、JSP、LaTeX、LDIF、Linden Script、Lisp、Lotos、Lotus Script、Lua、Luban、Make、Maya、Matlab、Maple、MaxScript、Miranda、Modelica、Modula 3、MSSQL、Nasal、Nemerle、Nice、NSIS、Oberon、Object Pascal、Object Script、Objective C、OCaml、Octave、Paradox、PATROL、Perl、PHP、Pike、PL/1、PL/SQL、PostScript、POV Ray、PowerPC ASM、Power Shell、Progress、Prolog、Pyrex、Python、Qore、Qu、R、Relax NG Compact、Rexx、RPM Spec、Ruby、SAS、Scala、Scilab、Small、SML、SNMP、Snobol、SMALL、Spin、Squirrel、SuperX++、Tcl/Tk、TTCN 3、Sybase、Verilog、VHDL、Visual Basic、XML

在线demo:http://www.andre-simon.de/doku/highlight/en/highlight_demo.html

有多套配色方案

使用方法:

highlight -i inputfile -o outputfile --inline-css

Enscript

http://www.gnu.org/software/enscript/

当前最新版本:1.6.1

http://www.codento.com/people/mtr/genscript/

当前最新版本:1.6.4

支持语言:ada、asm、awk、bash、c、changelog、cpp、csh、delphi、diff、diffs、diffu、dylan、eiffel、elisp、forth、fortran、fortran_pp、haskell、html、icon、idl、inf、java、javascript、ksh、lua、m4、mail、makefile、matlab、nroff、oberon2、objc、outline、oz、pascal、perl、postscript、pyrex、python、rfc、ruby、scheme、sh、skill、Smalltalk、sml、sql、states、synopsys、tcl、tcsh、tex、vba、verilog、vhdl、vrml、wmlscript、zsh

http://gnuwin32.sourceforge.net/packages/enscript.htm

Enscript for Windows

当前最新版本:1.6.3

支持语言:ada、asm、awk、bash、c、changelog、cpp、csh、delphi、diff、diffs、diffu、elisp、fortran、fortran_pp、haskell、html、idl、inf、java、javascript、ksh、m4、mail、makefile、maple、matlab、modula_2、nested、nroff、objc、outline、pascal、perl、postscript、python、rfc、scheme、sh、skill、sql、states、synopsys、tcl、tcsh、tex、vba、verilog、vhdl、vrml、wmlscript、zsh

enscript本身并不是专门用来给代码着色的,不过用来产生语法高亮的html效果不错

使用方法:

enscript --language=html -Elang --color inputfile -o outputfile.html

Code2HTML

http://www.palfrader.org/code2html/

当前最新版本:0.9.1

支持语言:Ada、Awk、C、C++、HTML、Java、JavaScript、m4、Makefile、Pascal、Perl、SQL、ruby、povray、groff

perl脚本

在线demo:http://www.palfrader.org/code2html/code2html.html

使用方法:

code2html inputfile outputfile

效果演示

GNU source-highlight:

#include <stdio.h>

int main(void)

{

        // print "Hello, world!"

        printf("Hello, world!\n");

        return 0;

}

VIM(default):

#include <stdio.h>

int main(void)

{

        // print "Hello, world!"

        printf("Hello, world!\n");

        return 0;

}

VIM(evening):

#include <stdio.h>

int main(void)

{

        // print "Hello, world!"

        printf("Hello, world!\n");

        return0;

}

VIM(peachpuff):

#include <stdio.h>

int main(void)

{

        // print "Hello, world!"

        printf("Hello, world!\n");

        return0;

}

code2html.vbs / EmEditor + code2html.vbee:

#include <stdio.h>

int main(void)

{

        // print "Hello, world!"

        printf("Hello, world!\n");

        return 0;

}

Emacs + htmlize.el:

#include <stdio.h>

int main(void)

{

        // print "Hello, world!"

        printf("Hello, world!\n");

        return 0;

}

Highlight(默认/kwrite):

#include <stdio.h>

int main(void)

{

        // print "Hello, world!"

        printf("Hello, world!\n");

        return 0;

}

Highlight(easter):

#include <stdio.h>

intmain(void)

{

        // print "Hello, world!"

        printf("Hello, world!\n");

        return0;

}

Highlight(vampire):

#include <stdio.h>

intmain(void)

{

        // print "Hello, world!"

        printf("Hello, world!\n");

        return0;

}

Enscript:

#include <stdio.h>

int main(void)

{

        // print "Hello, world!"

        printf("Hello, world!\n");

        return 0;

}

Code2HTML:

#include <stdio.h>

int main(void)

{

        // print "Hello, world!"

        printf("Hello, world!\n");

        return 0;

}

Code2HTML(dark):

#include <stdio.h>

 

intmain(void)

{

        // print"Hello, world!"

        printf("Hello, world!\n");

        return 0;

}

Code2HTML(simple):

#include <stdio.h>

 

int main(void)

{

        // print "Hello, world!"

        printf("Hello, world!\n");

        return 0;

}


以下为其他在浏览器中高亮查看代码的选择,但这些都不能直接生成目标html代码

syntaxhighlighter

http://code.google.com/p/syntaxhighlighter/

使用javascript在客户端浏览器中对代码着色

当前最新版本:1.5.1

支持语言:C/C++、C#、CSS、Delphi、Java、JavaScript、PHP、Python、Ruby、Sql、VB、XML/HTML

google-code-prettify

http://code.google.com/p/google-code-prettify/

使用javascript在客户端浏览器中对代码着色

当前最新版本:31 Aug 2007

支持语言:C/C++、C#、Java、Python、Bash、SQL、HTML、XML、CSS、Javascript、Makefiles、Ruby、PHP、Awk、Perl、Python

GeSHi - Generic Syntax Highlighter

http://qbnz.com/highlighter/

用php写的

当前最新稳定版本:1.0.7.20

支持语言:Actionscript、ADA、Apache Log、AppleScript、ASM、ASP、AutoIT、Backus-Naur form、Bash、BlitzBasic、C、C for Macs、C#、C++、CAD DCL、CadLisp、CFDG、CFDG、ColdFusion、CSS、Delphi、DIV、DOS、Eiffel、Fortran、Fortran、FreeBasic、GML、Groovy、HTML、Inno、IO、Java、Java 5、Javascript、LaTeX、Lisp、Lua、Microprocessor ASM、mIRC、MySQL、NSIS、Objective C、OCaml、OpenOffice BASIC、Oracle 8 SQL、Pascal、Perl、PHP、PL/SQL、Python、Q(uick)BASIC、robots.txt、Ruby、SAS、Scheme、SDLBasic、Smalltalk、Smarty、SQL、T-SQL、TCL、thinBasic、Uno IDL、VB.NET、Visual BASIC、Visual Fox Pro、Winbatch、X++、XML、Z80 ASM

在线demo:

http://qbnz.com/highlighter/demo.php

http://geshi.org/(支持语言:PHP、C、CodeWorker、CSS、Delphi、HTML、Java、Javascript、SQL、VHDL)

SHJS - Syntax Highlighting in JavaScript

http://shjs.sourceforge.net/

使用javascript在客户端浏览器中对代码着色

当前最新版本:0.4.2

支持语言:Bison、C/C++、C#、ChangeLog、CSS、Diff、Flex、HTML、Java、JavaScript、LaTeX、Log files、M4、Makefiles、Pascal、Perl、PHP、Prolog、Python、Ruby、Shell、SQL、Tcl、XML

使用GNU Source-highlight的语言定义文件,Highlight的着色风格

Chili

http://plugins.jquery.com/project/chili

当前最新版本:1.9

支持语言:C++、C#、CSS、Delphi、Java、JavaScript、LotusScript、MySQL、PHP、XHTML

jQuery插件,在客户端浏览器中对代码着色

HotChili

http://userscripts.org/scripts/show/10676

Chili的Greasemonkey脚本

当前最新版本:1.2

支持语言:C++、C#、CSS、Delphi、Java、JavaScript、LotusScript、MySQL、PHP、XHTML

 

 

posted @ 2013-05-05 21:33  godjob  Views(1486)  Comments(0)    收藏  举报