Pregunta

Si ejecuto un archivo fuente python a través de pygments, genera un código html cuya clase de elementos pertenece a algunos pygments de archivos CSS que está utilizando. ¿Podrían incluirse los atributos de estilo en el html de salida para que no tenga que proporcionar un archivo CSS?

¿Fue útil?

Solución

Al establecer el atributo noclasses en True , solo se generarán estilos en línea. Aquí hay un fragmento que funciona bien:


formatter = HtmlFormatter(style=MyStyle)
formatter.noclasses = True
print highlight(content,PythonLexer(),formatter)

Otros consejos

Pass full = True para el constructor HtmlFormatter.

@Ignacio: todo lo contrario:

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

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

[ref .: http://pygments.org/docs/formatters/ , consulte HtmlFormatter ]

(Básicamente es lo mismo que la respuesta de Tempus, solo pensé que un fragmento de código completo puede ahorrar unos segundos))

PS. Los que piensan que la pregunta original está mal planteada, pueden imaginar p. la tarea de pegar el código resaltado en una entrada de blog alojada por un servicio de terceros.

Por lo general, su código es solo una de las muchas cosas en una página web. A menudo desea que el código se vea diferente del otro contenido. Por lo general, desea controlar el estilo del código como parte del estilo general de la página. CSS es su primera y mejor opción para esto.

Sin embargo, puede incrustar los estilos en el HTML si eso parece mejor. Aquí hay un ejemplo que muestra la etiqueta <style> en la etiqueta <head>.

http://www.w3schools.com/TAGS/tag_style.asp

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