【发布时间】:2016-09-22 01:54:24
【问题描述】:
我已经为我的项目设置了一个 Sphinx 文档,并希望提取源文件的文档字符串并将它们嵌入到最终文档中。不幸的是,Sphinx 不支持源文件的语言 (VHDL)。 VHDL 似乎没有 Sphinx 域。
所以我的想法如下:
- 挂钩到 Sphinx 运行并在 Sphinx 之前执行一些 Python 代码
- Python 代码从每个源文件(最顶部的多行注释块)中提取文本块,并为每个源文件组装一个 reST 文件,由该注释块和其他一些 reST 标记组成。
- 所有源文件都列在
index.rst中,以生成适当的.. toctree::指令。 - 文本提取和转换是按源代码目录递归完成的。
所以主要问题是:如何挂钩 Spinx?
还是应该在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.
# ....
我无法修改构建过程文件:Makefile 和 make.bat,因为真正的构建过程在 ReadTheDocs.org 上运行。 RTD 只执行conf.py。
【问题讨论】:
-
为我的目标语言编写扩展(解析器、对象模型适配器)非常复杂……预处理可能更容易。
标签: python python-3.x vhdl python-sphinx read-the-docs