pygments

___ tag123python ___ Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend. ___ tag123Dokumentationsgenerierung ___ Ein Dokumentationsgenerator ist ein Programmiertool, das Dokumentation für Programmierer (API-Dokumentation) oder Endbenutzer (Endbenutzerhandbuch) oder beides aus einer Reihe von speziell kommentierten Quellcodedateien und in einigen Fällen Binärdateien generiert . ___ tag123pythonsphinx ___ Sphinx ist ein Werkzeug, mit dem Sie einfach und intelligent Dokumentation erstellen können. Sphinx ist besonders für die Python-Dokumentation geeignet, aber es ist ein universelles Werkzeug, mit dem man alles dokumentieren kann. ___ tag123pymagents ___ Ein generischer Syntax-Highlighter für den Quellcode, der in Python geschrieben wurde. ___ qstnhdr ___ Gibt es in Sphinx / Pygments eine Möglichkeit, eine oder mehrere Codezeilen in literalen Includes hervorzuheben? ___ answer10198601 ___

Sphinx hat jetzt eine %code% Direktive für Literal Includes:

Ссылка

    
___ answer2529616 ___

Sie könnten die sphinx-Anweisung LiteralInclude in sphinx / directivities / code.py

installieren
  • Dort müssten Sie etwas tun, so dass Sie beim Einfügen von Code eine Anfangs- / Endzeile angeben können, die in diesem Snippet hervorgehoben werden soll.
  • Der zweite Schritt würde erfordern, einige Möglichkeiten zu schaffen, die Dinge anders hervorzuheben. Der einfachste Ansatz ist, dass der Teil ohne Betonung nicht hervorgehoben wird und der Teil mit Betonung hervorgehoben wird. Das würde vermeiden, komplexere Hacking der Stile und Hervorhebungen zu machen.

Dies gibt zum Beispiel eine neue Zeilenbetonungsoption in der literalinclude-Anweisung, die Sie folgendermaßen verwenden können:

%Vor%

wo Line-emphasis eine Startlinie ist, Endzeile relativ zum eingeschlossenen Code, erste Zeile ist 1.

Mit sphinx 0.6.5 unter pypi.python.org/pypi/Sphinx/0.6.5 als Basis ist ein quicky-gepatchtes code.py vorhanden: Ссылка

Beachten Sie, dass das Folgende äquivalent wäre:

Mit der Standard-Sphinx (so ziemlich das, was S.Lott vorgeschlagen hat):

%Vor%

... und benutze die gepatchte Sphinx:

%Vor%

Es kann also nicht genau sein, wonach Sie suchen. Der Patch erstellt einen neuen Knoten für jeden markierten oder nicht markierten Abschnitt des Codes. Jedes von diesen wird von Sphinx als ein getrenntes & lt; div & gt; und & lt; vor & gt; Sektion. Um darüber hinaus zu gehen, möchten Sie vielleicht ein Stylesheet erstellen, das die Zeilen mit Betonung besser herauszieht. Weitere Hacks müssen möglicherweise tief in die Eingeweide von Sphinx und Pygments gehen, um einen nahtlos hervorgehobenen Stil direkt dort erzeugen zu lassen: nicht trivial.

/ HTH

    
___ qstntxt ___

In einigen Sphinx-Dokumenten schreibe ich Code-Beispiele aus einer Zusatzdatei wie folgt:

%Vor%

Dieses spezielle Dokument ist ein Tutorial, in dem die Klassen Schritt für Schritt aufgebaut werden. Ich möchte die gesamte Klasse oder eine einzelne Methode einbeziehen und nur die für diesen Abschnitt interessanten Zeilen hervorheben. Auf diese Weise bleibt der Kontext erhalten, aber die interessanten Teile sind auf einen Blick ersichtlich. Im Moment habe ich mich nur auf Zeilennummern im Text bezogen, was in Ordnung ist, aber alles andere als ideal.

Wenn ich mir die Dokumente und den Code für Sphinx und Segmente anschaue, finde ich keinen offensichtlichen Weg, dies zu tun. Ich bin nicht dagegen, sie zu flicken oder etwas in %code% zu tun, aber ich fragte mich, ob jemand das gelöst hat.

    
___
2
Antworten

Wie kann ich verhindern, dass Jekyll Whitespace als Highlight hinzufügt?

Ich experimentiere gerade mit Jekyll. Die meisten Dinge sehen gut aus, aber die Art, wie Jekyll die Code-Hervorhebung verarbeitet, scheint fehlerhaft zu sein. Ich benutze pegments. Dann scheint Jekyll Stücke wie: zu benutzen %Vor% um C...
01.12.2013, 16:13
2
Antworten

Gibt es in Sphinx / Pygments eine Möglichkeit, eine oder mehrere Codezeilen in literalen Includes hervorzuheben?

In einigen Sphinx-Dokumenten schreibe ich Code-Beispiele aus einer Zusatzdatei wie folgt: %Vor% Dieses spezielle Dokument ist ein Tutorial, in dem die Klassen Schritt für Schritt aufgebaut werden. Ich möchte die gesamte Klasse oder eine einz...
18.03.2010, 20:41