从0到1搭建文档库——sphinx + git + read the docs

这篇具有很好参考价值的文章主要介绍了从0到1搭建文档库——sphinx + git + read the docs。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

sphinx + git + read the docs

目录

一、sphinx

1 sphinx的安装

2 本地构建文件框架

1)创建基本框架(生成index.rst ;conf.py)

conf.py默认内容

index.rst默认内容

2)生成页面(Windows系统下)

参考资料

3 编辑说明

1)图片:相对路径

2)文档编辑(官方)

3)页面主题:conf.py中配置

4 多语言支持

参考资料

二、git

1 git使用配置

2 本地推送远程仓库

3 github页面操作

4 git项目拉取

5 git本地提交到新分支

三、read the docs

1 导入时的项目名称设置

2 导入的项目要求

3 项目多版本管理

1) latest:默认分支(可在【管理】中配置)

2) 其他版本和github上的branch/release tag对应​编辑

4 文档自动更新的关联

5 离线格式下载

四、小结

1 三者关系

2 文档更新过程

注意


一、sphinx

1 sphinx的安装

先安装Python3环境

Download Python | Python.org

cmd中输入python显示内容即安装成功

从0到1搭建文档库——sphinx + git + read the docs,日常分享和记录,github,read the docs,sphinx,git

再安装sphinx环境

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sphinx

2 本地构建文件框架

1)创建基本框架(生成index.rst ;conf.py)

创建一个空文件夹,输入

sphinx-quickstart

根据提示输入内容

从0到1搭建文档库——sphinx + git + read the docs,日常分享和记录,github,read the docs,sphinx,git

sphinx-quickstart后的文件夹结构

  .
├── build
├── make.bat
├── Makefile
└── source
    ├── conf.py
    ├── index.rst
    ├── _static
    └── _templates
从0到1搭建文档库——sphinx + git + read the docs,日常分享和记录,github,read the docs,sphinx,git
从0到1搭建文档库——sphinx + git + read the docs,日常分享和记录,github,read the docs,sphinx,git
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

project = 'structrucshow'
copyright = '2024, test'
author = 'test'
release = 'v1.0'

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

extensions = []

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 = 'alabaster'
html_static_path = ['_static']
index.rst默认内容
.. structrucshow documentation master file, created by
   sphinx-quickstart on Sun Apr  7 10:38:11 2024.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

Welcome to structrucshow's documentation!
=========================================

.. toctree::
   :maxdepth: 2
   :caption: Contents:



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

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

2)生成页面(Windows系统下)

.\make html

然后点击build/html文件夹下打开index.html浏览页面;

 或者 

sphinx-autobuild source build/html

点击端口浏览,调整的时候页面会实变化,建议使用这个命令,方便实时查看变化。

从0到1搭建文档库——sphinx + git + read the docs,日常分享和记录,github,read the docs,sphinx,git

参考资料

Sphinx+gitee+Read the Docs搭建在线文档系统 - 知乎

使用ReadtheDocs托管文档 - 知乎

3 编辑说明

1)图片:相对路径

从0到1搭建文档库——sphinx + git + read the docs,日常分享和记录,github,read the docs,sphinx,git

2)文档编辑(官方)

reStructuredText 简介 — Sphinx 使用手册

 3)页面主题:conf.py中配置

一般用这个主题:

html_theme = 'sphinx_rtd_theme'

其他主题可以看官方文档

Read the Docs Sample — Read the Docs

4 多语言支持

小结:无法自动翻译,需要根据中文人工手动输入英文内容,然后进行转化(生成一个新的项目)。新项目导入到read the docs(注意设置语言),然后将翻译后的项目配置为原语言项目的子项目,在【翻译】中设置。

参考文档:【Open-Source】Sphinx+Read the Docs的多语言版本文档实现 - 知乎

关键语句(cr↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑)

先向docs/source/conf.py文件添加:

# multi-language docs
language = 'en'
locale_dirs = ['../locales/']   # path is example but recommended.
gettext_compact = False  # optional.
gettext_uuid = True  # optional.
# 先切到docs目录下
cd docs

# 从./source/conf.py中读取文档设置,并调用从写好的rst或md的原文文档中在./build/gettext生成所有文档文件对应的.pot文件
sphinx-build -b gettext ./source build/gettext


# 在docs目录下生成目标翻译语言的目录(示例目标翻译语言为zh_CN)
# 这条指令会在docs/locales的目录下生成po文件
# 后续需要在po文件中填入对应的翻译内容
sphinx-intl update -p ./build/gettext -l zh_CN

# 翻译内容补充完成后,从写有中文翻译的.po文件和./source/conf.py中的设置来build中文文档,
# 生成的文档会在docs/build/html/zh_CN目录下
sphinx-build -b html -D language=zh_CN ./source/ build/html/zh_CN

将对应的翻译内容填入双引号内

从0到1搭建文档库——sphinx + git + read the docs,日常分享和记录,github,read the docs,sphinx,git

参考资料

Sphinx + Read the Docs 从懵逼到入门 - 知乎

官网:reStructuredText 简介 — Sphinx 使用手册

多语言支持(官网的介绍文档):

国际化 — Sphinx documentation

Localization and Internationalization — Read the Docs user documentation

How to manage translations for Sphinx projects — Read the Docs user documentation

二、git

1 git使用配置

GitHub创建项目的流程_github创建项目步骤-CSDN博客

使用Git将本地文件夹同步至github_git 某些文件同步到新文件-CSDN博客

关键:第一次用git bash需要设置SSH免密,创建public key

2 本地推送远程仓库

git init

git add .

git commit -m "描述你的提交"

git push origin 分支名

本地项目首次关联git仓库需要提供ssh: git remote add origin git@githuhb.com:XXXXXXX/XXXX.git

参考资料:如何从 GitHub 上创建/克隆一个仓库、进行修改、提交并上传回 GitHub 新手保姆级教程 - 知乎

git拉取项目、提交代码简单教程_git拉取代码-CSDN博客

3 github页面操作

github上创建分支并合并到master_github分支合并到主干-CSDN博客

4 git项目拉取

创建空文件夹

git clone+项目地址(如果用的https://xxx 链接报错,可尝试使用项目的ssh地址)

cd 项目名称(进入项目)

git branch (查看当前分支)

git checkout [branch name] (切换到新的分支)

git checkout -b 分支名 (创建并切换到新分支)

git branch -D 分支名     (删除本地分支)

参考资料:git创建新分支,并将本地代码提交到新分支上_建立新的本地分支-CSDN博客

5 git本地提交到新分支

git checkout -b [branch name]   (创建分支的同时切换到该分支上

git add .

git commit -m "add my code to new branchB"

git push origin [branch name]

三、read the docs

1 导入时的项目名称设置

从0到1搭建文档库——sphinx + git + read the docs,日常分享和记录,github,read the docs,sphinx,git

The name of the project. It has to be unique across all the service, so it is better if you prepend your username, for example {username}-rtd-tutorial.

2 导入的项目要求

必须要有.readthedocs.yaml文件

【示例】

项目层级结构示意图:

  .
├── .git
├── .gitignore
├── .readthedocs.yaml
├── requirements.txt
├── images
└── docs
    ├── build
    ├── index.rst
    ├── make.bat
    ├── Makefile
    └── source6    
        ├── _static
        ├── _templates
        ├── conf.py
        └── index.rst

.readthedocs.yaml文件内容:

version: "2"

build:
  os: "ubuntu-22.04"
  tools:
    python: "3.10"

python:
  install:
    - requirements: ./requirements.txt

sphinx:
  configuration: docs/source/conf.py

requirements.txt文件内容

sphinx==7.1.2
sphinx-rtd-theme==1.3.0rc1

build文件不用同步到git仓库,.gitignore中内容

docs/build/

参考资料:Configuration file overview — Read the Docs user documentation

3 项目多版本管理

1) latest:默认分支(可在【管理】中配置)

从0到1搭建文档库——sphinx + git + read the docs,日常分享和记录,github,read the docs,sphinx,git

2) 其他版本和github上的branch/release tag对应从0到1搭建文档库——sphinx + git + read the docs,日常分享和记录,github,read the docs,sphinx,git

4 文档自动更新的关联

在项目管理中勾选后,git有更新,read the docs会同步重新构建,构建完成后页面变更【大概几分钟延迟】

从0到1搭建文档库——sphinx + git + read the docs,日常分享和记录,github,read the docs,sphinx,git

从0到1搭建文档库——sphinx + git + read the docs,日常分享和记录,github,read the docs,sphinx,git

从0到1搭建文档库——sphinx + git + read the docs,日常分享和记录,github,read the docs,sphinx,git

5 离线格式下载

在.yaml文件中补充

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

从0到1搭建文档库——sphinx + git + read the docs,日常分享和记录,github,read the docs,sphinx,git

参考资料:
Configuration file reference — Read the Docs user documentation

四、小结

1 三者关系

从0到1搭建文档库——sphinx + git + read the docs,日常分享和记录,github,read the docs,sphinx,git

latest默认对应master

read the docs的版本名称可以是分支名称,也可以是release的tag名称

2 文档更新过程

1)当有版本更新时,原先最新的版本release,tag命名vx.x,在项目-版本中激活vx.x

2)创建分支编辑更新

3)分支浏览效果是否合适

4)合适后把新的分支内容合并到master,版本管理中关闭该分支版本

【示例】

一开始只有latest(默认对应master,master永远是最新的),有新版本时:

  • master 分支 release v0.1,项目-版本——激活v0.1

  • 修改内容后,发布为branch v0.2,查看内容是否OK

  • OK后合并到master(latest更新),项目-版本——隐藏 branch v0.2 版本

  • 当v0.3推出时,master分支 release v0.2,项目-版本——激活v0.2

  • ……

注意

避免二者(release tag和branch name)命名重复

如果都是v1.0,read the docs会自动命名为v1.0_a

从0到1搭建文档库——sphinx + git + read the docs,日常分享和记录,github,read the docs,sphinx,git

但是在前端页面都是显示v1.0,所以要避免二者(release tag和branch name)命名重复

从0到1搭建文档库——sphinx + git + read the docs,日常分享和记录,github,read the docs,sphinx,git文章来源地址https://www.toymoban.com/news/detail-845057.html

到了这里,关于从0到1搭建文档库——sphinx + git + read the docs的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用 gitee+sphinx+readthedocs 搭建个人博客

        给大家安利如何快速搭建个人博客网站!     这是我本地运行的一个使用sphinx构建的博客服务,这些文章,都是用markdown写的。 一直有个想法,就是把自己写的这些文件,搞成一个博客网站,放到网上,但是,一想,要搞个域名、一个服务器,这样长期运营维护,成本有

    2024年01月19日
    浏览(35)
  • 经验分享|如何搭建产品帮助文档

    作为一款优秀的产品,除了功能强大、易于使用等特点外,相应的使用说明和帮助文档也是至关重要的,这些说明和文档可以帮助用户更好地使用这款产品,并解决在使用过程中的问题。本篇文章将为大家详细介绍如何搭建一份优秀的产品帮助文档,以及如何规划好帮助文档

    2024年02月12日
    浏览(43)
  • 【已解决】git clone 报错:Could not read from remote repository. Please make sure you have the correct acce

    换电脑了,克隆代码遇到报错: 找到本地公钥,复制到添加 SSH 公钥处,遇到报错: 官方提出的解决办法:添加 SSH Keys 报已存在怎么办? 按照官方的提示,大概率是原因1,只能重新生成了 但是现在本地这个 SSH Key 在其他地方有使用(Gitee/Github/…),想要保留,再生成一个。

    2024年02月10日
    浏览(48)
  • 【Git】解决fatal: unable to access..Failure when receiving data from the peer或者OpenSSL SSL_read: Connect

    今天拉取仓库的代码时,报错如下: 又或者 OpenSSL SSL_read: Connection was reset, errno 10054 再或者: 解决办法: 因为git在拉取或者提交项目时,中间会有git的http和https代理,但是我们本地环境本身就有SSL协议了,所以取消git的https代理即可,不行再取消http的代理。 第一种方式就是

    2024年02月04日
    浏览(73)
  • 如何将doc格式文档转换为txt的文档

    今天的办公环境中,我们常常会遇到需要将doc格式的文档转换为txt格式的文档的情况。这种情况下,我们需要一些便捷的工具来帮助我们解决这个问题。下面,我将向大家介绍三种将doc格式的文档转换为txt格式的文档的方法。 第一种方法是使用在线文档转换工具、APP。目前,

    2024年02月06日
    浏览(72)
  • 无入侵接口文档smart-doc

    1.非侵入式生成接口文档 2.减少接口文档的手动更新麻烦保证了接口文档和代码的一致 3.随时可生成最新的接口文档 4.保持团队代码风格一致:smart-doc支持javadoc,必须按照这个才能生成有注释的接口文档 http://localhost:63342/demo/static/doc/index.html?_ijt=9d6ajticc8vm2ckffmddok81hj

    2024年02月10日
    浏览(33)
  • java操作 elasticsearch8.0 doc文档<二>

    如何连接请看上一篇文章 https://blog.csdn.net/u013979493/article/details/123122242?spm=1001.2014.3001.5502 本文所有方法本人以测试正常使用,如有错误请指正,一起讨论 以下为本文所有代码 制作不易,请尊重作者的劳动成果

    2023年04月11日
    浏览(38)
  • django rest_framework 部署doc文档

    1.背景    在实际开发过程中,前后端分离的项目,是需要将一份完整的接口文档交付给前端开发人员,这样有利于开发速度和开发质量,以及有可能减少协同时间。 2.内容   本项目是以Python+django+rest_framework作为技术框架,在这套框架中,是有自己支持的api文档,现将实现方

    2024年01月17日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包