PROJET AUTOBLOG


bfontaine.net

Site original : bfontaine.net

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

Exportez votre code Python en HTML avec pyhtmlizer

jeudi 27 octobre 2011 à 23:06

Il est parfois utile, par exemple dans le cadre d'un blog, de partager des bouts de code, notamment en Python. La commande pyhtmlizer (disponible avec le paquet python-twisted-core sous Ubuntu) permet d'exporter facilement du code Python, avec une coloration syntaxique de notre choix. Elle s'utilise de la façon suivante :

pyhtmlizer [-s feuille-de-style.css] fichier.py

Un fichier fichier.py.html sera ainsi créé. La commande place tous les mots-clefs de Python dans des balises <span>, avec une classe correspondante au type du mot-clef. Par exemple, toutes les variables auront la classe py-src-variable. Pour les commentaires, ça sera py-src-comment, tandis que pour les instructions, ça sera py-src-keyword. Il ne reste plus qu'à écrire une feuille de style et le tour est joué.

Par exemple, pour le code suivant :

#! /usr/bin/python3.2

def hello(name="Dennis"):
"dit bonjour à <name>"
print("Hello %s !" % name)
if (__name__ == "__main__"):

hello()

qui ne fait que dire bonjour, et la feuille de style suivante :

body {background-color:#333;color:#EEE}
.py-src-comment {color:#CCC}
.py-src-keyword {color:orange;font-weight:bold}
.py-src-variable {color:#5AF;font-weight:bold}
.py-src-identifier {color:cyan;font-weight:bold}
.py-src-string {color:#AFA}
.py-src-parameter {color:pink}

Le résultat est le suivant :

<style> .py-src-comment {color:#CCC} .py-src-keyword {color:orange;font-weight:bold} .py-src-variable {color:#5AF;font-weight:bold} .py-src-identifier {color:cyan;font-weight:bold} .py-src-string {color:#AFA} .py-src-parameter {color:pink}
#! /usr/bin/python3.2

def hello(name="Dennis"):
    "dit bonjour à <name>"
    print("Hello %s !" % name)


if (__name__ == "__main__"):
    hello()

Bien entendu, vous pouvez modifier votre feuille de style comme vous voulez, et faire des choses très jolies. Il existe des scripts JS qui permettent de colorer automatiquement le code, mais si vous préférez éviter d'avoir 50 scripts par page pour faire de simples effets réalisables en CSS ou HTML, utilisez cette méthode.