Alabaster:Sphinx主题¶
什么是Alabaster?¶
Alabaster是一个视觉(C)精简,响应性,可配置的主题 Sphinx 文件系统。它需要Python3.9或更高版本以及Sphinx 3.4或更高版本。
它最初是作为第三方主题,现在仍然单独维护,但从Sphinx1.3开始,Alabaster是Sphinx的安装时依赖项,并被选为默认主题。
上可以看到该主题的现场示例 this project's own website , paramiko.org , fabfile.org 和 pyinvoke.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自己的版本号)注入到模板上下文中。它没有添加任何额外的指令或类似指令,至少现在没有。