Ho creato una documentazione Sphinx per il mio progetto e vorrei estrarre le stringhe doc per i file sorgente e incorporarle nella documentazione finale. Sfortunatamente, la lingua del file sorgente (VHDL) non è supportata da Sphinx. Sembra che non ci sia alcun dominio Sphinx per VHDL.Come pre-processare i file sorgente mentre una Sfinge è in esecuzione?
Quindi le mie idee è la seguente:
- Hook nella Sfinge eseguire ed eseguire codice Python prima Sfinge
- I codici Python estratti i blocchi di testo da ogni file sorgente (il più in alto multi-linea blocco di commenti) e assembla un file reST per file sorgente, costituito da questo blocco di commenti e qualche altro markup di ripristino.
- Tutti i file di origine sono elencati in un
index.rst
, per generare la direttiva.. toctree::
appropriata. - L'estrazione e la trasformazione del testo vengono eseguite in modo ricorsivo per directory del codice sorgente.
Quindi la domanda principale è: Come collegarsi a Spinx?
Oppure devo solo importare ed eseguire la mia configurazione in conf.py
?
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
from my_preprocessor import my_proc
proc = my_proc()
proc.run()
#
# Test documentation build configuration file, created by
# sphinx-quickstart on Tue May 24 11:28:20 2016.
# ....
non posso modificare i file di processo di compilazione: Makefile
e make.bat
, perché il vero processo di compilazione viene eseguito su ReadTheDocs.org. RTD esegue solo conf.py
.
Qual è il motivo non si può [creare un'estensione] (http://www.sphinx-doc.org/en/stable/extdev/index.html#dev-extensions) e [aggiungerlo al progetto] (http://www.sphinx-doc.org/en/stable/extensions.html#where-to-put-your-own-extensions)? –
È molto complicato scrivere un'estensione (parser, object model adapter) per la mia lingua di destinazione ... la pre-elaborazione potrebbe essere più semplice. – Paebbels