Sphinx + Readthedocs 避坑速通指南

博主在学习使用 SphinxRead the docs 的过程中, 碰到了许多奇葩的 bug, 使得很简单的任务花费了很长的时间才解决,现在在这里做一个分享,帮助大家用更少的时间高效上线文档的内容。

总的来说, 任务分为两个部分:

  • 使用 Sphinx 生成文档
  • 文档托管到 Read the docs 平台

准备

整个过程基于 python 实现, 推荐使用 Anoconda 能够创建管理独立的虚拟环境【 conda使用方法】,这样之后在配置文件的时候会方便很多。
在这里插入图片描述


使用 Sphinx 生成文档

掌握几个基本语句:

  1. 安装需要的库: pip install sphinx
  2. 快速创建项目:sphinx-quickstart
  3. 独立的源文件和构建目录(y/n) [n]: 个人填 y
  4. 接下来所填项目示例:

    项目名称: Test
    作者名称: 摸鱼仙人
    项目发行版本 [ ]: v1

  5. 项目语种 [en]: zh_CN, 英语则填写 EN

在这之后项目基本创建完成,项目框架如图所示:
在这里插入图片描述
需要关注的主要是 **source** **build** 两个文件夹。

  • source: 所有的需要的文档都要放在里面 (.rst| .md)
  • build:所有生成的文件都会保存在里面

⭐ 需要配置**conf.py** **index.rst** 两个文件

---* conf.py *---
# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
import sys
import os
# 此处在 sphinx-quickstart 中都进行了填写,一般无需修改
project = 'XXXX'
copyright = '2024, 摸鱼仙人'
author = 'Jin'
release = 'v1'

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
# 此处为项目文件地址
project_path = "F:\XXX"
sys.path.insert(0, os.path.abspath("../.."))

# 此处为导入的 md 文件需要的配置
extensions = ['sphinx_markdown_tables', 'm2r']
source_suffix = [".rst", ".md"]


templates_path = ['_templates']
exclude_patterns = []
# 此处为项目使用语言
language = 'zh_CN'

# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output

html_theme = 'sphinx_rtd_theme'
html_static_path = ['_static']
---* index.rst *---

.. XXXXXX documentation master file, created by
   sphinx-quickstart on Fri Mar 22 07:52:42 2024.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

XXXXX
=========================================

.. toctree::
   :maxdepth: 3
   :caption: XXXX

    ch01_数学基础 <ch01_数学基础/ch01_数学基础.md>


Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

需要熟练掌握语法, 由于内容过多, 本处不再赘述.有机会再开一篇详细展开. 配置内容大致相似,修改部分需要的名称即可.

注意:
.. toctree::
   :maxdepth: 3
   :caption: XXXX
<!-- 此处必须空一行 -->
    ch01_数学基础 <ch01_数学基础/ch01_数学基础.md>

该处的格式

掌握两句代码,反复使用:

  • make clean: 清除build生成的文件
  • make html: 生成html文件

build 文件夹 中, 可以找到 index.html, 可以通过该文件查看生成的结果

在这里插入图片描述


没有问题之后, 在 Github 上创建仓库, 将目前文件夹中所有的内容推送上去.

  • 配置 .gitignore 文件
---* .gitignore *---
 build/

托管到 Read the docs 平台

登录平台,使用 Github 账号进行登录

在这里插入图片描述
点击 导入一个项目 就可以将 Github 中的项目的文档托管过来, 以后文档的更新只需要在Github 平台上传,此处的托管能够自动的跟进更新

注意:
导入前需要创建 .readthedocs.yaml 文件进行配置, 更新上传在 Github 中

# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version and other tools you might need
build:
  os: ubuntu-22.04
  tools:
    python: "3.9"
    # You can also specify other tool versions:
    # nodejs: "19"
    # rust: "1.64"
    # golang: "1.19"

# Build documentation in the "docs/" directory with Sphinx
sphinx:
  configuration: source/conf.py

# Optionally build your docs in additional formats such as PDF and ePub
# formats:
#    - pdf
#    - epub

# Optional but recommended, declare the Python requirements required
# to build your documentation
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
   install:
   - requirements: docs/requirements.txt

点击导入后有几处地方容易导致报错, 需要注意:

  • 各个模块的内容需要顶格写,否则会出现报错

requirements.txt 文件生成:

在虚拟环境中使用 pip freeze > requirements.txt 能够自动生成配置的库的相关参数, 有时候 txt 文本中会出现一些奇怪的内容需要删除:
在这里插入图片描述
在这里插入图片描述
因此,开始时创建一个干净的虚拟环境十分有利于任务的快速推进.

导入构建后,如果显示如图则生成成功. 如果为红色, 显示 failed 则生成失败.
在这里插入图片描述
单击 build 则会在 构建 部分重新运行
在这里插入图片描述
在这里插入图片描述

通过此处的网址可以直接查看文档的地址:

在这里插入图片描述


参考资料:

  1. Sphinx + Read the Docs 从懵逼到入门
  2. 使用Read the Docs托管文档
  3. Sphinx 学习优质教程
  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值