sphinx基本使用

sphix是一个文档生成工具
本文介绍一些基础技能,如果想深入学习,可以查看官方文档

Sphinx官方文档

1.安装虚拟环境

# ubuntu
# 使用 venv 创建 .venv虚拟环境
python3 -m venv .venv# 激活虚拟环境
source .venv/bin/activate# windows
# 创建虚拟环境
python -m venv .venv# 激活虚拟环境
.venv\Scripts\activate.bat

2.安装sphinx

(.venv) $ pip install -U sphinx

3.创建文档项目

(.venv) $ sphinx-quickstart docs

具体步骤如下图:
创建项目步骤如图

4.项目docs目录结构

docs
├── build
├── make.bat
├── Makefile
└── source├── conf.py├── index.rst├── _static└── _templates

build/
一个空目录(目前),用于保存渲染的文档。

make.bat和Makefile
用于简化一些常见 Sphinx 操作的便捷脚本,例如 渲染内容。

source/conf.py
一个 Python 脚本,用于保存 Sphinx 项目的配置。它包含 您指定的 Project Name 和 Release 以及 作为一些额外的配置键。sphinx-quickstart

source/index.rst
项目的根文档,用作欢迎页面和 包含“目录树”(或 TOCTREE)的根

5.编译docs项目

假如你当前和docs目录在同一级目录

(.venc) $ sphinx-build -M html docs/source/ docs/build/

编译步骤如下:
image

编译生成的目录如下:
image

用浏览器打开index.html如下图:
image

6.修改index.rst

index.rst是html的首页,它 是用 reStructuredText(一种强大的标记语言)编写的。

修改内容如下:
docs/source/index.rst

Welcome to Lumache's documentation!
===================================**Lumache** (/lu'make/) is a Python library for cooks and food lovers that
creates recipes mixing random ingredients.  It pulls data from the `Open Food
Facts database <https://world.openfoodfacts.org/>`_ and offers a *simple* and
*intuitive* API... note::This project is under active development.

重新编译

(.venv) $ cd docs
(.venv) $ make html

build/html/index.html的内容也改变了

7.使用内置扩展

docs/source/conf.py

# 添加sphinx支持的扩展
# 一种是内置扩展如 'sphinx.ext.*' 或者自定义扩展
# 其中一种内置扩展如下
extensions = ['sphinx.ext.duration',
]
(.venv) $ make html

每次编译的时候会有一些测量编译时间的信息生成。

====================== slowest reading durations =======================
0.031 index
build succeeded.

The HTML pages are in build\html.

sphinx支持的内置扩展如下:

  • sphinx.ext.autodoc – Include documentation from docstrings
  • sphinx.ext.autosectionlabel – Allow referencing sections by their title
  • sphinx.ext.autosummary – Generate autodoc summaries
  • sphinx.ext.coverage – Collect doc coverage stats
  • sphinx.ext.doctest – Test snippets in the documentation
  • sphinx.ext.duration – Measure durations of Sphinx processing
  • sphinx.ext.extlinks – Markup to shorten external links
  • sphinx.ext.githubpages – Publish HTML docs in GitHub Pages
  • sphinx.ext.graphviz – Add Graphviz graphs
  • sphinx.ext.ifconfig – Include content based on configuration
  • sphinx.ext.imgconverter – A reference image converter using Imagemagick
  • sphinx.ext.inheritance_diagram – Include inheritance diagrams
  • sphinx.ext.intersphinx – Link to other projects’ documentation
  • sphinx.ext.linkcode – Add external links to source code
  • Math support for HTML outputs in Sphinx
  • sphinx.ext.napoleon – Support for NumPy and Google style docstrings
  • sphinx.ext.todo – Support for todo items
  • sphinx.ext.viewcode – Add links to highlighted source code

8.使用第三方HTML主题

修改html主题
docs/source/conf.py

#此处主题可以选择内置主题,或者第三方主题
html_theme = 'furo'

如果选择第三方主题,比如 ‘furo’,需要安装此主题:

(.venv) $ pip install furo

sphinx内置的html主题可以参考如下链接:
内置主题

sphinx第三方主题如下链接:
第三方主题链接

设置好主题后编译

(.venv) $ make html

9.创建多个页面

在docs/source文件夹创建多个页面
比如usage.rst,1.rst,2.rst,3.rst
然后在index.rst文件中添加它们
内容如下:
usage.rst内容

Usage
=====.. _installation:Installation
------------To use Lumache, first install it using pip:.. code-block:: console(.venv) $ pip install lumache

1.rst内容

1.rst
========

2.rst,3.rst同上,只是序号不同

将上面4个.rst文件添加到主页面index.rst

.. toctree::usage123

编译

make html

如图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/484981.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

爬虫第四篇:Xpath 路径表达式全解析:从网页基础到爬取百度贴吧图片实战

简介&#xff1a;本文围绕 Xpath 路径表达式展开讲解&#xff0c;先是介绍了网页相关基础如 html、css、vue 以及前后端分离的概念与示例&#xff0c;包括各部分的结构、作用及简单代码展示&#xff0c;随后详细阐述了 xml 的节点关系、选取节点、谓语等理论知识&#xff0c;最…

HarmonyOS NEXT开发进阶(一):初识 HarmonyOS NEXT开发

文章目录 一、前言二、HarmonyOS NEXT 开发框架三、HarmonyOS NEXT开发指导3.1 Windows环境准备 四、项目拆解4.1 工程目录4.2 全局配置4.2.1 APP全局配置: AppScope层&#xff08;AppScope/app.json5&#xff09;4.2.3 签名全局配置 4.3 APP代码初始化4.4 APP签名文件配置4.5 …

Chrome控制台 网站性能优化指标一览

打开chrome-》f12/右键查看元素-》NetWrok/网络 ctrlF5 刷新网页&#xff0c;可以看到从输入url到页面资源请求并加载网页&#xff0c;用于查看资源加载&#xff0c;接口请求&#xff0c;评估网页、网站性能等&#xff0c;如下图&#xff1a; request、stransferred、resour…

【C++】入门【六】

本节目标 一、继承的概念及定义 二、基类和派生类对象赋值转换 三、继承中的作用域 四、派生类的默认成员函数 五、继承与友元 六、继承与静态成员 七、复杂的菱形继承及菱形虚拟继承 八、继承的总结和反思 九、笔试面试题 一、继承的概念及定义 1.继承的概念 继承是面向对象…

MacOS安装sshfs挂载远程电脑硬盘到本地

文章目录 sshfs简介sshfs安装下载安装macFUSE安装sshfs sshfs使用注意事项 sshfs简介 SSHFS&#xff08;SSH Filesystem&#xff09;是一种基于FUSE&#xff08;用户空间文件系统&#xff09;的文件系统&#xff0c;它允许你通过SSH协议挂载远程文件系统。使用SSHFS&#xff0…

亚马逊云(AWS)使用root用户登录

最近在AWS新开了服务器&#xff08;EC2&#xff09;&#xff0c;用于学习&#xff0c;遇到一个问题就是默认是用ec2-user用户登录&#xff0c;也需要密钥对。 既然是学习用的服务器&#xff0c;还是想直接用root登录&#xff0c;下面开始修改&#xff1a; 操作系统是&#xff1…

深度学习中的迁移学习:应用与实践

引言 在深度学习领域&#xff0c;迁移学习&#xff08;Transfer Learning&#xff09;是一个非常强大且日益流行的概念&#xff0c;它通过将从一个任务中学到的知识应用于另一个任务&#xff0c;能够显著加快模型训练速度并提高其泛化能力。迁移学习在许多实际应用中都得到了广…

股市复盘笔记

复盘是股市投资中非常重要的一个环节&#xff0c;它指的是投资者在股市收盘后&#xff0c;对当天的市场走势、个股表现以及自己的交易行为进行回顾和总结&#xff0c;以便更好地指导未来的投资决策。以下是对复盘的详细解释&#xff1a; 一、复盘的目的 总结市场走势&#xff…

ubuntu18.04+qt 5.12.12+安装和实验

引用 【QT | 开发环境搭建】Linux系统(Ubuntu 18.04) 安装 QT 5.12.12 开发环境 ubuntu18.04 安装qt5.12.8及环境配置 1.安装包链接 第一篇中写了 http://download.qt.io/archive/qt/5.12/5.12.12/qt-opensource-linux-x64-5.12.12.run2.安装 到下载目录下 sudo chmod ax…

【目标跟踪】AntiUAV600数据集详细介绍

AntiUAV600数据集的提出是为了适应真实场景&#xff0c;即无人机可能会随时随地出现和消失。目前提出的Anti-UAV任务都只是将其看做与跟踪其他目标一样的任务&#xff0c;没有结合现实情况考虑。 论文链接&#xff1a;https://arxiv.org/pdf/2306.15767https://arxiv.org/pdf/…

LabVIEW氢同位素单质气体定量分装系统

氢同位素单质气体在多个行业中有重要应用&#xff0c;如能源和化工。传统的分装方法面临精度和自动化程度不足的问题。为此&#xff0c;开发了一套基于LabVIEW和质量流量控制器的定量分装系统&#xff0c;提高分装精度和效率&#xff0c;同时减少资源浪费和环境污染。 项目背景…

使用Oracle通过gateway连接MSSQL

环境概述 某医院的his系统Oracle数据库要和体检系统进行数据通讯&#xff0c;需要从Oracle能查到sqlserver的数据。本次通过Oracle gateway来解决此问题。 HIS服务器&#xff1a;windows server 2016数据库oracle11.2.0.4&#xff0c;假设IP是192.168.100.9 体检服务器&…

跑一下pyapp

文档&#xff1a;How-to - PyApp 首先没有rust要安装 安装 Rust - Rust 程序设计语言 查看是否安装成功 然后clone下pyapp https://github.com/ofek/pyapp/releases/latest/download/source.zip -OutFile pyapp-source.zip 进入目录中&#xff0c;cmd&#xff0c;设置环境…

Vue网页屏保

Vue网页屏保 在vue项目中&#xff0c;如果项目长时间未操作需要弹出屏幕保护程序&#xff0c;以下为网页屏保效果&#xff0c;看板内容为连接的资源。 屏保组件 <template><div v-if"isActive" class"screensaver" click"disableScreens…

项目基于oshi库快速搭建一个cpu监控面板

后端&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.github.oshi</groupId><artifactId>oshi-…

【LLMs】用LM Studio本地部署离线大语言模型

文章目录 一、下载LM Studio二、下载大语言模型1. 查看模型介绍2. 点击模型文件进行下载2.1 完整下载2.2 部分下载 三、加载模型1. 打开LM Studio图形化界面&#xff0c;点击**My Models**2. 然后&#xff0c;点击“...”&#xff0c;选择“change”&#xff0c;选择刚下载好的…

Redis——主从复制原理

Redis的主从复制原理是其高可用性和分布式读取能力的重要基础。以下是Redis主从复制原理的详细解释&#xff1a; 一、主从复制的基本概念 Redis的主从复制是一种数据复制和备份的方式&#xff0c;它允许一个主节点&#xff08;Master&#xff09;将其所有的数据同步到一个或多…

单链表---合并两个链表

将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 struct ListNode {int val;struct ListNode* next; }; w 方法一---不使用哨兵位 我们创建一个新链表用于合并两个升序链表&#xff0c; 将两个链表中最小的结点依次尾插到…

【AI系统】MobileNet 系列

MobileNet 系列 在本文会介绍 MobileNet 系列&#xff0c;重点在于其模型结构的轻量化设计&#xff0c;主要介绍详细的轻量化设计原则&#xff0c;基于这原则&#xff0c;MobileNetV1 是如何设计成一个小型&#xff0c;低延迟&#xff0c;低功耗的参数化模型&#xff0c;可以满…

25.k个一组翻转链表 python

k个一组翻转链表 题目题目描述示例 1&#xff1a;示例 2&#xff1a;提示&#xff1a;题目链接 题解解题思路python实现代码分析提交结果 题目 题目描述 给你链表的头节点 head &#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。 k 是一个正整数&…