Domanda

Se eseguo un file sorgente Python attraverso i pygments, genera codice html la cui classe di elementi appartiene ad alcuni pygments di file CSS che sta usando. Gli attributi di stile potrebbero essere inclusi nell'html in uscita in modo da non dover fornire un file CSS?

È stato utile?

Soluzione

Impostando l'attributo nocacles su True , verranno generati solo gli stili incorporati. Ecco uno snippet che fa bene il lavoro:


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

Altri suggerimenti

Passa full = True al costruttore HtmlFormatter.

@Ignacio: al 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/ , vedi HtmlFormatter ]

(Fondamentalmente è la stessa della risposta di Tempus, pensavo solo che uno snippet di codice completo potesse risparmiare qualche secondo))

PS. Coloro che pensano che la domanda originale sia mal posta, possono immaginare ad es. il compito di incollare il codice evidenziato in un post di blog ospitato da un servizio di terze parti.

Di solito, il tuo codice è solo una delle tante cose su una pagina web. Spesso vuoi che il codice appaia diverso dagli altri contenuti. In generale, si desidera controllare lo stile del codice come parte dello stile generale della pagina. CSS è la tua prima, migliore scelta per questo.

Tuttavia, è possibile incorporare gli stili nell'HTML se ciò sembra migliore. Ecco un esempio che mostra il tag <style> nel tag <head>.

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top