斯坦福斯芬克斯主题文档生成器和readthedoc.org
stanford-theme的Python项目详细描述
附加值
添加新字体
- 编辑bower.json,将ubuntumono-googlefont添加到依赖项 列表
- 编辑Gruntfile.js,像其他字体一样添加字体路径。
- 编辑sass/_theme_font_local.sass,注意font-weight: 400 对应于普通字体,而700对应于粗体。
- 确保将字体文件复制到 stanford_theme/static/fonts/
sass
- bower_components/wyrm包含原始wyrm的sass 核心。可以覆盖其中的变量以使用自定义颜色。
- sass/_theme_variables.sass定义了大多数颜色。
- sass/_theme_rst.sass定义如何呈现任何重新构造的文本 文件。所有自定义项在代码中都用mydef标记 评论。
- sass/_theme_layout.css定义如何呈现菜单、导航 酒吧等
安装
VIA套餐
下载包或将其添加到requirements.txt文件:
$ pip install stanford_theme
在conf.py文件中:
importstanford_themehtml_theme="stanford_theme"html_theme_path=[stanford_theme.get_html_theme_path()]
通过git或下载
符号链接或子树stanford_theme/stanford_theme存储库到 您的文档位于docs/_themes/stanford_theme,然后添加 sphinx conf.py文件的以下两个设置:
html_theme="stanford_theme"html_theme_path=["_themes",]
配置
您可以配置主题的不同部分。
项目范围配置
主题的项目范围选项在 stanford_theme/theme.conf此存储库的文件,可以是 在项目的conf.py中通过html_theme_options定义。为了 示例:
html_theme_options={'collapse_navigation':False,'display_version':False,'navigation_depth':3,}
页面级配置
页面支持更改主题呈现方式的元数据。你可以 当前添加以下内容:
- :github_url:这将强制“在github上编辑” 配置的URL
- :bitbucket_url:这将强制“在位桶上编辑” 配置的URL
- :gitlab_url:这将强制“在gitlab上编辑” 配置的URL
如何构建目录
当前,左菜单将基于任何定义的toctree(s)生成 在index.rst文件中。它输出两个深度级别 你的访客可以很高程度地访问你的文档。如果没有树 设置主题将还原为sphinx通常的本地目录树。
重要的是要注意,如果你不遵循相同的风格 文档中的第一个头文件,目录树将被错误构建,并且 生成的菜单在渲染时可能无法显示正确的深度。
还要注意,目录是用includehidden=true设置的。 这允许您在索引文件中使用 hidden属性 将允许您生成目录,而不必在索引中呈现它。
默认情况下,滚动时导航将“粘住”屏幕。 但是,如果TOC垂直太大,它将恢复为静态 定位。要完全禁用粘性导航,请在 conf.py。
使主题与readthedocs兼容
目前,如果在本地sphinx构建中导入斯坦福主题,则 通过相同的配置来读取文档,它将失败,因为rtd 困惑的。如果你想在本地运行这个主题,然后也拥有它 建立在rtd上,然后可以在配置中添加类似的内容。 感谢丹尼尔·奥克斯。
# on_rtd is whether we are on readthedocs.org, this line of code grabbed from docs.readthedocs.orgon_rtd=os.environ.get('READTHEDOCS',None)=='True'ifnoton_rtd:# only import and set the theme if we're building docs locallyimportstanford_themehtml_theme='stanford_theme'html_theme_path=[stanford_theme.get_html_theme_path()]# otherwise, readthedocs.org uses their theme by default, so no need to specify it
编辑主题
主题主要是一个sass项目 这需要一些其他的sass库。我在用 bower来管理这些依赖项和 sass来构建css。好消息是我 有一组非常好的grunt操作 这不仅会加载这些依赖项,还会监视更改, 重新构建sphinx演示文档并构建 主题。坏消息是这意味着你需要建立你的环境 类似于前端开发人员(而不是python开发人员)。这意味着要安装node和ruby。
设置您的环境
- 将sphinx安装到虚拟机中 环境。
pip install sphinx
- 安装sass
gem install sass
- 安装node、bower和grunt。
// Install node brew install node // Install bower and grunt npm install -g bower grunt-cli // Now that everything is installed, let's install the theme dependecies. npm install
现在我们的环境已经设置好了,请确保您在虚拟环境中 环境,转到终端中的此存储库并运行grunt:
grunt
此默认任务将执行以下非常酷的操作 值得你费劲。
- 它将安装和更新任何bower依赖项。
- 它将运行sphinx并构建新的文档。
- 它将监视对sass文件的更改,并从 变化。
- 它将重建斯芬克斯的文件,只要它注意到一个变化。rst, .html、.js或.css文件。