Hallo,
mir ist zwar so, als hätte ich zu diesem Thema schon mal was gelesen - ich weis nur nicht mehr wo.
Alos - ich möchte Python Code auf einer Homepage darstellen. Mit allen Einrückungen und ggf. auch mit der farblichen Darstellung. Gibt es dazu schon etwas fertiges? Ich habe mich bisher kaum mit so etwas beschäftigt. Ich benötige deshalb etwas, was nicht so kompliziert ist
Stephan
Python-Code auf einer Homepage darstellen
-
- Python-Forum Veteran
- Beiträge: 1209
- Registriert: Montag 29. September 2003, 17:18
- Wohnort: Purkersdorf (bei Wien [Austria])
Ich verwende dafür recht gerne vim. Einfach
im command-mode eintippen, und fertig.
Code: Alles auswählen
:runtime! syntax/2html.vim
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Mit Pygments:
Code: Alles auswählen
pygmentize -o mein.html python-datei.py
- Mawilo
- User
- Beiträge: 452
- Registriert: Sonntag 22. Februar 2004, 10:58
- Wohnort: Sachsen
- Kontaktdaten:
Ich habe mit folgender Datei getestet:
Der Code wird auch als html dargestellt. Nur leider ohne die gewünschte Farbgebung.
Was muss da noch geändert werden, damit ich eine farbige Darstellung bekomme? In der Doku habe ich nichts gefunden (oder überlesen?)
Stephan
Code: Alles auswählen
# -*- coding: iso-8859-15 -*-
from pygments import highlight
from pygments.lexers import get_lexer_by_name
from pygments.formatters import HtmlFormatter
f = file('JoPop3.2.pyw', 'r')
out = file('testcode.html', 'a')
code = f.read()
lexer = get_lexer_by_name("python", stripall=True)
formatter = HtmlFormatter(linenos=True, encoding='utf-8', style='colorful')
result = highlight(code, lexer, formatter, outfile = out)
f.close()
out.close()
Was muss da noch geändert werden, damit ich eine farbige Darstellung bekomme? In der Doku habe ich nichts gefunden (oder überlesen?)
Stephan
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Wie du an der HTML-Ausgabe sehen kannst, gibt Pygments nur CSS-Klassen aus. Die passenden CSS-Definitionen bekommst du mit `formatter.get_style_defs()` oder, wenn du ein ganzes HTML-Dokument mit der Formatteroption "full=True" erzeugst.
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Ansonsten gibts noch (gut, die Lösung ist nicht so groovy) die Möglichkeit mit der Formatteroption noclasses=True pygments die Stildefinitionen direkt in die <span> Elemente zu stecken. Ich rate aber mal davon ab
TUFKAB – the user formerly known as blackbird