1

显示我的 Sphinx 项目的目录结构。

cd myproject/source
tree -d
.
├── django
├── document
├── excel
├── github
├── _images
├── _templates
└── vim

每次执行命令make html时,里面的所有*.rst文件django, document, excel, github, vim都会生成到*.html. 现在我只想将部分*.rst文件生成到*.html,比如说,我想保留所有*.rst文件githubvim取消制作,如何执行make html命令?

4

1 回答 1

1

请注意,通过查看make文件内部,它只是一个生成的批处理或 shell 脚本(取决于操作系统),它要求sphinx-build您将参数设置为默认值。

set SPHINXBUILD=sphinx-build
set BUILDDIR=build
set SOURCEDIR=source

(...)

%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%

相当于文档中的签名:

sphinx-build [options] <sourcedir> <outputdir> [filenames …]

说,我想将所有 *.rst 文件保留在 github 和 vim 中

实现您想要的最简单的方法是排除您不想构建的目录:

sphinx-build -b html ./source ./build -D exclude-patterns=github/*,vim/*

-D setting=value选项等效于通过命令行传递exclude-patterns=[]通常在您中找到的内容。conf.py

如何执行 make html 命令?

如果您想使用该make文件,您还可以将上述参数传递给make htmlusing SPHINXOPTS一些用户让它工作,但我无法在 Windows 上工作。

一个更复杂的选项,这可能是必要的,具体取决于您希望如何布局文档,即为每个源目录创建一个单独的 Sphinx 项目,并拥有make.bat自己conf.pyindex.rst. 如果您有一个index.rst默认链接到.rst排除目录中文件的单个文件,您可能必须有条件地排除index.rst.

注意-c-C选项。

于 2020-09-10T03:57:59.497 回答