跳转到主要内容

Sphinx扩展,用于添加可选的代码块作为标签页

项目描述

Latest Version License: Unlicense Documentation

这是一个Sphinx扩展,用于添加标签指令以创建可切换的标签页控件,允许用户在它们之间切换。单独的标签可以是代码块或一般内容。

这可以用来显示多个语言的片段,显示替代平台的使用说明,或切换代码和输出。

Code tabs screenshot

安装

pip install sphinx_code_tabs

要在Sphinx中启用扩展,只需将包名添加到您的 conf.py 中的 extensions 列表即可。

extensions = [
    ...
    'sphinx_code_tabs',
]

用法

通过启用扩展,您将获得访问 tabs 指令的权限,该指令声明一个代码块替代笔记本。

单独的标签是用 tabcode-tab 指令创建的。一个 tab 可以包含任意reStructuredText,而一个 code-tab 则像 code-block 一样工作,并接受所有相应的参数。这两种类型的标签都可以出现在同一个笔记本中。

":selected:" 选项允许在启动时切换到指定的标签。默认情况下,使用第一个标签。

例如,这是上述示例的来源

.. tabs::

    .. code-tab:: bash

        echo "Hello, *World*!"

    .. code-tab:: c
        :caption: C/C++
        :emphasize-lines: 2

        #include <stdio.h>
        int main() { printf("Hello, *World*!\n"); }

    .. code-tab:: python

        print("Hello, *World*!")

    .. tab:: Output
        :selected:

        Hello, *World*!

分组标签

标签 指令接受一个可选参数,用于标识其 标签组。在给定的标签组内,如果切换组中的一个成员的标签,所有笔记本将自动切换到相同的标签编号。确保每个组成员具有相同的标签数量和顺序是您的责任。示例

Grouped tabs screenshot

来源

.. tabs:: lang

    .. code-tab:: bash

        echo "Hello, group!"

    .. code-tab:: python

        print("Hello, group!")


.. tabs:: lang

    .. code-tab:: bash

        echo "Goodbye, group!"

    .. code-tab:: python

        print("Goodbye, group!")

替代方案

创建此包后,我发现其他功能类似或等效的包。如果您觉得 sphinx-code-tabs 不符合您的需求,您可以检查它们。

变更记录

v0.5.4

日期:2023年7月13日

  • 没有变更,需要发布以触发新构建

v0.5.4

日期:2023年6月28日

  • 声明扩展为并行读取安全 (#6)

v0.5.3

日期:2021年11月28日

  • 修复 CHANGES 以在长描述中显示

v0.5.2

日期:2021年11月28日

  • 修复由于旧版 sphinx 版本(v1.8)导致的 ImportError(在 readthedocs 上触发)

v0.5.1

日期:2021年11月28日

  • 更新落地页描述

v0.5.0

日期:2021年11月28日

  • 添加 tab 指令以支持任意(非代码)内容

  • 添加 tabs 指令,并使 code-tabs 成为 tabs 的向后兼容别名,以适应新的更通用的标签容器

  • 使 :title: 选项不再必需(实际上 sphinx 也没有强制执行)

  • 添加分组标签

  • 通过像列表一样使用框来使非代码标签在 LaTeX 输出中看起来更好

v0.4.0

日期:2021年11月27日

  • 修复在点击时选择所有标签按钮的 bug(在预渲染提交中引入)

v0.3.0

日期:2021年11月27日

  • 修复如果缺少 :title: 选项时的 AssertionError(见 #3)

  • 增加 CSS 特异性以修复由于 Sphinx 或 rtd 中的某些 CSS 变化而出现的大边距

  • 修复构建 PDF 文档时的异常(#1,#4)

  • 预渲染标签隐藏/选中状态以避免页面(重新)加载时内容重排

v0.2.0

日期:2021年6月21日

  • 为 Sphinx 4 更新 CSS

v0.1.0

日期:2020年10月10日

  • 修复在 readthedocs 上使用扩展时缺少资产的问题

  • 在 readthedocs 上添加文档以及视觉示例

v0.0.1

日期:2020年10月10日

具有基本功能的首个版本

  • 所有渲染都由 JS 完成,没有预渲染

  • 目前没有同时切换语言的“笔记本组”

项目详情


下载文件

下载适合您平台的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源分发

sphinx_code_tabs-0.5.5.tar.gz (9.9 kB 查看哈希值

上传时间

构建分发

sphinx_code_tabs-0.5.5-py3-none-any.whl (8.2 kB 查看哈希值

上传时间 Python 3

由以下提供支持