Question

Si j’exécute un fichier source Python à travers pygments, il génère du code HTML dont la classe d’éléments appartient à certains fichiers CSS utilisés par pygments. Les attributs de style peuvent-ils être inclus dans le code HTML généré afin que je n’aie pas à fournir de fichier CSS?

Était-ce utile?

La solution

En définissant l'attribut noclasses sur True , seuls les styles en ligne sont générés. Voici un extrait qui fait très bien l'affaire:


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

Autres conseils

Transmettez full = True au constructeur HtmlFormatter.

@ Ignacio: bien au contraire:

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/ , voir HtmlFormatter ]

(Fondamentalement, c'est la même chose que la réponse de Tempus, je pensais simplement qu'un extrait de code complet pourrait économiser quelques secondes))

PS. Ceux qui pensent que la question initiale est mal posée, peuvent imaginer par exemple la tâche de coller le code en surbrillance dans une entrée de blog hébergée par un service tiers.

Habituellement, votre code n'est qu'un élément parmi d'autres sur une page Web. Vous voulez souvent que le code soit différent des autres contenus. En règle générale, vous souhaitez contrôler le style du code en tant que partie intégrante du style de la page. CSS est votre premier choix, votre meilleur choix pour cela.

Cependant, vous pouvez incorporer les styles dans le code HTML si cela vous semble préférable. Voici un exemple montrant la balise <style> dans la balise <head>.

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top