升级到 Bootstrap 5#

v0.13 开始,pydata-sphinx-theme 已从 Bootstrap 4 迁移到 Bootstrap 5。本文档将指导您完成我们所做的更改,以及如何在现有文档中遵循相同的步骤。

放弃 JQuery#

Bootstrap 放弃了 JQuery 依赖关系,并重写了插件使其成为普通 JavaScript。Sphinx v6 将执行相同的操作 (sphinx-doc/sphinx#10070)。因此,我们也重写了所有 JavaScript 代码,使其仅使用原生 JavaScript。任何在 custom.js 文件中依赖于 JQuery 的文档都需要重写或专门导入 JQuery

重大更改#

重要

适用于那些使用 custom.css 和/或 custom.js 文件的人!

Bootstrap 更改了多个 CSS 类,因此如果您编写了依赖于它们的自定义规则或 JS 逻辑,它们可能已经改变。

v4v5 的所有更改都列在其文档中。以下列出对 pydata-sphinx-theme 组件有影响的那些更改。

Sass#

  • 媒体查询混合参数已更改为更符合逻辑的方法。

    • media-breakpoint-down() 使用断点本身,而不是下一个断点(例如,media-breakpoint-down(lg) 而不是 media-breakpoint-down(md) 目标为小于 lg 的视口)。

    • 类似地,media-breakpoint-between() 中的第二个参数也使用断点本身,而不是下一个断点(例如,media-between(sm, lg) 而不是 media-breakpoint-between(sm, md) 目标为 sm 和 lg 之间的视口)。

  • box-shadow 混合现在允许 null 值,并从多个参数中删除 none

内容、重启等#

  • 嵌套表格不再继承样式。

  • .thead-light.thead-dark 被删除,取而代之的是 .table-* 变体类,可用于所有表格元素 (theadtbodytfoottrthtd)。

  • 删除了 .text-justify 类。请参阅 twbs/bootstrap#29793

实用程序#

  • 重命名了多个实用程序,以使用逻辑属性名称代替方向名称,并添加了 RTL 支持

    • 重命名 .left-*.right-*.start-*.end-*

    • 重命名 .float-left.float-right.float-start.float-end

    • 重命名 .border-left.border-right.border-start.border-end

    • 重命名 .rounded-left.rounded-right.rounded-start.rounded-end

    • 重命名 .ml-*.mr-*.ms-*.me-*

    • 重命名 .pl-*.pr-*.ps-*.pe-*

    • 重命名 .text-left.text-right.text-start.text-end

JavaScript#

  • 所有 JavaScript 插件的数据属性现在都已命名空间,以帮助区分 Bootstrap 功能与第三方和您的代码。例如,我们使用 data-bs-toggle 而不是 data-toggle

  • Bootstrap 的 程序化 APIbootstrap,也可用。此 API 可用于初始化默认情况下未初始化的选择加入组件,例如 弹出框