【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)

这篇具有很好参考价值的文章主要介绍了【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、简介

Sphinx 是一个 文档生成器 ,您也可以把它看成一种工具,它可以将一组纯文本源文件转换成各种输出格式,并且自动生成交叉引用、索引等。也就是说,如果您的目录包含一堆 reStructuredText 或 Markdown 文档,那么 Sphinx 就能生成一系列HTML文件,PDF文件(通过LaTeX),手册页等。
【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)

Sphinx 专注于文档,尤其是 handwritten documentation ,然而,Sphinx 也可以用来生成博客、主页甚至书籍。Sphinx 的大部分功能来自于 reStructuredText ,它是一种纯文本标记格式,有着丰富的功能和 显著的扩展能力 。

2、安装

  • 本文开发环境:
    Windows系统
    python3环境

  • 安装Sphinx:

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

【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)

3、创建测试工程

输入如下命令初始化工程:

mkdir SphinxDemo
cd SphinxDemo
sphinx-quickstart

然后会有如下的输出,需要根据提示输入项目名称、作者、版本号、语言等信息。
【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)

4、项目文件结构

项目创建完成后,可以看到如下的目录结构:
【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)

|-- build       <--------  生成文件的输出目录
|-- make.bat    <--------  Windows 命令行中编译用的脚本
|-- Makefile    <--------  编译脚本,make 命令编译时用
`-- source      <--------  文档源文件
    |-- conf.py     <--------  进行 Sphinx 的配置,如主题配置等
    |-- index.rst   <--------  文档项目起始文件,用于配置文档的显示结构
    |-- _static     <--------  静态文件目录, 比如图片等
    `-- _templates  <--------  模板目录

这里先简单说明一下各个文件的作用:

  • build:生成的文件的输出目录
  • source: 存放文档源文件
  • _static:静态文件目录,比如图片等
  • _templates:模板目录
  • conf.py:进行 Sphinx 的配置,如主题配置等
  • index.rst:文档项目起始文件,用于配置文档的显示结构
  • cmd.bat:这是自己加的脚本文件(里面的内容是‘cmd.exe’),用于快捷的打开windows的命令行
  • make.bat:Windows 命令行中编译用的脚本
  • Makefile:编译脚本,make 命令编译时用

其中index.rst内容默认如下:

.. 小沐日记 documentation master file, created by
   sphinx-quickstart on Sun Jun 11 10:29:33 2023.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

Welcome to 小沐日记's documentation!
====================================

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

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

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

5、编译为本地文件

执行如下命令:

make html

【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
居然报错,有没有天理呢。哈哈。
换一种写法如下:

./make html

【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
自动生成如下这些文件:
【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
可以在浏览器中预览一下:

file:///C:/Users/tomcat/Desktop/SphinxDemo/build/html/index.html

【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)

6、编译为http服务

上面使用make html的方式编译,编译完后需要打开html文件来查。
还有一种HTTP服务的方式,可以在浏览器器中通过ip地址来查看,该方式需要安装自动build工具:

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

【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
然后使用如下编译指令进行编译:

sphinx-autobuild source build/html

【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
然后可以到浏览器中,输入127.0.0.1:8000,进行预览如下:
【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)

7、更改样式主题

上面的测试效果,使用的是默认的主题alabaster,如果想安装其它的主题,可以先到Sphinx的官网https://sphinx-themes.org/查看:

【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
这里选用一个较为常用的主题Read the Docs,安装这个主题首先需要在python中进行安装,命令如下:

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

【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
然后修改conf.py 文件,找到 html_theme 字段,修改为

#html_theme = 'alabaster'
html_theme = 'sphinx_rtd_theme'

【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
再次编译,预览如下:

sphinx-autobuild source build/html

【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)

8、支持markdown

这里安装markdown支持工具。Sphinx默认只支持reST格式的文件。
如果相要使用markdown格式的文档,还要安装markdown支持工具,命令如下:

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

【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
若要使用markdown的表格,还要安装:

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

【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
然后,还要修改conf.py 文件,找到 extensions字段,修改为:

#extensions = []
extensions = ['recommonmark','sphinx_markdown_tables']

【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)

支持markdown后,文档文件可以使用markdown格式,但文档的配置文件index.rst还要使用reST格式

9、修改文档显示结构

修改文档结构,需要修改index.rst文件。

index.rst默认内容如下:

.. 小沐日记 documentation master file, created by
   sphinx-quickstart on Sun Jun 11 10:29:33 2023.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

Welcome to 小沐日记's documentation!
====================================

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

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

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

index.rst修改内容如下:

.. 小沐日记 documentation master file, created by
   sphinx-quickstart on Sun Jun 11 10:29:33 2023.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

Welcome to 小沐日记's documentation!
====================================

.. toctree::
   :maxdepth: 3
   :caption: Contents:

   西游记/index

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

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

【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)

  • 其中“source\西游记\index.rst”内容如下:
西游记
=================================
 
.. toctree::
   :maxdepth: 1
   
   第一回、灵根育孕源流出 心性修持大道生/index
   第二回、悟彻菩提真妙理 断魔归本合元神/index
   第三回、四海千山皆拱伏 九幽十类尽除名/index
  • 其中“source\西游记\第一回、灵根育孕源流出 心性修持大道生\index.rst”内容如下:
第一回、灵根育孕源流出 心性修持大道生
=======================================

其他几个类似如上。再次编译,预览如下:

sphinx-autobuild source build/html
  • 第一级页面:
    【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
  • 第二级页面:
    【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
  • 第三级页面:
    【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)

10、项目托管到github

首先在github上创建仓库,比如yxy_note,然后建立本地仓库:

echo "# yxy_note" >> README.md
git init
# git add README.md
# git add -A
git add .
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/fxyublib/yxy_note.git
git push -u origin main

命令执行过程如下:
【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
github网站的内容更新如下:
【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)

11、部署到ReadtheDocs

ReadtheDocs平台(https://readthedocs.org/)
打开页面:https://readthedocs.org/dashboard/
【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)

选择手动导入一个项目:
【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
设置项目的基本信息如下:
【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
然后点击按钮“Build version”编译代码生成文档网页。
【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
居然构建失败了。
【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
原因是ReadTheDocs的python环境没有对应的第三方库文件,需要在项目根目录执行如下命令生成requirements.txt,这样ReadTheDocs会自动安装对应的插件依赖。
命令行执行如下命令:

python3 -m pip freeze > requirements.txt
  • requirements.txt:
sphinx-markdown-tables

【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
再次编译如下:
【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)
预览生成的文档如下:
【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!文章来源地址https://www.toymoban.com/news/detail-499486.html

到了这里,关于【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 基于java在线小说电子书阅读系统设计与实现

    【用户功能模块】 (1)登录功能:注册普通账号登录;登录后可以修改用户的基本信息,也可以退出。 (2)浏览资讯:浏览网站管理发布的资讯,可以评论,评论后需要管理员审核和查看。也可以收藏资讯。 (3)关于我们:浏览网站关于我们的信息,涉及关于我们、联系我们、加

    2024年02月11日
    浏览(44)
  • 微信小程序小说电子书在线阅读系统设计与实现

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年02月05日
    浏览(37)
  • 基于微信小程序在线电子书小说阅读系统设计与实现

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。 项目配有对应开发文档、

    2024年04月28日
    浏览(34)
  • 微信小程序电子书小说在线阅读平台系统设计与实现

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年02月04日
    浏览(33)
  • 微信小程序毕业设计作品成品(04)在线阅读小说电子书小程序系统设计与实现

    博主介绍 :《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月08日
    浏览(36)
  • 计算机团队毕业设计:JAVA在线小说电子书系统+微信小程序系统设计与实现

    本次选用JAVA进行小说电子书在线阅读系统团队毕业设计开发,包含:WEB网站系统+微信小程序系统。   开发操作系统:windows10 + 8G内存 + 500G WEB开发环境:JDK1.8 + Tomcat8 WEB开发语言:Java WEB开发框架:springboot WEB模板引擎:Thymeleaf WEB常规技术:html + css +javascript WEB开发工具:Id

    2024年02月13日
    浏览(44)
  • 微信小程序毕业设计作品成品(34)微信小程序在线小说电子书阅读系统设计与实现

    博主介绍: 《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月07日
    浏览(38)
  • 微信小程序毕业设计作品成品(64)微信小程序在线阅读小说电子书网站系统设计与实现

    博主介绍: 《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月08日
    浏览(40)
  • 基于Java(SpringBoot框架)毕业设计作品成品(10)网络网上web在线阅读小说电子书系统设计与实现

    博主介绍 :《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月07日
    浏览(41)
  • vue.js毕业设计,基于vue.js前后端分离在线小说电子书阅读小程序系统设计与实现

    用户首次登陆系统需要注册一个用户作为账号,用户在登录平台后,可以进行平台的操作。主要模块包括以下几点: 登录功能:注册普通账号登录;登录后可以修改用户的基本信息,也可以退出。 资讯功能:后台录入资讯,在微信小程序在线电子书阅读系统的资讯模板展示

    2024年02月07日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包