我正在寻找一个命令行工具(或Perl模块或VIM脚本或其他),它将获取一些输入文件(例如XML或JavaScript文件)并以HTML格式化它们。我特别希望我的输出不包含<span style="color: red">
或<font color=red>
之类的东西,根据特定的颜色方案,而是应该使用CSS类名来标记文件的不同语法部分。
例如,如果我将此文件作为输入:
function f(x) {
return x + 1;
}
我想要的输出类型是:
<pre><span class=keyword>function</span> <span class=ident>f</span><span class=punc>{</span>
<span class=keyword>return</span> <span class=ident>x</span> <span class=op>+</span> <span class=numliteral>1</span><span class=punc>;</span>
<span class=punc>}</span></pre>
有谁知道这样的工具?
类似于VIM的2html.vim脚本,但输出带有语法高亮组名称的class =“”属性(如“常量”,“标识符”,“语句”等)将是理想的。
谢谢,
卡梅伦
答案 0 :(得分:1)
您可以在命令行上使用PHP将文件提供给GeSHi(或者cURL您自己的本地服务器或其他一些黑客)
答案 1 :(得分:1)
有buf2html.vim。不幸的是,它使用非语义类名:请参阅http://intrepid.perlmonk.org/apropos.vim/buf2html/current/myself.html
答案 2 :(得分:1)
我认为这正是Vim的:TOhtml
如果你
:let html_use_css = 1
原件:
function f(x) {
return x + 1;
}
输出:
<pre>
<span class="Identifier">function</span> f(<span class="">x</span><span class="javaScriptParens">)</span><span class=""> </span><span class="Identifier">{</span>
<span class="Statement">return</span><span class=""> x + </span>1<span class="">;</span>
<span class="Identifier">}</span>
</pre>