Sphinx是什么?
A: Sphinx是一个自动生成文档的工具,可以用简洁的语法快速生成优雅的文档。
哪些场景要用Sphinx?
A: 如果想要写书,不想陷入复杂的排版中,可以考虑使用这个。如果有代码项目之类的,可以用它快速生成使用文档,支持markdown语法。
安装sphinx: pip install sphinx
创建demo: sphinx-quickstart,根据提示输入项目名称、作者、版本号、语言等信息
项目文件结构:
build:生成的文件的输出目录source: 存放文档源文件_static:静态文件目录,比如图片等_templates:模板目录conf.py:进行 Sphinx 的配置,如主题配置等index.rst:文档项目起始文件,用于配置文档的显示结构cmd.bat:这是自己加的脚本文件(里面的内容是‘cmd.exe’),用于快捷的打开windows的命令行make.bat:Windows 命令行中编译用的脚本Makefile:编译脚本,make 命令编译时用编译html:
# 在source build目录下执行
make html
更改样式主题:
安装sphinx_rtd_theme: pip install sphinx_rtd_theme
更改config.py:
html_theme = 'sphinx_rtd_theme'
安装markdown支持工具
pip install myst-parser
安装支持mermaid渲染工具:pip install sphinxcontrib.mermaid
```{mermaid} # 这里需要{}包裹
graph LRa --> b
```
配置config.py
project = 'Test'
copyright = '2023,'
author = 'Test'
release = 'v2.1.3'
repo_url = 'www.baidu.com'extensions = ['myst_parser',"sphinxcontrib.mermaid","sphinx_copybutton", # 复制按钮
]source_suffix = {'.rst': 'restructuredtext','.txt': 'markdown','.md': 'markdown',
}myst_enable_extensions = ["tasklist","deflist","dollarmath",# "colon_fence" # 支持colons
]templates_path = ['_templates']
exclude_patterns = []language = 'zh_CN'html_theme = 'sphinx_rtd_theme'
html_theme_options = {'analytics_anonymize_ip': False,'logo_only': True,'display_version': True,'prev_next_buttons_location': 'bottom','style_external_links': False,'collapse_navigation': True,'sticky_navigation': True,'navigation_depth': 4,'includehidden': True,'titles_only': False,
}html_logo = "./_static/logo.png"
html_static_path = ['_static']
html_js_files = ['my_custom.js',
]
my_custom.js写法(以下为示例)
$(document).ready(function(){let div_logo = document.getElementsByClassName("wy-side-nav-search")[0];let a_logo = div_logo.getElementsByTagName("a");a_logo[0].href = "https://github.com/SWHL/RapidVideOCR";a_logo[0].target = "_blank";
});
查看效果:打开build/html/index.html