百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

windows环境下配置sphinx输出html文档

qiyuwang 2025-03-06 19:12 6 浏览 0 评论

序言

Sphinx 是一个基于 Python 的文档生成项目。最早只是用来生成 Python 的项目文档,使用 reStructuredText 格式。但随着项目的逐渐完善,很多非 Python 的项目也采用 Sphinx 作为文档写作工具。
特点:

  • 丰富的输出格式: 支持输出为 HTML(包括 Windows 帮助文档),LaTeX(可以打印PDF版本), manual pages(man 文档), 纯文本等若干种格式;
  • 完备的交叉引用: 语义化的标签,并可以自动化链接函数、类、引文、术语等;
  • 明晰的分层结构: 轻松定义文档树,并自动化链接同级/父级/下级文章;
  • 美观的自动索引: 可自动生成美观的模块索引;
  • 精确的语法高亮: 基于 Pygments 自动生成语法高亮;
  • 开放的扩展: 支持代码块的自动测试,自动包含 Python 的模块自述文档

安装

可以通过源码编译安装使用包管理器来安装Sphinx环境,在这里,我们通过PyPI使用pip命令安装Sphinx:

  • 在Linux或MacOS上
$ pip install -U sphinx
  • 在Windows上
C:\> pip install -U sphinx

安装完成后,在命令行输入sphinx-build --version可以看到Sphinx软件包的版本号

  • 可以安装最新版本,测试最新的特性$ pip install -U --pre sphinx

创建项目

①. 新建项目

  `cmd`命令行进入存放项目的根目录,使用命令`sphinx-quickstart`新建项目,根据提示分别输入项目信息和配置,操作流程如下图所示:

提示信息为:

  1. 是否分离源文件目录 source 和生成文件目录 build,默认否;
  2. 模板目录 templates 和静态文件目录 static 前缀,默认为_
  3. 项目名称;
  4. 项目作者;
  5. 项目版本,默认为空;
  6. 项目语言,默认为 en
  7. 文档扩展名,默认为 .rst
  8. 首页文件名,默认为 index
  9. 开启的扩展,均默认为否:
  10. 生成 Makefile,默认是;
  11. 生成 Windows 用命令行,默认是

项目新建后,查看生成的文件目录:

各文件或目录的功能为:

  • Makefile:可以看作是一个包含指令的文件,在使用 make 命令时,可以使用这些指令来构建文档输出。
  • build:生成的文件的输出目录。
  • make.bat:Windows 用命令行。
  • _static:静态文件目录,比如图片等。
  • _templates:模板目录。
  • conf.py:存放 Sphinx 的配置,包括在 sphinx-quickstart 时选中的那些值,可以自行定义其他的值。
  • index.rst:文档项目起始文件。

②.执行命令make html

在项目根目录下执行命令make html,生成html资源文件:

此时查看项目目录:

可以看到在build/html文件夹下,生成了html资源文件,打开index.html,可以看到初始化的大致网页框架:

③.修改配置文件config.py,添加自己的内容

  • 以上初始化项目之后,需要添加自己的内容和配置信息,输出自己的文档这里以输出mindspore的html格式介绍文档为例,由于主要内容为markdown格式文挡,需要安装recommonmark模块儿:pip install recommonmark 添加内容
    从Gitee仓库中下载markdown格式的说明文档,这里以api目录下的source_zh_cn为例
    source_zh_cn目录下载到本地,里面包含编写好的所有markdown文档,且已包含由config.py和index.rst配置文档,参考修改配置信息,本地目录结构如下图所示:

④.生成文档

  1. 首先修改由quickstart初始化生成的make.bat脚本文件,该文件内容为:
@ECHO OFF

pushd %~dp0

REM Command file for Sphinx documentation

if "%SPHINXBUILD%" == "" (
        set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=source
set BUILDDIR=build

if "%1" == "" goto help

%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
            echo.
            echo.The 'sphinx-build' command wa not found. Make sure you have Sphinx
            echo.installed,then set the SPHINXBUILD environment viriable to point
            echo.to the full path of the 'sphinx-build' executable.Alternatively you
            echo.may add the Sphinx directory to PATH.
            echo.
            echo.if you don't have Sphinx installed,grab it from
            echo.http://sphinx-doc.org/
            exit /b 1
)

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

:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%

:end
popd

在这里将SOURCEDIR和BUILDDIR修改为:

set SOURCEDIR=source_zh_cn
set BUILDDIR=build_zh_cn
  1. 使用make 命令生成特定的文档格式,在这里我们生成html文件执行make html此时,生成了build_zh_cn目录,里面包含了html文档,打开build_zh_cn/html/indext.html,可以在浏览器中review生成的html页面。

总结

在整个过程中我们使用sphinx在windows环境下将多个markdown、reStructuredText说明文档进行链接,构建成为可读性更强的html文档,其中关键的是配置文件的修改和自定义内容格式。使用sphinx可以使得生成的文档更具有可读性和美化,因此推荐参考官方应用案例和配置信息。

相关推荐

在Word中分栏设置页码一页两个页码的技巧!

施老师:在正常情况下,Word文档中一页只会出现一个页码。但在某种情况下,比如说:用了分栏后,我们希望一页中出现两个页码,那应该如何实现呢?今天,就由宁双学好网施老师来为大家讲一下,利用域来实现一页两...

如何在关键时刻向上自荐(如何在关键时刻做出正确选择)

抓住机会,挺身而出有种时刻叫“关键时刻”,关键时刻,作为一个认为自己有能力的、训练有素的人,应该考虑挺身而出,甚至应该不考虑就挺身而出。...

WPS Word:跨页的文档表格,快速调整为一页。#Excel

如何快速将跨页的文档表格调整为一页?需要根据两种情况分别处理。如果表格所有行的行高相同,调整为一页的方法有两种。第一种方法是将光标移动到表格内,然后将鼠标移动到表格右下角的方框处,按住鼠标左键向上拖动...

word文档插入下一页分节符(word下一页分页符)

在word文档中,对文档页面进行分页是特别常见的操作,其中的下一页分节符也是用得比较多的,但是一些人不太清楚在哪里设置,也不知道它具体能实现的功能是什么。接下来看看如何在word文档中插入下一页分节符...

word文档如何设置某一页纸张的方向

word文档页面方向有横向和纵向,纵向是默认的纸张方向,有时我们需要将页面设置为横向,或只设置其中某一页方向,应该怎么操作呢?一起来看看下面的详细介绍第一步:...

word怎么单独设置一页为横向(word2019怎样设置单独一页为横向)

word里面其中一页可以改为横向的吗?经过实际操作发现是完全可以的。...

Word如何设置分栏,如何一页内容同时显示一栏和两栏

我们使用Word文档,有时需要用到两栏的排版,甚至一页内容同时包含一栏和两栏的排版,这种格式怎么设置呢?具体步骤如下:首先是两栏排版的设置,直接点击Word文件上方工具栏【布局】,选择【分栏】下面的【...

Word怎么分页?这三个方法可以帮到你

我们不仅可以利用Word编辑文档,还可以编辑文集呢。但是有时候会出现两个部分的文章长短不一,我们需要对文档进行分页处理。这样可以方便我们对文档进行其他操作。那么Word怎么分页呢?大家可以采用下面这...

Word内容稍超一页,如何优化至单页打印?

如何将两页纸的内容,缩到一页打印呢?有时候一页纸多一点内容,我们完全可以缩一下,放到一页来打印。...

[word] word 表格如何跨行显示表头、标题

word表格如何跨行显示表头、标题在Word中的表格如果过长的话,会跨行显示在另一页,如果想要在其它页面上也显示表头,更直观的查看数据。难道要一个个复制表头吗?当然不是,教你简单的方法操作设置Wo...

Word表格跨页如何续上表?(word如何让表格跨页不断掉)

长文档的表格跨页时,你会发现页末空白太多了,这时要怎么调整?选中整张表格,右击【表格属性】,点击【行】选项,之后勾选【允许跨页断行】,点击确定即可解决空白问题。...

Word怎么连续自动生成页码,操作步骤来了!

Word怎么连续自动生成页码,操作步骤来了!...

word文档怎么把两页合并成一页内容?教你4种方法

word怎么把两页合并成一页?word怎么把两页合并成一页?用四种方法演示一下。·方法一:把这一个文档合并成一页,按ctrl加a全选文档,然后右键点击段落,弹出的界面行距改成固定值,磅值可以改小一点,...

如何将Word中的一页的纸张方向设置为横向?这里提供详细步骤

默认情况下,MicrosoftWord将页面定向为纵向视图。虽然这在大多数情况下都很好,但你可能拥有在横向视图中看起来更好的页面或页面组。以下是实现这一目标的两种方法。无论使用哪种方法,请注意,如果...

Word横竖混排你会玩吗?(word横排竖排混合)

我们在用Word排版的时候,一般都是竖版格式,但偶尔会需要到一些特殊的版式要求,比如文档中插入的一个表格,横向的内容比较多,这时就需要用到横版,否则表格显示不全。这种横竖版混排的要求,在Word20...

取消回复欢迎 发表评论: