什么是只使用带有类属性的HTML语法高亮的工具?

时间:2010-02-05 06:07:33

标签: html vim syntax-highlighting

我正在寻找一个命令行工具(或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 =“”属性(如“常量”,“标识符”,“语句”等)将是理想的。

谢谢,

卡梅伦

3 个答案:

答案 0 :(得分:1)

您可以在命令行上使用PHP将文件提供给GeSHi(或者cURL您自己的本地服务器或其他一些黑客)

http://qbnz.com/highlighter/geshi-doc.html#basic-usage

答案 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>
相关问题