[PYTHON] Sphinx-Erweiterung zur willkürlichen Konvertierung von Text in der Vorverarbeitung der Dokumentgenerierung

Annahme

Kürzlich schreibe ich ein Dokument mit Sphinx.

Also habe ich es einmal gelöst, aber bei der Verwendung von PlantUML wurde es stressig, dass ich keine Vorschau auf VS Code sehen konnte.

Was du machen willst

Bei der Erstellung von HTML

```plantuml

Umschließen

.. uml::

Ich möchte automatisch konvertieren zu.

#Politik

Offizielle DokumentationEs gibt eine Ereignisimplementierungsmethode.

#Implementierung des Erweiterungs-Plug-Ins

Ich habe es so geschrieben.

uml_change.py


def uml_change(app, docname, source):  
    umlFlg = False
    lines = []
    for line in source[0].split("\n"):
        if umlFlg:
            if line.strip() == "```":
                #Löschen, wenn das Ende der Box kommt
                line = ""
                umlFlg = False
            else:
                #Einzug in die Box
                line = "    " + line

        ###Konvertieren Sie die Markdown-Notation in die reST-Notation
        if line.strip() == "```plantuml":
            line = ".. uml::"
            umlFlg = True
           
        lines.append(line)

    source[0] = "\n".join(lines)
  
def setup(app):  
    app.connect("source-read", uml_change)  

conf.py Einstellungen

conf.Fügen Sie py die folgende Beschreibung hinzu.

conf.py


import sys
import os
 sys.path.append (os.path.abspath ("./ bin")) # Der Ordnername ist ein Beispiel

Speichern Sie das obige Skript im angegebenen Ordner (im obigen Beispiel unter bin).

Fügen Sie den erstellten Plug-Namen zu Erweiterungen hinzu.

conf.py


extensions = ['uml_change']

Versuchen Sie, HTML zu erstellen, und wenn das Uml-Bild angezeigt wird, ist es erfolgreich.

#Ergänzung

Mit dieser Methode sollten Sie in der Lage sein, verschiedene Vorverarbeitungen zu schreiben. Konvertieren Sie das Markdown-Link-Format in das restructuredText-Format usw.

Recommended Posts

Sphinx-Erweiterung zur willkürlichen Konvertierung von Text in der Vorverarbeitung der Dokumentgenerierung
So geben Sie ein Dokument im PDF-Format mit Sphinx aus
Konvertieren Sie eine Excel-Datei für verschiedene Zwecke in Python in Text
Konvertieren Sie HTML in eine Textdatei
Sprechen mit Python [Text zu Sprache]
Konvertieren Sie eine große Anzahl von PDF-Dateien mit pdfminer in Textdateien
Zusammenfassung des Schärfens und Glättens der Wahrscheinlichkeit + Anwendbar auf einfache Dokumentgenerierung
Konvertieren Sie Markdown in Python in PDF
So konvertieren Sie 0,5 in 1056964608 auf einmal
Konvertieren Sie PDFs der verfügbaren Geschäfte von Go To EAT in der Präfektur Kagoshima in CSV
In der XML-Datenbank (BaseX) gespeichertes XML-Dokument in das CSV-Format konvertieren (mit Python)
Ich möchte das Ergebnis von "Zeichenfolge" .split () in Python stapelweise konvertieren
Konvertieren Sie PDF-Dateien von Go To EAT-Mitgliedsgeschäften in der Präfektur Ishikawa in CSV
Konvertieren Sie das PDF des neuen Corona-Ausbruchs in der Präfektur Aichi in CSV