开发者

What is a tool that will syntax highlight using only HTML with class attributes?

I'm looking for a command line tool (or Perl module or VIM script or whatever) that will take some input files (such as XML or JavaScript files) and format them in HTML. I specifically want my output not to contain stuff like <开发者_StackOverflow中文版;span style="color: red"> or <font color=red> according to a particular colour scheme, rather it should use CSS class names to mark up the different syntactic parts of the file.

For example, if I had this file as input:

function f(x) {
  return x + 1;
}

the kind of output I would like is:

<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>

Does anyone know of such a tool?

Something like VIM's 2html.vim script, but outputting class="" attributes with the syntax highlight group names (like "Constant", "Identifier", "Statement", etc.) would be ideal.

Thanks,

Cameron


You can feed a file into GeSHi using PHP on the command line (or cURL your own local server or some other hack)

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


There is buf2html.vim. Unfortunately, it uses non-semantic class names: See http://intrepid.perlmonk.org/apropos.vim/buf2html/current/myself.html


I think this is exacly what Vim's :TOhtml does if you

:let html_use_css = 1

Original:

function f(x) {
    return x + 1;
}

output:

<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>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜