All Projects → executablebooks → Sphinx Tabs

executablebooks / Sphinx Tabs

Licence: mit
Tabbed views for Sphinx

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Sphinx Tabs

Documentation
📘 Nextcloud documentation
Stars: ✭ 268 (+87.41%)
Mutual labels:  documentation, sphinx
Sphinx
Main repository for the Sphinx documentation builder
Stars: ✭ 4,313 (+2916.08%)
Mutual labels:  documentation, sphinx
Sphinx Gallery
Sphinx extension for automatic generation of an example gallery
Stars: ✭ 239 (+67.13%)
Mutual labels:  documentation, sphinx
Flask Sphinx Themes
Sphinx themes for Pallets projects
Stars: ✭ 164 (+14.69%)
Mutual labels:  documentation, sphinx
Hawkmoth
Hawkmoth - Sphinx Autodoc for C
Stars: ✭ 31 (-78.32%)
Mutual labels:  documentation, sphinx
Docs
MinIO Object Storage Documentation
Stars: ✭ 488 (+241.26%)
Mutual labels:  documentation, sphinx
Doc2dash
Create docsets for Dash.app-compatible API browser.
Stars: ✭ 380 (+165.73%)
Mutual labels:  documentation, sphinx
Awesome Docs With Static Site Generators
Pointers to all templates and implementations based on static site generators
Stars: ✭ 44 (-69.23%)
Mutual labels:  documentation, sphinx
Symbiflow Arch Defs
FOSS architecture definitions of FPGA hardware useful for doing PnR device generation.
Stars: ✭ 137 (-4.2%)
Mutual labels:  documentation, sphinx
Awesome Sphinxdoc
A curated list of awesome tools for Sphinx Python Documentation Generator
Stars: ✭ 716 (+400.7%)
Mutual labels:  documentation, sphinx
Sphinx Automodapi
Sphinx extension for generating API documentation
Stars: ✭ 36 (-74.83%)
Mutual labels:  documentation, sphinx
Docs
Documentation site
Stars: ✭ 128 (-10.49%)
Mutual labels:  documentation, sphinx
Scuttlebutt Protocol Guide
Protocol documentation for Secure Scuttlebutt
Stars: ✭ 137 (-4.2%)
Mutual labels:  documentation
X0
Document & develop React components without breaking a sweat
Stars: ✭ 1,706 (+1093.01%)
Mutual labels:  documentation
Ios Team Norms
Chinamobo iOS 团队规范
Stars: ✭ 136 (-4.9%)
Mutual labels:  documentation
Widoco
Wizard for documenting ontologies. WIDOCO is a step by step generator of HTML templates with the documentation of your ontology. It uses the LODE environment to create part of the template.
Stars: ✭ 136 (-4.9%)
Mutual labels:  documentation
Doxdox
📚 JSDoc to Markdown, Bootstrap, and custom Handlebars template documentation generator.
Stars: ✭ 139 (-2.8%)
Mutual labels:  documentation
Pep8 Ja
PEP8 日本語版
Stars: ✭ 138 (-3.5%)
Mutual labels:  documentation
Kirby Secrets
Unofficial documentation for Kirby CMS. It's is NOT maintained by the Kirby crew.
Stars: ✭ 136 (-4.9%)
Mutual labels:  documentation
App Talk
Let iOS apps talk - A user contributable directory of iOS apps with x-callback-urls.
Stars: ✭ 136 (-4.9%)
Mutual labels:  documentation

sphinx-tabs

Github-CI Coverage Status PyPI

Create tabbed content in Sphinx documentation when building HTML.

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

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

Tabs

Installation

pip install sphinx-tabs

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

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:

sphinx_tabs_valid_builders = ['linkcheck']

If you are using Read The Docs 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 for general details.

The simplest way to run tests is to install pre-commit for linting and tox for unit tests and documentation build:

$ pre-commit run --all
$ tox -p

Basic Tabs

Basic tabs can be coded as follows:

.. tabs::

   .. tab:: Apples

      Apples are green, or sometimes red.

   .. tab:: Pears

      Pears are green.

   .. tab:: Oranges

      Oranges are orange.

Tabs

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:

.. 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

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:

.. 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

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:

.. 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].