Skip to content

使用sphinx、github、readthedocs搭建书环境

参考:https://www.jianshu.com/p/78e9e1b8553a

0、简介

GitHub Wiki,适合做知识整理,但排版一般,不方便本地查看。(第一次晓得这个功能的用途) GitBook,丑,慢。(???)

用 Sphinx 生成文档,GitHub 托管文档,再导入到 ReadtheDocs。

Sphinx是一个工具,它能够轻易地创建智慧和优雅的文档,出自Georg Brandl之手,在BSD许可证下授权。它能够把一组 reStructuredText 格式的文件转换成各种输出格式,而且自动地生成交叉引用,生成目录等。也就是说,如果有一个目录,里面包含一堆reST格式的文档(可能子目录里面也同样存在reST格式的文档),Sphinx能够生成一个漂亮的组织结构以及便于浏览和导航的HTML 文件(这些文件在其他的文件夹中)。当然对于同样的来源文件(reST格式),它也能够生成一个能够被编译(生成)PDF版本的LaTeX格式的文件。

1、安装环境

pip install sphinx

Anaconda可能自带sphinx

2、创建工程

https://dandelioncloud.cn/article/details/1529422782685528066/

sphinx-quickstart

然后进行相应的配置: 输入y(默认n,如果n的话就无source文件夹) 项目名称 作者 版本号 语言(zh_CN)

最后生成: build 目录 运行make命令后,生成的文件都在这个目录里面 source 目录 放置文档的源文件 make.bat 批处理命令 makefile

使用tree命令可以看见树形结构。

最后使用命令:make.bat html

3、切换主题(配置文件)

修改文件conf.py

html_theme = 'sphinx_rtd_theme'

也可以看见刚刚设置的相关配置,可以直接修改。 奇了怪了,一开始使用make html,第二次就不行了,需要安装主题包pip install sphinx_rtd_theme,但是安装失败了。

注意:需要安装这个主题,建议使用conda install sphinx_rtd_theme

4、配置markdown的编写

5、错误:WARNING: toctree contains reference to nonexisting document warnings

删除后面的:caption: Contents:,未找到保留的方法。

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

6、部署到readthedocs官网上

最终项目网站:https://ml-booknote.readthedocs.io

显示特点:左侧栏显示文章的一级标题,分级显示

7、后期维护使用

访问网站:https://ml-booknote.readthedocs.io readthedocs网站(使用github账号登录):https://readthedocs.org/ github仓库:https://github.com/HanKin2015/ML_BookNote.git

  • 在ML_BookNote\source\usage目录下添加新文章,支持md和rst文件
  • 还需要在ML_BookNote\source\index.rst里面添加新的文件。。。
  • 使用anaconda窗口执行make html即可
  • 上库:先将项目上传到git上,然后使用readthedocs的Build version即可

8、rst文件可使用sphinx进行解析查看

8-1、简介

reStructuredText ( RST 、 ReST 或 reST )是一种用于文本数据的文件格式,主要用于 Python 编程语言社区的技术文档。

它是Python Doc-SIG(Documentation Special Interest Group)的 Docutils 项目的一部分,旨在为 Python 创建一组类似于 Java 的 Javadoc 或 Perl 的 Plain Old Documentation(pod)的工具。Docutils 可以从 Python 程序中提取注释和信息,并将它们格式化为各种形式的程序文档。

从这个意义上说,reStructuredText 是一种轻量级标记语言,其设计目的是(a)文档处理软件(如Docutils)可以处理它,(b)读和写 Python 源代码的程序员很容易读它。

reST 解析器的引用实现是 Python 编程语言中的 Docutils 文本处理框架的一个组件,但是还可以使用其他解析器。

没有正式的 mime 类型注册为 reStructuredText,但非官方的是text/x-rst 可以将 RST 文件理解为 Python 使用的 Markup 文件就可以了。

8-2、语法

rst语法:D:\Github\GitBook\gitbook\Tools\rst_syntax.md

8-3、工具支持

https://zhuanlan.zhihu.com/p/97214287?utm_id=0

reStructuredText 格式的文件可以使用多种工具打开,以下是其中几个常用的工具:

文本编辑器:reStructuredText 格式的文件本质上是文本文件,可以使用任何文本编辑器打开,例如 Windows 下的记事本、Notepad++、Sublime Text、Visual Studio Code 等。

Sphinx:Sphinx 是一个基于 Python 的文档生成工具,支持 reStructuredText 格式,可以将 reStructuredText 格式的文档转换成多种格式,例如 HTML、PDF、EPUB 等。

Docutils:Docutils 是一个 Python 库,提供了解析和转换 reStructuredText 格式的功能,可以将 reStructuredText 格式的文档转换成 HTML、LaTeX、XML 等格式。

GitHub:GitHub 是一个代码托管平台,支持显示 reStructuredText 格式的文档,可以直接在网页上查看和编辑 reStructuredText 格式的文档。

总之,reStructuredText 格式的文件可以使用多种工具打开和编辑,具体选择哪个工具取决于你的需求和习惯。

但是使用vscode发现esbonio库运行失败,不清楚是什么原因: 一个Python包,它提供了许多Sphinx扩展和用于增强的[语言服务器](https://microsoft.github.io/language-server-protocol/) 编辑人员对*.rst文件的编辑体会。

以下是一些常见的编辑器和IDE以及它们所需的插件或扩展程序:

  • Visual Studio Code:安装“reStructuredText”扩展程序。
  • PyCharm:在“设置”中启用reStructuredText支持。
  • Sublime Text:安装“reStructuredText”插件。
  • Atom:安装“language-restructuredtext”和“markdown-preview-plus”插件。 安装这些插件或扩展程序后,您应该能够在编辑器或IDE中打开和编辑reStructuredText文件,并在预览窗口中查看渲染后的效果。

9、markup和markdown的区别

Markup和Markdown都是一种文本标记语言,用于在文本中添加格式和结构。它们的主要区别在于语法和用途。

Markup语言是一种通用的文本标记语言,如HTML、XML等。它们使用标签和属性来描述文本的结构和样式。Markup语言通常用于创建网页、电子邮件、文档等。

Markdown语言是一种轻量级的文本标记语言,它使用简单的符号来表示文本的结构和样式。Markdown语言通常用于编写文档、博客、README文件等。Markdown语言的语法简单易学,可以快速地将文本转换为HTML等格式。

因此,Markup语言更加复杂和灵活,适用于创建复杂的文档和网页;而Markdown语言则更加简单和易用,适用于快速编写简单的文本内容。

This website is released under the MIT License.