斯坦福斯芬克斯主题文档生成器和readthedoc.org

stanford-theme的Python项目详细描述


附加值

设计

主题的在线演示: linxifan.github.io/Sphinx-demo/

斯坦福网络颜色规范: [1][2]

添加新字体

  1. 编辑bower.json,将ubuntumono-googlefont添加到依赖项 列表
  2. 编辑Gruntfile.js,像其他字体一样添加字体路径。
  3. 编辑sass/_theme_font_local.sass,注意font-weight: 400 对应于普通字体,而700对应于粗体。
  4. 确保将字体文件复制到 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。

设置您的环境

  1. sphinx安装到虚拟机中 环境。
pip install sphinx
  1. 安装sass
gem install sass
  1. 安装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

此默认任务将执行以下非常酷的操作 值得你费劲

  1. 它将安装和更新任何bower依赖项。
  2. 它将运行sphinx并构建新的文档。
  3. 它将监视对sass文件的更改,并从 变化。
  4. 它将重建斯芬克斯的文件,只要它注意到一个变化。rst, .html、.js或.css文件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript如何找到socket。同一局域网上的IO服务器?   将Java代码格式化为Word/RTF格式   java学习对象以及如何将分配的变量封装到私有变量   java Websocket客户端不在Tomcat中工作   java如何在点击按钮时打开本机表情键盘?   java使用哪个Maven GlassFish插件?   Eclipse Java构建路径不允许添加外部JAR   继承Java6集合。勾选适当的用法   JavaApacheDateUtils:使用多个模式解析日期   java hibernate如何生成查询?   具有id或链接的java Dropbox下载文件或文件夹   java模态对话框未在PrimeFaces 5上显示   java将类对象转换为人类可读的字符串   更新数据库中字段的java通用方法   java无法通过Apache Tomcat访问网络文件夹