来自PyData社区的基于bootstrapbase的Sphinx主题

pydata-sphinx-theme的Python项目详细描述


pydata sphinx主题

PyData社区中基于引导的Sphinx主题。在

演示站点:https://pydata-sphinx-theme.readthedocs.io/en/latest/

Note:这个主题最初是为pandas文档开发的(最初命名为“pandas sphinx theme”), 但是,由于其他项目也在吸收,我们正在努力使之更多 通用且更易于扩展,以满足不同项目的需要。在

使用此主题的网站:

安装和使用

这个主题可以在PyPI和conda forge上找到。你可以安装 使用方法如下:

  • 在文档生成环境中安装pydata-sphinx-theme

    pip install pydata-sphinx-theme
    # or
    conda install pydata-sphinx-theme --channel conda-forge
    
  • 然后,在sphinx文档的conf.py中,更新html_theme 配置选项:

    ^{pr2}$ 在

就这样!在

好吧,至少原则上是这样。在实践中,可能还有一些 熊猫特有的东西现在已经硬编码在主题中了。我们也需要 提高可配置性和可扩展性。反馈和贡献 非常欢迎!在

主题开发

欢迎投稿!安装开发版本,构建 演示文档和开发主题的css/js等在 有关更多详细信息,请参阅文档的贡献部分: https://pydata-sphinx-theme.readthedocs.io/en/latest/contributing.html

这个主题是如何运作的?在

html布局

这个主题中包含的“布局”最初主要是针对 有许多页面的文档站点,以及将所有导航放在 因此,单侧边栏会变得笨拙。在

当前布局具有3个导航元素:

  • 具有顶级导航功能的顶级导航栏
  • 一个左侧边栏,其后续导航可达单个页面
  • 带有本地“On this page”目录的右侧边栏

什么东西放在哪里是由狮身人面像“树”决定的 你的狮身人面像文件的结构)。目录树的第一级放在 顶部导航栏,第二个(也可能是)第三个级别放在左侧 侧边栏。在

这当然是可能的,使确切的水平使用狮身人面像 可配置目录树。在

实施细节

这个主题设计的第二个方面是我们正在努力做好 使用引导特性并尽可能多地使用实际的(模板化的)html 和css来定义主题,而不是依赖sphinx来做定制 格式化。这将使主题和布局更灵活,以定制。在

为此,该套餐包括:

  • 一个^{}, 子类化sphinx的转换器,但重写某些元素以生成 引导兼容的html。目前,这包括:将警告转换为 引导“警报”类,并更新用于html表的类。在
  • 添加导航的sphinx event 对象放入html上下文中,该上下文在html中可用(jinja2) 模板。这允许将导航元素的结构放在 实际布局,而不必依赖于 斯芬克斯(灵感来自mkdocs的导航对象: https://www.mkdocs.org/user-guide/custom-themes/#nav)。我们很想看看 这增加了狮身人面像本身(而不是需要一个狮身人面像事件),但现在 斯芬克斯的开发者还没有做出任何反应。在

这些项目还避免编写javascript函数来“修复”html 由狮身人面像生成以适合主题化。在

与sphinx主题引导有什么区别?

社区中的某个项目已经使用了sphinx引导程序主题: https://github.com/ryan-roemer/sphinx-bootstrap-theme/

目前,主要的区别是这个主题使用bootstrap4 属于3并提供不同的默认布局。在某个时候,最好 对该包(或至少处理 可共享的引导和狮身人面像)。在

初始布局和css的灵感来自Bootstrap文档站点。在

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

推荐PyPI第三方库


热门话题
java Jgit对于给定的存储库,我们如何确定新提交的列表,以及每个提交来自哪个分支?   从MS Access数据库添加java ComboBoxItem   如何禁止Java列表中不同类的实例?   java在没有Web的JAXR上使用Shiro过滤器。xml   由于java原因,无法在Ubuntu上安装Netbeans 8.2。awt。未找到恐怖和辅助技术   java JUnit对RuntimeException的处理(特别是)   java空集合在Apache CXF服务(JAXWS)中被转换为null   java CannotAcquireLockException问题   sql如何在数据库中对(Java)枚举建模(使用SQL92)   安卓在Java中获取友好url后面的文件名   java如何访问数组名以获取列表?   javascript Java Nashorn longBitsToDouble   java控制台<init>错误   java将一个LinkedList追加/连接到另一个LinkedList的最有效方式是什么?   Java for正在跳过的循环   java帮助创建带有动画的复杂Swing GUI   java Android编辑文本。setHint在片段中不工作