如何配置rst2html
以在完整的Python项目而不是单个文件上运行?
我习惯使用epydoc生成我的文档,但是考虑使用reStructuredText,因为它是PyCharm默认值(我知道我们也可以将PyCharm更改为epytext)
答案 0 :(得分:1)
rst2html
不能单独做到这一点。它是docutils.core.publish_cmdline
上一个非常薄的包装器。检查它的来源:
https://github.com/docutils-mirror/docutils/blob/master/tools/rst2html.py
如果要处理多个.rst
文件,可以编写一个简短的shell脚本,在每个文件上调用rst2html
。
或者,您可以编写Python脚本。这是一个例子:
# https://docs.python.org/3/library/pathlib.html
from pathlib import Path
# https://pypi.org/project/docutils/
import docutils.io, docutils.core
def rst2html(source_path):
# mostly taken from
# https://github.com/getpelican/pelican/
pub = docutils.core.Publisher(
source_class=docutils.io.FileInput,
destination_class=docutils.io.StringOutput)
pub.set_components('standalone', 'restructuredtext', 'html')
pub.process_programmatic_settings(None, None, None)
pub.set_source(source_path=str(source_path))
pub.publish()
html = pub.writer.parts['whole']
return html
SRC_DIR = Path('.')
DST_DIR = Path('.')
for rst_file in SRC_DIR.iterdir():
if rst_file.is_file() and rst_file.suffix == '.rst':
html = rst2html(rst_file)
with open(DST_DIR / (rst_file.stem + '.html'), 'w') as f:
f.write(html)
有用的参考可能是: