Alabaster:Sphinx主题

关于PYPI的包 CI现状 文档状态 BSD 3条款

什么是Alabaster?

Alabaster是一个视觉(C)精简,响应性,可配置的主题 Sphinx 文件系统。它需要Python3.9或更高版本以及Sphinx 3.4或更高版本。

它最初是作为第三方主题,现在仍然单独维护,但从Sphinx1.3开始,Alabaster是Sphinx的安装时依赖项,并被选为默认主题。

上可以看到该主题的现场示例 this project's own websiteparamiko.orgfabfile.orgpyinvoke.org

有关更多文档,请访问https://alabaster.readthedocs.io/.

特征

  • 能够轻松安装/使用为Python包(提示为 Dave & Eric's sphinx_rtd_theme 为我们指路);

  • 与源主题相比,样式进行了调整,比如更好的挡路代码对齐,Github按钮放置,页面源链接移到页脚,改进的(可选的)相关项目侧栏项目,等等;

  • 多种自定义钩子,包括各种侧边栏和页脚组件的切换;页眉/链接/ETC颜色控制等;

  • 改进了所有自定义(现有和新的)的文档。

项目背景

Alabaster是经修改(经允许)的版本 Kenneth Reitz's "krTheme" Sphinx theme )这就是他的 Requests 项目)。Kenneth的主题本身最初是基于Armin Ronacher的 Flask 主题。非常感谢他们的辛勤工作。

实施说明

  • Fabric #419 在我开发Alabaster时包含了很多一般性的阐述和想法,特别是打算在两个几乎相同的“姊妹”站点(单一版本www‘info’站点和版本化API文档站点)上使用它。

  • Alabaster在主题本身之上包含/需要一个很小的Sphinx扩展;这正是为了将动态元数据(比如Alabaster自己的版本号)注入到模板上下文中。它没有添加任何额外的指令或类似指令,至少现在没有。