Pregunta

Estoy buscando una herramienta de línea de comandos de código abierto, multiplataforma (al menos Windows y Linux) para tomar algo de código (C++, pero varios idiomas serían buenos) y generar una representación XHTML válida de ese código, con resaltado de sintaxis. incluido.

Idealmente, el XHTML debería simplemente envolver el código con <span> y <div> etiquetas con diferentes clases para poder proporcionar el código CSS y cambiar la coloración, pero eso es un extra opcional.

¿Alguien sabe de tal aplicación?

¿Fue útil?

Solución

Puedo recomendar pigmentos.Es fácil trabajar con él y admite muchos idiomas.Hace lo que quieres, es decir, envuelve el código en <span> etiquetas:

from pygments import highlight
from pygments.lexers import PythonLexer
from pygments.formatters import HtmlFormatter

code = 'print "Hello World"'
print highlight(code, PythonLexer(), HtmlFormatter())

da

<div class="highlight">
<pre><span class="k">print</span> <span class="s">&quot;Hello World&quot;</span></pre>
</div>

y luego podrá utilizar una de las hojas de estilo suministradas para crear la suya propia.

También puedes llamarlo a través de su pygmentize guion.El script puede formatear la salida de diferentes maneras:Salida de terminal de color HTML, LaTeX, ANSI.

Otros consejos

Empuje puede guardar cualquier código que resalte en HTML "coloreado" (se ejecuta en varias plataformas).Hay Lo más destacado de GNU también.Y muchos otros.

Hay uno muy bueno, impulsado por XML, rápido y de código abierto: http://sourceforge.net/projects/colorer/

No recuerdo si GeSHi tiene un programa de línea de comandos, pero incluso si no lo tiene, no debería ser difícil crear uno.Hace un gran trabajo al tomar código y generar HTML/XHTML bonito y colorido, incluso con números de línea (o cada X números de línea, incluso) y otras funciones útiles.

escritura se parece a lo que estás pidiendo:

  1. escupir HTML (o PS, o RTF) desde archivos ascii
  2. Incluye funciones para "impresión bonita" (resaltado de código sensible al idioma) en varios lenguajes de programación.

No estoy seguro de qué tan útil será esto, pero mi equipo usa doxygen para producir documentación, lo que proporciona resaltado de sintaxis en color en nuestras vistas de código, así como una bonificación adicional.Realmente nunca lo necesité, pero lo hace.

Si estás de acuerdo con usar Ruby, quieres codificador.

lo añadiré el mío a la lista, colorea C# pero podría adaptarse para C, C++ y Java.Produce los estilos en línea de forma predeterminada y una etiqueta previa.

La fuente está ahí en C#, necesitarás tomar mono/monodevelop y compilarla como una aplicación de consola, por lo que no se reduce en ese sentido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top