sphinx-tabs


Namesphinx-tabs JSON
Version 3.4.5 PyPI version JSON
download
home_pagehttps://github.com/executablebooks/sphinx-tabs
SummaryTabbed views for Sphinx
upload_time2024-01-21 12:13:39
maintainer
docs_urlNone
authordjungelorm
requires_python~=3.7
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # sphinx-tabs

[![Github-CI][github-ci]][github-link]
[![Coverage Status][codecov-badge]][codecov-link]
[![PyPI][pypi-badge]][pypi-link]

Create tabbed content in [Sphinx documentation](http://www.sphinx-doc.org) when building HTML.

For example, see the [Raw] code of [docs/index.rst](docs/index.rst) which generates the following:

A live demo can be found here: <https://sphinx-tabs.readthedocs.io>

![Tabs](/images/tabs.gif)

## Installation

```bash
pip install sphinx-tabs
```

To enable the extension in Sphinx, add the following to your conf.py:

```python
extensions = ['sphinx_tabs.tabs']
```

If needed, there is a configuration option to allow additional builders to be considered compatible. For example, to add the `linkcheck` builder, add the following to your conf.py:

```python
sphinx_tabs_valid_builders = ['linkcheck']
```

If you are using [Read The Docs](https://readthedocs.org/) for building your documentation, the extension must be added as a requirement. Please add the following to `requirements.txt` at the root of the project:

```
sphinx-tabs
```

## Contributing

We welcome all contributions!
See the [EBP Contributing Guide](https://executablebooks.org/en/latest/contributing.html) for general details.

The simplest way to run tests is to install [pre-commit](https://pre-commit.com/) for linting and [tox](https://tox.readthedocs.io) for unit tests and documentation build:

```console
$ pre-commit run --all
```

```console
$ tox -p
```

## Basic Tabs

Basic tabs can be coded as follows:

```rst
.. tabs::

   .. tab:: Apples

      Apples are green, or sometimes red.

   .. tab:: Pears

      Pears are green.

   .. tab:: Oranges

      Oranges are orange.
```

![Tabs](/images/tabs.gif)

The contents of each tab can be displayed by clicking on the tab that you wish to show. Clicking on the tab that is currently open will hide the tab's content, leaving only the tab set labels visible.

Alternatively, tab sets can be focused using :kbd:`Tab`. The :kbd:`Left Arrow` and :kbd:`Right Arrow` keys can then be used to navigate across the tab set and :kbd:`Enter` can be used to select a tab.

## Grouped Tabs

Tabs can be grouped, so that changing the current tab in one tabset changes the current tab in all other tabsets containing a tab with a matching label.
For example:

```rst
.. tabs::

   .. group-tab:: Linux

      Linux Line 1

   .. group-tab:: Mac OSX

      Mac OSX Line 1

   .. group-tab:: Windows

      Windows Line 1

.. tabs::

   .. group-tab:: Linux

      Linux Line 1

   .. group-tab:: Mac OSX

      Mac OSX Line 1

   .. group-tab:: Windows

      Windows Line 1
```

![Group Tabs](/images/groupTabs.gif)

If permitted by the user's browser, the last selected group tab will be remembered when changing page. As such, if any tabsets on the next page contain a tab with the same label it will be selected.


## Code Tabs

Grouped tabs containing code with syntax highlighting can be created as follows:

```rst
.. tabs::

   .. code-tab:: c

         int main(const int argc, const char **argv) {
           return 0;
         }

   .. code-tab:: c++

         int main(const int argc, const char **argv) {
           return 0;
         }

   .. code-tab:: py

         def main():
             return

   .. code-tab:: java

         class Main {
             public static void main(String[] args) {
             }
         }

   .. code-tab:: julia

         function main()
         end

   .. code-tab:: fortran

         PROGRAM main
         END PROGRAM main
```

![Code Tabs](/images/codeTabs.gif)

Code tabs also support custom lexers (added via sphinx `conf.py`). Pass the lexers alias as the first argument of `code-tab`.

By default, code tabs are labelled with the language name, though a custom label can be provided as an optional second argument to the `code-tabs` directive:

```rst
.. tabs::

   .. code-tab:: c I love C

         int main(const int argc, const char **argv) {
           return 0;
         }

   .. code-tab:: py I love Python more

         def main():
             return

```

The tab label is used to group tabs, including `code-tabs`. As such, the same custom label should be used to group related tabs.

[github-ci]: https://github.com/executablebooks/sphinx-tabs/workflows/continuous-integration/badge.svg?branch=master
[github-link]: https://github.com/executablebooks/sphinx-tabs
[pypi-badge]: https://img.shields.io/pypi/v/sphinx-tabs.svg
[pypi-link]: https://pypi.org/project/sphinx-tabs
[codecov-badge]: https://codecov.io/gh/executablebooks/sphinx-tabs/branch/master/graph/badge.svg
[codecov-link]: https://codecov.io/gh/executablebooks/sphinx-tabs



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/executablebooks/sphinx-tabs",
    "name": "sphinx-tabs",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "~=3.7",
    "maintainer_email": "",
    "keywords": "",
    "author": "djungelorm",
    "author_email": "djungelorm@users.noreply.github.com",
    "download_url": "https://files.pythonhosted.org/packages/27/32/ab475e252dc2b704e82a91141fa404cdd8901a5cf34958fd22afacebfccd/sphinx-tabs-3.4.5.tar.gz",
    "platform": null,
    "description": "# sphinx-tabs\n\n[![Github-CI][github-ci]][github-link]\n[![Coverage Status][codecov-badge]][codecov-link]\n[![PyPI][pypi-badge]][pypi-link]\n\nCreate tabbed content in [Sphinx documentation](http://www.sphinx-doc.org) when building HTML.\n\nFor example, see the [Raw] code of [docs/index.rst](docs/index.rst) which generates the following:\n\nA live demo can be found here: <https://sphinx-tabs.readthedocs.io>\n\n![Tabs](/images/tabs.gif)\n\n## Installation\n\n```bash\npip install sphinx-tabs\n```\n\nTo enable the extension in Sphinx, add the following to your conf.py:\n\n```python\nextensions = ['sphinx_tabs.tabs']\n```\n\nIf needed, there is a configuration option to allow additional builders to be considered compatible. For example, to add the `linkcheck` builder, add the following to your conf.py:\n\n```python\nsphinx_tabs_valid_builders = ['linkcheck']\n```\n\nIf you are using [Read The Docs](https://readthedocs.org/) for building your documentation, the extension must be added as a requirement. Please add the following to `requirements.txt` at the root of the project:\n\n```\nsphinx-tabs\n```\n\n## Contributing\n\nWe welcome all contributions!\nSee the [EBP Contributing Guide](https://executablebooks.org/en/latest/contributing.html) for general details.\n\nThe simplest way to run tests is to install [pre-commit](https://pre-commit.com/) for linting and [tox](https://tox.readthedocs.io) for unit tests and documentation build:\n\n```console\n$ pre-commit run --all\n```\n\n```console\n$ tox -p\n```\n\n## Basic Tabs\n\nBasic tabs can be coded as follows:\n\n```rst\n.. tabs::\n\n   .. tab:: Apples\n\n      Apples are green, or sometimes red.\n\n   .. tab:: Pears\n\n      Pears are green.\n\n   .. tab:: Oranges\n\n      Oranges are orange.\n```\n\n![Tabs](/images/tabs.gif)\n\nThe contents of each tab can be displayed by clicking on the tab that you wish to show. Clicking on the tab that is currently open will hide the tab's content, leaving only the tab set labels visible.\n\nAlternatively, tab sets can be focused using :kbd:`Tab`. The :kbd:`Left Arrow` and :kbd:`Right Arrow` keys can then be used to navigate across the tab set and :kbd:`Enter` can be used to select a tab.\n\n## Grouped Tabs\n\nTabs can be grouped, so that changing the current tab in one tabset changes the current tab in all other tabsets containing a tab with a matching label.\nFor example:\n\n```rst\n.. tabs::\n\n   .. group-tab:: Linux\n\n      Linux Line 1\n\n   .. group-tab:: Mac OSX\n\n      Mac OSX Line 1\n\n   .. group-tab:: Windows\n\n      Windows Line 1\n\n.. tabs::\n\n   .. group-tab:: Linux\n\n      Linux Line 1\n\n   .. group-tab:: Mac OSX\n\n      Mac OSX Line 1\n\n   .. group-tab:: Windows\n\n      Windows Line 1\n```\n\n![Group Tabs](/images/groupTabs.gif)\n\nIf permitted by the user's browser, the last selected group tab will be remembered when changing page. As such, if any tabsets on the next page contain a tab with the same label it will be selected.\n\n\n## Code Tabs\n\nGrouped tabs containing code with syntax highlighting can be created as follows:\n\n```rst\n.. tabs::\n\n   .. code-tab:: c\n\n         int main(const int argc, const char **argv) {\n           return 0;\n         }\n\n   .. code-tab:: c++\n\n         int main(const int argc, const char **argv) {\n           return 0;\n         }\n\n   .. code-tab:: py\n\n         def main():\n             return\n\n   .. code-tab:: java\n\n         class Main {\n             public static void main(String[] args) {\n             }\n         }\n\n   .. code-tab:: julia\n\n         function main()\n         end\n\n   .. code-tab:: fortran\n\n         PROGRAM main\n         END PROGRAM main\n```\n\n![Code Tabs](/images/codeTabs.gif)\n\nCode tabs also support custom lexers (added via sphinx `conf.py`). Pass the lexers alias as the first argument of `code-tab`.\n\nBy default, code tabs are labelled with the language name, though a custom label can be provided as an optional second argument to the `code-tabs` directive:\n\n```rst\n.. tabs::\n\n   .. code-tab:: c I love C\n\n         int main(const int argc, const char **argv) {\n           return 0;\n         }\n\n   .. code-tab:: py I love Python more\n\n         def main():\n             return\n\n```\n\nThe tab label is used to group tabs, including `code-tabs`. As such, the same custom label should be used to group related tabs.\n\n[github-ci]: https://github.com/executablebooks/sphinx-tabs/workflows/continuous-integration/badge.svg?branch=master\n[github-link]: https://github.com/executablebooks/sphinx-tabs\n[pypi-badge]: https://img.shields.io/pypi/v/sphinx-tabs.svg\n[pypi-link]: https://pypi.org/project/sphinx-tabs\n[codecov-badge]: https://codecov.io/gh/executablebooks/sphinx-tabs/branch/master/graph/badge.svg\n[codecov-link]: https://codecov.io/gh/executablebooks/sphinx-tabs\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Tabbed views for Sphinx",
    "version": "3.4.5",
    "project_urls": {
        "Homepage": "https://github.com/executablebooks/sphinx-tabs"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "209f4ac7dbb9f23a2ff5a10903a4f9e9f43e0ff051f63a313e989c962526e305",
                "md5": "6e47bf5de3c1833caf0fd73b3744361e",
                "sha256": "92cc9473e2ecf1828ca3f6617d0efc0aa8acb06b08c56ba29d1413f2f0f6cf09"
            },
            "downloads": -1,
            "filename": "sphinx_tabs-3.4.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6e47bf5de3c1833caf0fd73b3744361e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "~=3.7",
            "size": 9904,
            "upload_time": "2024-01-21T12:13:37",
            "upload_time_iso_8601": "2024-01-21T12:13:37.670896Z",
            "url": "https://files.pythonhosted.org/packages/20/9f/4ac7dbb9f23a2ff5a10903a4f9e9f43e0ff051f63a313e989c962526e305/sphinx_tabs-3.4.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2732ab475e252dc2b704e82a91141fa404cdd8901a5cf34958fd22afacebfccd",
                "md5": "b3c754c86a2923c647be216fe0096d9d",
                "sha256": "ba9d0c1e3e37aaadd4b5678449eb08176770e0fc227e769b6ce747df3ceea531"
            },
            "downloads": -1,
            "filename": "sphinx-tabs-3.4.5.tar.gz",
            "has_sig": false,
            "md5_digest": "b3c754c86a2923c647be216fe0096d9d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "~=3.7",
            "size": 16070,
            "upload_time": "2024-01-21T12:13:39",
            "upload_time_iso_8601": "2024-01-21T12:13:39.392372Z",
            "url": "https://files.pythonhosted.org/packages/27/32/ab475e252dc2b704e82a91141fa404cdd8901a5cf34958fd22afacebfccd/sphinx-tabs-3.4.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-21 12:13:39",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "executablebooks",
    "github_project": "sphinx-tabs",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "sphinx-tabs"
}
        
Elapsed time: 0.18236s