Import Upstream version 3.2.0
This commit is contained in:
commit
e79eb46a9a
|
@ -0,0 +1,81 @@
|
|||
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
|
||||
|
||||
name: continuous-integration
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
tags:
|
||||
- 'v*'
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
|
||||
py-tests:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: [3.6, 3.7, 3.8]
|
||||
sphinx: [">=2,<3", ">=3,<4", "==4.0.0b1"]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install "sphinx${{ matrix.sphinx }}"
|
||||
pip install .[testing]
|
||||
- name: Run pytest
|
||||
run: |
|
||||
pytest --cov=sphinx_tabs --cov-report=xml --cov-report=term-missing
|
||||
- name: Upload to Codecov
|
||||
if: matrix.python-version == 3.7 && matrix.sphinx == '>=3,<4' && github.repository == 'executablebooks/sphinx-tabs'
|
||||
uses: codecov/codecov-action@v1
|
||||
with:
|
||||
name: sphinx-tabs-pytests-py3.7
|
||||
flags: pytests
|
||||
file: ./coverage.xml
|
||||
fail_ci_if_error: true
|
||||
|
||||
js-tests:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js 15
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: '15'
|
||||
- name: Install jest
|
||||
run: npm install jest@26.6.3
|
||||
- name: Run JS tests
|
||||
run: npm test
|
||||
|
||||
publish:
|
||||
|
||||
name: Publish to PyPi
|
||||
needs: [py-tests, js-tests]
|
||||
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout source
|
||||
uses: actions/checkout@v2
|
||||
- name: Set up Python 3.7
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.7
|
||||
- name: Build package
|
||||
run: |
|
||||
pip install wheel
|
||||
python setup.py sdist bdist_wheel
|
||||
- name: Publish
|
||||
uses: pypa/gh-action-pypi-publish@v1.1.0
|
||||
with:
|
||||
user: __token__
|
||||
password: ${{ secrets.PYPI_KEY }}
|
|
@ -0,0 +1,11 @@
|
|||
build
|
||||
_build
|
||||
dist
|
||||
test-output
|
||||
*.egg*
|
||||
docs/.doctrees
|
||||
.tox/
|
||||
.vscode/
|
||||
__pycache__
|
||||
*.pyc
|
||||
.DS_Store
|
|
@ -0,0 +1,38 @@
|
|||
repos:
|
||||
|
||||
- repo: git://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v4.0.1
|
||||
hooks:
|
||||
- id: check-json
|
||||
- id: check-yaml
|
||||
- id: end-of-file-fixer
|
||||
- id: trailing-whitespace
|
||||
exclude:
|
||||
".xml"
|
||||
|
||||
- repo: https://github.com/mgedmin/check-manifest
|
||||
rev: "0.46"
|
||||
hooks:
|
||||
- id: check-manifest
|
||||
|
||||
- repo: https://github.com/psf/black
|
||||
rev: 21.7b0
|
||||
hooks:
|
||||
- id: black
|
||||
|
||||
- repo: https://github.com/PyCQA/pylint
|
||||
rev: v2.9.5
|
||||
hooks:
|
||||
- id: pylint
|
||||
args:
|
||||
- --disable=missing-docstring,similarities,fixme,bad-continuation
|
||||
additional_dependencies:
|
||||
- sphinx
|
||||
- docutils
|
||||
- pygments
|
||||
exclude: >
|
||||
(?x)^(
|
||||
setup.py|
|
||||
tests/.*|
|
||||
docs/.*
|
||||
)$
|
|
@ -0,0 +1,14 @@
|
|||
version: 2
|
||||
|
||||
python:
|
||||
version: 3
|
||||
install:
|
||||
- method: pip
|
||||
path: .
|
||||
|
||||
sphinx:
|
||||
builder: html
|
||||
fail_on_warning: true
|
||||
|
||||
formats:
|
||||
- pdf
|
|
@ -0,0 +1,178 @@
|
|||
# Change Log
|
||||
|
||||
## 3.2.0 - 2021-06-11
|
||||
|
||||
### Fixed
|
||||
|
||||
* 🐛 Added default value for `exports` in JavaScript. Removes error that `exports` is not defined on page
|
||||
|
||||
### Added
|
||||
|
||||
* 👌 Use of [`sphinx` HTML assets policy](https://github.com/sphinx-doc/sphinx/issues/9115) to decide whether include assets
|
||||
|
||||
## 3.1.0 - 2021-06-11
|
||||
|
||||
### Added
|
||||
|
||||
* 👌 Added new sphinx config `sphinx_tabs_disable_css_loading` option to disable css from loading
|
||||
|
||||
## 3.0.0 - 2021-05-10
|
||||
|
||||
### Fixed
|
||||
|
||||
* 🐛 Update for compatibility with Sphinx 4
|
||||
|
||||
## 2.1.0 - 2021-03-10
|
||||
|
||||
### Fixed
|
||||
|
||||
* 🐛 Tabs with nested content becoming hidden on click
|
||||
|
||||
### Improved
|
||||
|
||||
* 👌 Added new sphinx config option `sphinx_tabs_disable_tab_closing` to allow new tab closing functionality to be disabled globally (better backwards compatibility with sphinx-tabs<2)
|
||||
|
||||
|
||||
## 2.0.1 - 2021-02-07
|
||||
|
||||
### Fixed
|
||||
|
||||
* Nested parsing of tab labels, to support use of reST roles within label text
|
||||
* Parsing tabs with unsupported builders, including for pdf
|
||||
|
||||
### Added
|
||||
|
||||
* Test for successful pdf building using `rinohtype`
|
||||
|
||||
## 2.0.0 - 2021-01-24
|
||||
|
||||
♻️ Refactor to reduce JS/CSS payload size and improve accesibility:
|
||||
|
||||
* Removed semantic-ui assets
|
||||
* Removed unused 'sphinx_tabs_nowarn' sphinx option
|
||||
* JS/CSS assets are now copied across by sphinx when builing, rather than being copied by the extension
|
||||
* Changed tab HTML to use tab roles
|
||||
* Changed tab label colour, to increase contrast with background
|
||||
* Added ARIA labels for tabs and panels
|
||||
* Added tabindex atributes to allow users to focus and switch tabs using a keyboard
|
||||
* Added a margin below images inside tab content
|
||||
|
||||
✨ New features:
|
||||
|
||||
* Selecting an open tab now closes the tabs panel
|
||||
* The last selected group tab persists between pages (if the browser supports session storage)
|
||||
|
||||
## 1.3.0 - 2020-09-08
|
||||
|
||||
♻️ Major refactor of tabs, group-tabs and code-tabs (thanks to [@foster999](https://github.com/foster999)):
|
||||
|
||||
* Removes hard-coded reStructuredText for group and code tabs, so that this works with other parsers (inc `MyST Markdown`)
|
||||
* group-tab directive now subclasses `TabDirective` to remove duplicated run code
|
||||
* likewise, `code-tab` now subclasses `group-tab`
|
||||
* `TabDirective` and `TabsDirective` now subclass `SphinxDirective` for easier access to directive `env`
|
||||
|
||||
🧪 testing infrastructure has now fully moved from unittest to pytest
|
||||
|
||||
✨ New features:
|
||||
|
||||
* Can now pass `code-tabs` with a second argument (allowing whitespace) to provide an alternative tab label
|
||||
* `code-tabs` can now use custom lexers, which are added to the sphinx app in `conf.py`
|
||||
|
||||
## v1.2.1 - 2020-08-20
|
||||
|
||||
🐛 FIX: Remove `app.add_javascript` use for sphinx v2
|
||||
|
||||
## v1.2.0 - 2020-08-18
|
||||
|
||||
`sphinx-tabs` has now moved to the [EBP organisation](https://executablebooks.org) 🎉
|
||||
|
||||
### Deprecated 🗑
|
||||
|
||||
- Python < 3.5 and Sphinx < 2 support dropped
|
||||
|
||||
### Improved 👌
|
||||
|
||||
- Lots of code and CI restructuring (see [EBP Migration (#76)](https://github.com/executablebooks/sphinx-tabs/commit/6342ed3f1f7d4cb50891001f26d4e3c4c08ee422))
|
||||
|
||||
### Fixed 🐛
|
||||
|
||||
- Replace `add_javascript` by `add_js` for sphinx>=3 (removes warning!),
|
||||
thanks to [@Daltz333](https://github.com/Daltz333)
|
||||
|
||||
## v1.1.13
|
||||
|
||||
- Marked the extension as parallel safe (#46)
|
||||
|
||||
## v1.1.12
|
||||
|
||||
- Fix bug in Internet Explorer (#33)
|
||||
- Drop support for Python 3.4 (as lxml no longer supports it)
|
||||
|
||||
## v1.1.11
|
||||
|
||||
- Support for Sphinx 2
|
||||
- Update to Semantic UI 2.4.1
|
||||
- Fix oversize tabs in Sphinx 2 (#38)
|
||||
- Various bug fixes
|
||||
|
||||
## v1.1.10
|
||||
|
||||
- Fix group tabs behaviour (#31)
|
||||
|
||||
## v1.1.9
|
||||
|
||||
- Fix copying of tab assets (JS and CSS) when module is installed as a python egg
|
||||
- Make tabs wrap on narrow screens (#30)
|
||||
- Add support for nested tabs (#29)
|
||||
|
||||
## v1.1.8
|
||||
|
||||
- Add support for :linenos: to code tabs (#22)
|
||||
- Improve fallback for non-HTML builders (#19)
|
||||
- Add spelling builder to list of builders (#20)
|
||||
- Fix naming a tab as a number (#24)
|
||||
|
||||
## v1.1.7
|
||||
|
||||
- Fix css files not being removed when tabs are not used on a page
|
||||
- Now require sphinx>=1.4
|
||||
- Fix issues with script and css includes on readthedocs (#17)
|
||||
|
||||
## v1.1.6
|
||||
|
||||
- Don't emit an additional error in the copy assets handler if the build process fails
|
||||
|
||||
## v1.1.5
|
||||
|
||||
- Add sphinx_tabs_nowarn option to disable warning about incompatible builder. Useful when running sphinx-build with the -W flag
|
||||
|
||||
## v1.1.4
|
||||
|
||||
- Fix broken javascript file inclusion
|
||||
|
||||
## v1.1.3
|
||||
|
||||
- Insert CSS and JS files after custom ones add in conf.py
|
||||
|
||||
## v1.1.2
|
||||
|
||||
- Add support for dirhtml builder
|
||||
|
||||
## v1.1.1
|
||||
|
||||
- Allow multiple group tabs with the same name (the ordering of the tabs is used to determine the group ids)
|
||||
- Use b64 encoding of group id for group tabs to avoid illegal character in CSS class
|
||||
|
||||
## v1.1.0
|
||||
|
||||
- Fix issue with multiple words in tab titles
|
||||
- Add support for markup in tab titles
|
||||
- Fix graphical glitches caused by illegal characters in group tab ids
|
||||
|
||||
## v1.0.1
|
||||
|
||||
- Fix possible exception when adding/removing CSS/JS files from the context
|
||||
|
||||
## v1.0.0
|
||||
|
||||
- Initial version
|
|
@ -0,0 +1,21 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2017 djungelorm
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
|
@ -0,0 +1,23 @@
|
|||
exclude docs
|
||||
recursive-exclude docs *
|
||||
exclude tests
|
||||
recursive-exclude tests *
|
||||
exclude images
|
||||
recursive-exclude images *
|
||||
|
||||
exclude .pre-commit-config.yaml
|
||||
exclude .readthedocs.yml
|
||||
exclude pylint.cfg
|
||||
exclude tox.ini
|
||||
exclude codecov.yml
|
||||
|
||||
include LICENSE
|
||||
include README.md
|
||||
include CHANGELOG.md
|
||||
|
||||
recursive-include sphinx_tabs *.css
|
||||
recursive-include sphinx_tabs *.js
|
||||
|
||||
include *.js
|
||||
include *.json
|
||||
recursive-include __tests__ *.js
|
|
@ -0,0 +1,191 @@
|
|||
# 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
|
|
@ -0,0 +1,126 @@
|
|||
const { changeTabs } = require("../sphinx_tabs/static/tabs");
|
||||
global.scrollTo = jest.fn();
|
||||
|
||||
describe("changeTabs", () => {
|
||||
it("changes tab when new tab is selected", () => {
|
||||
document.body.innerHTML =
|
||||
'<div>' +
|
||||
' <div>' +
|
||||
' <button id="tab-1" aria-controls="panel-1" aria-selected="true">Test tab 1</button>' +
|
||||
' <button id="tab-2" aria-controls="panel-2" aria-selected="false">Test tab 2</button>' +
|
||||
' </div>' +
|
||||
' <div id="panel-1">Test panel 1</div>' +
|
||||
' <div id="panel-2" hidden="true">Test panel 2</div>' +
|
||||
'</div>';
|
||||
|
||||
const allTabs = document.querySelectorAll('button');
|
||||
allTabs.forEach(tab => {
|
||||
tab.addEventListener("click", changeTabs);
|
||||
});
|
||||
|
||||
let tab1 = document.getElementById('tab-1');
|
||||
let tab2 = document.getElementById('tab-2');
|
||||
let panel1 = document.getElementById('panel-1');
|
||||
let panel2 = document.getElementById('panel-2');
|
||||
expect(tab1.getAttribute('aria-selected')).toEqual('true');
|
||||
expect(tab2.getAttribute('aria-selected')).toEqual('false');
|
||||
expect(panel1.getAttribute('hidden')).toEqual(null);
|
||||
expect(panel2.getAttribute('hidden')).toEqual('true');
|
||||
|
||||
tab2.click()
|
||||
|
||||
expect(tab1.getAttribute('aria-selected')).toEqual('false');
|
||||
expect(tab2.getAttribute('aria-selected')).toEqual('true');
|
||||
expect(panel1.getAttribute('hidden')).toEqual('true');
|
||||
expect(panel2.getAttribute('hidden')).toEqual(null);
|
||||
|
||||
tab1.click();
|
||||
|
||||
expect(tab1.getAttribute('aria-selected')).toEqual('true');
|
||||
expect(tab2.getAttribute('aria-selected')).toEqual('false');
|
||||
expect(panel1.getAttribute('hidden')).toEqual(null);
|
||||
expect(panel2.getAttribute('hidden')).toEqual('true');
|
||||
})
|
||||
it("closes tab in closeable tabList when selected", () => {
|
||||
document.body.innerHTML =
|
||||
'<div>' +
|
||||
' <div class="closeable">' +
|
||||
' <button id="tab-1" aria-controls="panel-1" aria-selected="true">Test tab 1</button>' +
|
||||
' </div>' +
|
||||
' <div id="panel-1">Test panel 1</div>' +
|
||||
'</div>';
|
||||
|
||||
let tab = document.getElementById('tab-1');
|
||||
let panel = document.getElementById('panel-1');
|
||||
tab.addEventListener("click", changeTabs);
|
||||
|
||||
expect(tab.getAttribute('aria-selected')).toEqual('true');
|
||||
expect(panel.getAttribute('hidden')).toEqual(null);
|
||||
|
||||
// Close
|
||||
tab.click();
|
||||
|
||||
expect(tab.getAttribute('aria-selected')).toEqual('false');
|
||||
expect(panel.getAttribute('hidden')).toEqual('true');
|
||||
|
||||
// Re-open
|
||||
tab.click();
|
||||
|
||||
expect(tab.getAttribute('aria-selected')).toEqual('true');
|
||||
expect(panel.getAttribute('hidden')).toEqual(null);
|
||||
})
|
||||
it("does not close tab in non-closeable tabList when selected", () => {
|
||||
document.body.innerHTML =
|
||||
'<div>' +
|
||||
' <div>' +
|
||||
' <button id="tab-1" aria-controls="panel-1" aria-selected="true">Test tab 1</button>' +
|
||||
' </div>' +
|
||||
' <div id="panel-1">Test panel 1</div>' +
|
||||
'</div>';
|
||||
|
||||
let tab = document.getElementById('tab-1');
|
||||
let panel = document.getElementById('panel-1');
|
||||
tab.addEventListener("click", changeTabs);
|
||||
|
||||
expect(tab.getAttribute('aria-selected')).toEqual('true');
|
||||
expect(panel.getAttribute('hidden')).toEqual(null);
|
||||
|
||||
tab.click();
|
||||
|
||||
expect(tab.getAttribute('aria-selected')).toEqual('true');
|
||||
expect(panel.getAttribute('hidden')).toEqual(null);
|
||||
})
|
||||
it("changes tab when content nested inside the tab is clicked", () => {
|
||||
document.body.innerHTML =
|
||||
'<div>' +
|
||||
' <div>' +
|
||||
' <button id="tab-1" aria-controls="panel-1" aria-selected="true">Test tab 1</button>' +
|
||||
' <button id="tab-2" aria-controls="panel-2" aria-selected="false"><strong id=bold>Test tab 2</strong></button>' +
|
||||
' </div>' +
|
||||
' <div id="panel-1">Test panel 1</div>' +
|
||||
' <div id="panel-2" hidden="true">Test panel 2</div>' +
|
||||
'</div>';
|
||||
|
||||
let tab1 = document.getElementById('tab-1');
|
||||
let tab2 = document.getElementById('tab-2');
|
||||
let panel1 = document.getElementById('panel-1');
|
||||
let panel2 = document.getElementById('panel-2');
|
||||
expect(tab1.getAttribute('aria-selected')).toEqual('true');
|
||||
expect(tab2.getAttribute('aria-selected')).toEqual('false');
|
||||
expect(panel1.getAttribute('hidden')).toEqual(null);
|
||||
expect(panel2.getAttribute('hidden')).toEqual('true');
|
||||
|
||||
let tab_2_text = document.getElementById('bold');
|
||||
expect(tab_2_text.getAttribute('hidden')).toEqual(null);
|
||||
|
||||
tab2.addEventListener("click", changeTabs);
|
||||
tab_2_text.click();
|
||||
|
||||
expect(tab1.getAttribute('aria-selected')).toEqual('false');
|
||||
expect(tab2.getAttribute('aria-selected')).toEqual('true');
|
||||
expect(panel1.getAttribute('hidden')).toEqual('true');
|
||||
expect(panel2.getAttribute('hidden')).toEqual(null);
|
||||
|
||||
expect(tab_2_text.getAttribute('hidden')).toEqual(null);
|
||||
})
|
||||
});
|
|
@ -0,0 +1,31 @@
|
|||
const { deselectTabList } = require("../sphinx_tabs/static/tabs");
|
||||
|
||||
describe("deselectTabList", () => {
|
||||
it("deselects all tabs in tablist when one tab is clicked", () => {
|
||||
document.body.innerHTML =
|
||||
'<div>' +
|
||||
' <div>' +
|
||||
' <button id="tab-1" aria-controls="panel-1" aria-selected="true">Test tab 1</button>' +
|
||||
' <button id="tab-2" aria-controls="panel-2" aria-selected="true">Test tab 2</button>' +
|
||||
' </div>' +
|
||||
' <div id="panel-1">Test panel 1</div>' +
|
||||
' <div id="panel-2">Test panel 2</div>' +
|
||||
'</div>';
|
||||
|
||||
let tab1 = document.getElementById('tab-1');
|
||||
let tab2 = document.getElementById('tab-2');
|
||||
let panel1 = document.getElementById('panel-1');
|
||||
let panel2 = document.getElementById('panel-2');
|
||||
expect(tab1.getAttribute('aria-selected')).toEqual('true');
|
||||
expect(tab2.getAttribute('aria-selected')).toEqual('true');
|
||||
expect(panel1.getAttribute('hidden')).toEqual(null);
|
||||
expect(panel2.getAttribute('hidden')).toEqual(null);
|
||||
|
||||
deselectTabList(tab1);
|
||||
|
||||
expect(tab1.getAttribute('aria-selected')).toEqual('false');
|
||||
expect(tab2.getAttribute('aria-selected')).toEqual('false');
|
||||
expect(panel1.getAttribute('hidden')).toEqual('true');
|
||||
expect(panel2.getAttribute('hidden')).toEqual('true');
|
||||
})
|
||||
})
|
|
@ -0,0 +1,106 @@
|
|||
const { selectNamedTabs } = require("../sphinx_tabs/static/tabs");
|
||||
|
||||
describe("selectNamedTabs", () => {
|
||||
it("selects tabs with name, but not clickedId", () => {
|
||||
document.body.innerHTML =
|
||||
'<div>' +
|
||||
' <div>' +
|
||||
' <button class="sphinx-tabs-tab" aria-controls="panel-1-1" aria-selected="true">Test tab 1</button>' +
|
||||
' <button class="sphinx-tabs-tab" aria-controls="panel-1-2" aria-selected="false" name="sharedName" id="clicked">Test tab 2</button>' +
|
||||
' </div>' +
|
||||
' <div id="panel-1-1">Test panel 1</div>' +
|
||||
' <div id="panel-1-2" hidden="true"">Test panel 2</div>' +
|
||||
'</div>' +
|
||||
'<div>' +
|
||||
' <div>' +
|
||||
' <button class="sphinx-tabs-tab" aria-controls="panel-2-1" aria-selected="true">Test tab 1</button>' +
|
||||
' <button class="sphinx-tabs-tab" aria-controls="panel-2-2" aria-selected="false" name="sharedName" id="notClicked">Test tab 2</button>' +
|
||||
' </div>' +
|
||||
' <div id="panel-2-1">Test panel 1</div>' +
|
||||
' <div id="panel-2-2" hidden="true">Test panel 2</div>' +
|
||||
'</div>';
|
||||
|
||||
let clickedTab = document.getElementById('clicked');
|
||||
let namedTab = document.getElementById('notClicked');
|
||||
let clickedTabPanel = document.getElementById('panel-1-2');
|
||||
let namedTabPanel = document.getElementById('panel-2-2');
|
||||
expect(clickedTab.getAttribute('aria-selected')).toEqual('false');
|
||||
expect(namedTab.getAttribute('aria-selected')).toEqual('false');
|
||||
expect(clickedTabPanel.getAttribute('hidden')).toEqual('true');
|
||||
expect(namedTabPanel.getAttribute('hidden')).toEqual('true');
|
||||
|
||||
selectNamedTabs("sharedName", clickedId="clicked");
|
||||
|
||||
expect(clickedTab.getAttribute('aria-selected')).toEqual('false');
|
||||
expect(namedTab.getAttribute('aria-selected')).toEqual('true');
|
||||
expect(clickedTabPanel.getAttribute('hidden')).toEqual("true");
|
||||
expect(namedTabPanel.getAttribute('hidden')).toEqual(null);
|
||||
})
|
||||
it("selects first tab with same name in another tabList", () => {
|
||||
document.body.innerHTML =
|
||||
'<div>' +
|
||||
' <div>' +
|
||||
' <button class="sphinx-tabs-tab" aria-controls="panel-1-1" aria-selected="true">Test tab 1</button>' +
|
||||
' <button class="sphinx-tabs-tab" aria-controls="panel-1-2" aria-selected="false" name="sharedName" id="clicked">Test tab 2</button>' +
|
||||
' </div>' +
|
||||
' <div id="panel-1-1">Test panel 1</div>' +
|
||||
' <div id="panel-1-2" hidden="true"">Test panel 2</div>' +
|
||||
'</div>' +
|
||||
'<div>' +
|
||||
' <div>' +
|
||||
' <button class="sphinx-tabs-tab" aria-controls="panel-2-1" aria-selected="true">Test tab 1</button>' +
|
||||
' <button class="sphinx-tabs-tab" aria-controls="panel-2-2" aria-selected="false" name="sharedName" id="notClicked1">Test tab 2</button>' +
|
||||
' <button class="sphinx-tabs-tab" aria-controls="panel-2-3" aria-selected="false" name="sharedName" id="notClicked2">Test tab 3</button>' +
|
||||
' </div>' +
|
||||
' <div id="panel-2-1">Test panel 1</div>' +
|
||||
' <div id="panel-2-2" hidden="true">Test panel 2</div>' +
|
||||
' <div id="panel-2-3" hidden="true">Test panel 3</div>' +
|
||||
'</div>';
|
||||
|
||||
let clickedTab = document.getElementById('clicked');
|
||||
let firstNamedTab = document.getElementById('notClicked1');
|
||||
let secondNamedTab = document.getElementById('notClicked2');
|
||||
|
||||
expect(clickedTab.getAttribute('aria-selected')).toEqual('false');
|
||||
expect(firstNamedTab.getAttribute('aria-selected')).toEqual('false');
|
||||
expect(secondNamedTab.getAttribute('aria-selected')).toEqual('false');
|
||||
|
||||
selectNamedTabs("sharedName", clickedId="clicked");
|
||||
|
||||
expect(clickedTab.getAttribute('aria-selected')).toEqual('false');
|
||||
expect(firstNamedTab.getAttribute('aria-selected')).toEqual('true');
|
||||
expect(secondNamedTab.getAttribute('aria-selected')).toEqual('false');
|
||||
})
|
||||
it("doesn't change selected tab if tabList does not contain the name", () => {
|
||||
document.body.innerHTML =
|
||||
'<div>' +
|
||||
' <div>' +
|
||||
' <button class="sphinx-tabs-tab" aria-controls="panel-1-1" aria-selected="true">Test tab 1</button>' +
|
||||
' <button class="sphinx-tabs-tab" aria-controls="panel-1-2" aria-selected="false" name="sharedName" id="clicked">Test tab 2</button>' +
|
||||
' </div>' +
|
||||
' <div id="panel-1-1">Test panel 1</div>' +
|
||||
' <div id="panel-1-2" hidden="true"">Test panel 2</div>' +
|
||||
'</div>' +
|
||||
'<div>' +
|
||||
' <div>' +
|
||||
' <button class="sphinx-tabs-tab" aria-controls="panel-2-1" aria-selected="true" id="tab-2-1" >Test tab 1</button>' +
|
||||
' <button class="sphinx-tabs-tab" aria-controls="panel-2-2" aria-selected="false" name="aName" id="tab-2-2">Test tab 2</button>' +
|
||||
' </div>' +
|
||||
' <div id="panel-2-1">Test panel 1</div>' +
|
||||
' <div id="panel-2-2" hidden="true">Test panel 2</div>' +
|
||||
'</div>';
|
||||
|
||||
let clickedTab = document.getElementById('clicked');
|
||||
let tab1Tabset2 = document.getElementById('tab-2-1');
|
||||
let tab2Tabset2 = document.getElementById('tab-2-2');
|
||||
expect(clickedTab.getAttribute('aria-selected')).toEqual('false');
|
||||
expect(tab1Tabset2.getAttribute('aria-selected')).toEqual('true');
|
||||
expect(tab2Tabset2.getAttribute('aria-selected')).toEqual('false');
|
||||
|
||||
selectNamedTabs("sharedName", clickedId="clicked");
|
||||
|
||||
expect(clickedTab.getAttribute('aria-selected')).toEqual('false');
|
||||
expect(tab1Tabset2.getAttribute('aria-selected')).toEqual('true');
|
||||
expect(tab2Tabset2.getAttribute('aria-selected')).toEqual('false');
|
||||
})
|
||||
})
|
|
@ -0,0 +1,38 @@
|
|||
const { selectTab } = require("../sphinx_tabs/static/tabs");
|
||||
|
||||
describe("selectTab", () => {
|
||||
test("unselected tab become selected", () => {
|
||||
document.body.innerHTML =
|
||||
'<div>' +
|
||||
' <button id="tab" aria-controls="panel" aria-selected="false">Test</button>' +
|
||||
' <div id="panel" hidden="true">Test</div>' +
|
||||
'</div>';
|
||||
|
||||
let tab = document.getElementById('tab');
|
||||
let panel = document.getElementById('panel');
|
||||
expect(tab.getAttribute('aria-selected')).toEqual('false');
|
||||
expect(panel.getAttribute('hidden')).toEqual("true");
|
||||
|
||||
selectTab(tab);
|
||||
|
||||
expect(tab.getAttribute('aria-selected')).toEqual('true');
|
||||
expect(panel.getAttribute('hidden')).toEqual(null);
|
||||
})
|
||||
test("selected tab stays selected", () => {
|
||||
document.body.innerHTML =
|
||||
'<div>' +
|
||||
' <button id="test-button" aria-controls="panel" aria-selected="true">Test</button>' +
|
||||
' <div id="panel">Test</div>' +
|
||||
'</div>';
|
||||
|
||||
let tab = document.getElementById('test-button');
|
||||
let panel = document.getElementById('panel');
|
||||
expect(tab.getAttribute('aria-selected')).toEqual('true');
|
||||
expect(panel.getAttribute('hidden')).toEqual(null);
|
||||
|
||||
selectTab(tab);
|
||||
|
||||
expect(tab.getAttribute('aria-selected')).toEqual('true');
|
||||
expect(panel.getAttribute('hidden')).toEqual(null);
|
||||
})
|
||||
})
|
|
@ -0,0 +1,10 @@
|
|||
coverage:
|
||||
status:
|
||||
project:
|
||||
default:
|
||||
target: 85%
|
||||
threshold: 0.5%
|
||||
patch:
|
||||
default:
|
||||
target: 80%
|
||||
threshold: 0.5%
|
|
@ -0,0 +1,5 @@
|
|||
project = "sphinx-tabs"
|
||||
master_doc = "index"
|
||||
source_suffix = ".rst"
|
||||
extensions = ["sphinx_tabs.tabs"]
|
||||
pygments_style = "sphinx"
|
|
@ -0,0 +1,387 @@
|
|||
Sphinx Tabs
|
||||
***********
|
||||
|
||||
Create tabbed content in `Sphinx documentation <http://www.sphinx-doc.org>`_ when building HTML.
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip install sphinx-tabs
|
||||
|
||||
To enable the extension in Sphinx, add the following to your conf.py:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
extensions = ['sphinx_tabs.tabs']
|
||||
|
||||
If you are using `Read The Docs <https://readthedocs.org/>`_ for building your documentation, the extension must be added as a requirement. Please add `sphinx-tabs` to `requirements.txt` at the root of the project or in your docs folder.
|
||||
|
||||
Sphinx Configuration
|
||||
====================
|
||||
|
||||
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`:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sphinx_tabs_valid_builders = ['linkcheck']
|
||||
|
||||
|
||||
By default, tabs can be closed by selecting the open tab. This functionality can be disabled using the `sphinx_tabs_disable_tab_closing` configuration option:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sphinx_tabs_disable_tab_closing = True
|
||||
|
||||
|
||||
Custom lexers that have been loaded in the sphinx `conf.py` can be used with `code-tabs`:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
def setup(app):
|
||||
app.add_lexer('alias', MyCustomLexer())
|
||||
|
||||
By default, the extension loads predefined CSS styles for tabs. To disable the CSS from loading, add the following to your `conf.py`:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sphinx_tabs_disable_css_loading = True
|
||||
|
||||
|
||||
Basic Tabs
|
||||
===========
|
||||
|
||||
All `sphinx-tabs` use the `tabs` directive to define a tab set. Basic tabs are added using the `tab` directive, which takes the tab's label as an argument:
|
||||
|
||||
.. code-block:: RST
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: Apples
|
||||
|
||||
Apples are green, or sometimes red.
|
||||
|
||||
.. tab:: Pears
|
||||
|
||||
Pears are green.
|
||||
|
||||
.. tab:: Oranges
|
||||
|
||||
Oranges are orange.
|
||||
|
||||
These will appear as:
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: Apples
|
||||
|
||||
Apples are green, or sometimes red.
|
||||
|
||||
.. tab:: Pears
|
||||
|
||||
Pears are green.
|
||||
|
||||
.. tab:: Oranges
|
||||
|
||||
Oranges are orange.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
Nested Tabs
|
||||
===========
|
||||
|
||||
Tabs can be nested inside one another:
|
||||
|
||||
.. code-block:: RST
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: Stars
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: The Sun
|
||||
|
||||
The closest star to us.
|
||||
|
||||
.. tab:: Proxima Centauri
|
||||
|
||||
The second closest star to us.
|
||||
|
||||
.. tab:: Polaris
|
||||
|
||||
The North Star.
|
||||
|
||||
.. tab:: Moons
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: The Moon
|
||||
|
||||
Orbits the Earth
|
||||
|
||||
.. tab:: Titan
|
||||
|
||||
Orbits Jupiter
|
||||
|
||||
|
||||
Nested tabs appear as:
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: Stars
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: The Sun
|
||||
|
||||
The closest star to us.
|
||||
|
||||
.. tab:: Proxima Centauri
|
||||
|
||||
The second closest star to us.
|
||||
|
||||
.. tab:: Polaris
|
||||
|
||||
The North Star.
|
||||
|
||||
.. tab:: Moons
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: The Moon
|
||||
|
||||
Orbits the Earth
|
||||
|
||||
.. tab:: Titan
|
||||
|
||||
Orbits Jupiter
|
||||
|
||||
Group Tabs
|
||||
==========
|
||||
|
||||
When multiple tab sets contain related content, the `group-tab` directive can be used to create group tabs:
|
||||
|
||||
.. code-block:: RST
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Linux
|
||||
|
||||
Linux tab content - tab set 1
|
||||
|
||||
.. group-tab:: Mac OSX
|
||||
|
||||
Mac OSX tab content - tab set 1
|
||||
|
||||
.. group-tab:: Windows
|
||||
|
||||
Windows tab content - tab set 1
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Linux
|
||||
|
||||
Linux tab content - tab set 2
|
||||
|
||||
.. group-tab:: Mac OSX
|
||||
|
||||
Mac OSX tab content - tab set 2
|
||||
|
||||
.. group-tab:: Windows
|
||||
|
||||
Windows tab content - tab set 2
|
||||
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Linux
|
||||
|
||||
Linux tab content - tab set 1
|
||||
|
||||
.. group-tab:: Mac OSX
|
||||
|
||||
Mac OSX tab content - tab set 1
|
||||
|
||||
.. group-tab:: Windows
|
||||
|
||||
Windows tab content - tab set 1
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Linux
|
||||
|
||||
Linux tab content - tab set 2
|
||||
|
||||
.. group-tab:: Mac OSX
|
||||
|
||||
Mac OSX tab content - tab set 2
|
||||
|
||||
.. group-tab:: Windows
|
||||
|
||||
Windows tab content - tab set 2
|
||||
|
||||
|
||||
The tab selection in these groups is synchronised, so selecting the 'Linux' tab of one tab set will open the 'Linux' tab contents in all tab sets on the current page.
|
||||
|
||||
If permitted by the user's browser, the last selected group tab will be remembered when changing page in the current session. As such, if any tabsets on the next page contain a tab with the same label it will be selected.
|
||||
|
||||
Code Tabs
|
||||
=========
|
||||
|
||||
A common use of group tabs is to show code examples in multiple programming languages. The `code-tab` directive creates a group tab and treats the tab content as a `code-block`.
|
||||
|
||||
The first argument to a `code-tab` is the name of the language to use for code highlighting, while the optional second argument is a custom label for the tab. By default, the tab is labelled using the lexer name. The tab label is used to group tabs, so the same custom label should be used to group related tabs.
|
||||
|
||||
.. code-block:: RST
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. code-tab:: c
|
||||
|
||||
C Main Function
|
||||
|
||||
.. code-tab:: c++
|
||||
|
||||
C++ Main Function
|
||||
|
||||
.. code-tab:: py
|
||||
|
||||
Python Main Function
|
||||
|
||||
.. code-tab:: java
|
||||
|
||||
Java Main Function
|
||||
|
||||
.. code-tab:: julia
|
||||
|
||||
Julia Main Function
|
||||
|
||||
.. code-tab:: fortran
|
||||
|
||||
Fortran Main Function
|
||||
|
||||
.. code-tab:: r R
|
||||
|
||||
R Main Function
|
||||
|
||||
.. 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-tab:: r R
|
||||
|
||||
main <- function() {
|
||||
return(0)
|
||||
}
|
||||
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. code-tab:: c
|
||||
|
||||
C Main Function
|
||||
|
||||
.. code-tab:: c++
|
||||
|
||||
C++ Main Function
|
||||
|
||||
.. code-tab:: py
|
||||
|
||||
Python Main Function
|
||||
|
||||
.. code-tab:: java
|
||||
|
||||
Java Main Function
|
||||
|
||||
.. code-tab:: julia
|
||||
|
||||
Julia Main Function
|
||||
|
||||
.. code-tab:: fortran
|
||||
|
||||
Fortran Main Function
|
||||
|
||||
.. code-tab:: r R
|
||||
|
||||
R Main Function
|
||||
|
||||
.. 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-tab:: r R
|
||||
|
||||
main <- function() {
|
||||
return(0)
|
||||
}
|
||||
|
||||
Code tabs support highlighting using `custom syntax highlighters <https://pygments.org/docs/lexerdevelopment/>`_ that have been loaded in the sphinx configuration. To use custom lexers, pass the lexers alias as the first argument of `code-tab`.
|
Binary file not shown.
After Width: | Height: | Size: 278 KiB |
Binary file not shown.
After Width: | Height: | Size: 175 KiB |
Binary file not shown.
After Width: | Height: | Size: 140 KiB |
|
@ -0,0 +1,6 @@
|
|||
/*
|
||||
* For a detailed explanation regarding each configuration property, visit:
|
||||
* https://jestjs.io/docs/en/configuration.html
|
||||
*/
|
||||
|
||||
module.exports = {};
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"scripts": {
|
||||
"test": "jest"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
[BASIC]
|
||||
extension-pkg-whitelist=lxml
|
||||
|
||||
[MESSAGES CONTROL]
|
||||
disable=missing-docstring,similarities,fixme,bad-continuation
|
||||
|
||||
[REPORTS]
|
||||
reports=no
|
|
@ -0,0 +1,62 @@
|
|||
#!/usr/bin/env python
|
||||
from os import path
|
||||
import re
|
||||
from setuptools import setup
|
||||
|
||||
|
||||
def get_version():
|
||||
text = open(path.join(path.dirname(__file__), "sphinx_tabs", "__init__.py")).read()
|
||||
match = re.compile(r"^__version__\s*\=\s*[\"\']([^\s\'\"]+)", re.M).search(text)
|
||||
return match.group(1)
|
||||
|
||||
|
||||
with open("README.md") as readme:
|
||||
long_description = readme.read()
|
||||
|
||||
setup(
|
||||
name="sphinx-tabs",
|
||||
version=get_version(),
|
||||
description="Tabbed views for Sphinx",
|
||||
long_description=open("README.md").read(),
|
||||
long_description_content_type="text/markdown",
|
||||
author="djungelorm",
|
||||
author_email="djungelorm@users.noreply.github.com",
|
||||
packages=["sphinx_tabs"],
|
||||
include_package_data=True,
|
||||
url="https://github.com/executablebooks/sphinx-tabs",
|
||||
license="MIT",
|
||||
python_requires="~=3.6",
|
||||
install_requires=["sphinx>=2,<5", "pygments", "docutils~=0.16.0"],
|
||||
extras_require={
|
||||
"testing": [
|
||||
"coverage",
|
||||
"pytest>=3.6,<4",
|
||||
"pytest-cov",
|
||||
"pytest-regressions",
|
||||
"pygments",
|
||||
"sphinx_testing",
|
||||
"bs4",
|
||||
"rinohtype",
|
||||
],
|
||||
"code_style": ["pre-commit==2.13.0"],
|
||||
},
|
||||
classifiers=[
|
||||
"Development Status :: 5 - Production/Stable",
|
||||
"Environment :: Plugins",
|
||||
"Environment :: Web Environment",
|
||||
"Framework :: Sphinx :: Extension",
|
||||
"Intended Audience :: Developers",
|
||||
"License :: OSI Approved :: MIT License",
|
||||
"Natural Language :: English",
|
||||
"Operating System :: OS Independent",
|
||||
"Programming Language :: Python :: 3.6",
|
||||
"Programming Language :: Python :: 3.7",
|
||||
"Programming Language :: Python :: 3.8",
|
||||
"Programming Language :: Python",
|
||||
"Topic :: Documentation :: Sphinx",
|
||||
"Topic :: Documentation",
|
||||
"Topic :: Software Development :: Documentation",
|
||||
"Topic :: Text Processing",
|
||||
"Topic :: Utilities",
|
||||
],
|
||||
)
|
|
@ -0,0 +1,3 @@
|
|||
__version__ = "3.2.0"
|
||||
|
||||
__import__("pkg_resources").declare_namespace(__name__)
|
|
@ -0,0 +1,53 @@
|
|||
.sphinx-tabs {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
[role="tablist"] {
|
||||
border-bottom: 1px solid #a0b3bf;
|
||||
}
|
||||
|
||||
.sphinx-tabs-tab {
|
||||
position: relative;
|
||||
font-family: Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;
|
||||
color: #1D5C87;
|
||||
line-height: 24px;
|
||||
margin: 0;
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
background-color: rgba(255, 255, 255, 0);
|
||||
border-radius: 5px 5px 0 0;
|
||||
border: 0;
|
||||
padding: 1rem 1.5rem;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.sphinx-tabs-tab[aria-selected="true"] {
|
||||
font-weight: 700;
|
||||
border: 1px solid #a0b3bf;
|
||||
border-bottom: 1px solid white;
|
||||
margin: -1px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.sphinx-tabs-tab:focus {
|
||||
z-index: 1;
|
||||
outline-offset: 1px;
|
||||
}
|
||||
|
||||
.sphinx-tabs-panel {
|
||||
position: relative;
|
||||
padding: 1rem;
|
||||
border: 1px solid #a0b3bf;
|
||||
margin: 0px -1px -1px -1px;
|
||||
border-radius: 0 0 5px 5px;
|
||||
border-top: 0;
|
||||
background: white;
|
||||
}
|
||||
|
||||
.sphinx-tabs-panel.code-tab {
|
||||
padding: 0.4rem;
|
||||
}
|
||||
|
||||
.sphinx-tab img {
|
||||
margin-bottom: 24 px;
|
||||
}
|
|
@ -0,0 +1,145 @@
|
|||
try {
|
||||
var session = window.sessionStorage || {};
|
||||
} catch (e) {
|
||||
var session = {};
|
||||
}
|
||||
|
||||
window.addEventListener("DOMContentLoaded", () => {
|
||||
const allTabs = document.querySelectorAll('.sphinx-tabs-tab');
|
||||
const tabLists = document.querySelectorAll('[role="tablist"]');
|
||||
|
||||
allTabs.forEach(tab => {
|
||||
tab.addEventListener("click", changeTabs);
|
||||
});
|
||||
|
||||
tabLists.forEach(tabList => {
|
||||
tabList.addEventListener("keydown", keyTabs);
|
||||
});
|
||||
|
||||
// Restore group tab selection from session
|
||||
const lastSelected = session.getItem('sphinx-tabs-last-selected');
|
||||
if (lastSelected != null) selectNamedTabs(lastSelected);
|
||||
});
|
||||
|
||||
/**
|
||||
* Key focus left and right between sibling elements using arrows
|
||||
* @param {Node} e the element in focus when key was pressed
|
||||
*/
|
||||
function keyTabs(e) {
|
||||
const tab = e.target;
|
||||
let nextTab = null;
|
||||
if (e.keyCode === 39 || e.keyCode === 37) {
|
||||
tab.setAttribute("tabindex", -1);
|
||||
// Move right
|
||||
if (e.keyCode === 39) {
|
||||
nextTab = tab.nextElementSibling;
|
||||
if (nextTab === null) {
|
||||
nextTab = tab.parentNode.firstElementChild;
|
||||
}
|
||||
// Move left
|
||||
} else if (e.keyCode === 37) {
|
||||
nextTab = tab.previousElementSibling;
|
||||
if (nextTab === null) {
|
||||
nextTab = tab.parentNode.lastElementChild;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (nextTab !== null) {
|
||||
nextTab.setAttribute("tabindex", 0);
|
||||
nextTab.focus();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Select or deselect clicked tab. If a group tab
|
||||
* is selected, also select tab in other tabLists.
|
||||
* @param {Node} e the element that was clicked
|
||||
*/
|
||||
function changeTabs(e) {
|
||||
// Use this instead of the element that was clicked, in case it's a child
|
||||
const notSelected = this.getAttribute("aria-selected") === "false";
|
||||
const positionBefore = this.parentNode.getBoundingClientRect().top;
|
||||
const notClosable = !this.parentNode.classList.contains("closeable");
|
||||
|
||||
deselectTabList(this);
|
||||
|
||||
if (notSelected || notClosable) {
|
||||
selectTab(this);
|
||||
const name = this.getAttribute("name");
|
||||
selectNamedTabs(name, this.id);
|
||||
|
||||
if (this.classList.contains("group-tab")) {
|
||||
// Persist during session
|
||||
session.setItem('sphinx-tabs-last-selected', name);
|
||||
}
|
||||
}
|
||||
|
||||
const positionAfter = this.parentNode.getBoundingClientRect().top;
|
||||
const positionDelta = positionAfter - positionBefore;
|
||||
// Scroll to offset content resizing
|
||||
window.scrollTo(0, window.scrollY + positionDelta);
|
||||
}
|
||||
|
||||
/**
|
||||
* Select tab and show associated panel.
|
||||
* @param {Node} tab tab to select
|
||||
*/
|
||||
function selectTab(tab) {
|
||||
tab.setAttribute("aria-selected", true);
|
||||
|
||||
// Show the associated panel
|
||||
document
|
||||
.getElementById(tab.getAttribute("aria-controls"))
|
||||
.removeAttribute("hidden");
|
||||
}
|
||||
|
||||
/**
|
||||
* Hide the panels associated with all tabs within the
|
||||
* tablist containing this tab.
|
||||
* @param {Node} tab a tab within the tablist to deselect
|
||||
*/
|
||||
function deselectTabList(tab) {
|
||||
const parent = tab.parentNode;
|
||||
const grandparent = parent.parentNode;
|
||||
|
||||
Array.from(parent.children)
|
||||
.forEach(t => t.setAttribute("aria-selected", false));
|
||||
|
||||
Array.from(grandparent.children)
|
||||
.slice(1) // Skip tablist
|
||||
.forEach(panel => panel.setAttribute("hidden", true));
|
||||
}
|
||||
|
||||
/**
|
||||
* Select grouped tabs with the same name, but no the tab
|
||||
* with the given id.
|
||||
* @param {Node} name name of grouped tab to be selected
|
||||
* @param {Node} clickedId id of clicked tab
|
||||
*/
|
||||
function selectNamedTabs(name, clickedId=null) {
|
||||
const groupedTabs = document.querySelectorAll(`.sphinx-tabs-tab[name="${name}"]`);
|
||||
const tabLists = Array.from(groupedTabs).map(tab => tab.parentNode);
|
||||
|
||||
tabLists
|
||||
.forEach(tabList => {
|
||||
// Don't want to change the tabList containing the clicked tab
|
||||
const clickedTab = tabList.querySelector(`[id="${clickedId}"]`);
|
||||
if (clickedTab === null ) {
|
||||
// Select first tab with matching name
|
||||
const tab = tabList.querySelector(`.sphinx-tabs-tab[name="${name}"]`);
|
||||
deselectTabList(tab);
|
||||
selectTab(tab);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
if (typeof exports === 'undefined') {
|
||||
exports = {};
|
||||
}
|
||||
|
||||
exports.keyTabs = keyTabs;
|
||||
exports.changeTabs = changeTabs;
|
||||
exports.selectTab = selectTab;
|
||||
exports.deselectTabList = deselectTabList;
|
||||
exports.selectNamedTabs = selectNamedTabs;
|
|
@ -0,0 +1,366 @@
|
|||
""" Tabbed views for Sphinx, with HTML builder """
|
||||
|
||||
import base64
|
||||
from pathlib import Path
|
||||
from functools import partial
|
||||
import sphinx
|
||||
|
||||
|
||||
from docutils import nodes
|
||||
from docutils.parsers.rst import directives
|
||||
from pygments.lexers import get_all_lexers
|
||||
from sphinx.highlighting import lexer_classes
|
||||
from sphinx.util.docutils import SphinxDirective
|
||||
from sphinx.directives.code import CodeBlock
|
||||
|
||||
|
||||
FILES = [
|
||||
"tabs.js",
|
||||
"tabs.css",
|
||||
]
|
||||
|
||||
|
||||
LEXER_MAP = {}
|
||||
for lexer in get_all_lexers():
|
||||
for short_name in lexer[1]:
|
||||
LEXER_MAP[short_name] = lexer[0]
|
||||
|
||||
|
||||
def get_compatible_builders(app):
|
||||
builders = [
|
||||
"html",
|
||||
"singlehtml",
|
||||
"dirhtml",
|
||||
"readthedocs",
|
||||
"readthedocsdirhtml",
|
||||
"readthedocssinglehtml",
|
||||
"readthedocssinglehtmllocalmedia",
|
||||
"spelling",
|
||||
]
|
||||
builders.extend(app.config["sphinx_tabs_valid_builders"])
|
||||
return builders
|
||||
|
||||
|
||||
class SphinxTabsContainer(nodes.container):
|
||||
tagname = "div"
|
||||
|
||||
|
||||
class SphinxTabsPanel(nodes.container):
|
||||
tagname = "div"
|
||||
|
||||
|
||||
class SphinxTabsTab(nodes.paragraph):
|
||||
tagname = "button"
|
||||
|
||||
|
||||
class SphinxTabsTablist(nodes.container):
|
||||
tagname = "div"
|
||||
|
||||
|
||||
def visit(translator, node):
|
||||
# Borrowed from `sphinx-inline-tabs`
|
||||
attrs = node.attributes.copy()
|
||||
attrs.pop("classes")
|
||||
attrs.pop("ids")
|
||||
attrs.pop("names")
|
||||
attrs.pop("dupnames")
|
||||
attrs.pop("backrefs")
|
||||
text = translator.starttag(node, node.tagname, **attrs)
|
||||
translator.body.append(text.strip())
|
||||
|
||||
|
||||
def depart(translator, node):
|
||||
translator.body.append(f"</{node.tagname}>")
|
||||
|
||||
|
||||
class TabsDirective(SphinxDirective):
|
||||
"""Top-level tabs directive"""
|
||||
|
||||
has_content = True
|
||||
|
||||
def run(self):
|
||||
"""Parse a tabs directive"""
|
||||
self.assert_has_content()
|
||||
|
||||
node = nodes.container(type="tab-element")
|
||||
node["classes"].append("sphinx-tabs")
|
||||
|
||||
if "next_tabs_id" not in self.env.temp_data:
|
||||
self.env.temp_data["next_tabs_id"] = 0
|
||||
if "tabs_stack" not in self.env.temp_data:
|
||||
self.env.temp_data["tabs_stack"] = []
|
||||
|
||||
tabs_id = self.env.temp_data["next_tabs_id"]
|
||||
tabs_key = "tabs_%d" % tabs_id
|
||||
self.env.temp_data["next_tabs_id"] += 1
|
||||
self.env.temp_data["tabs_stack"].append(tabs_id)
|
||||
|
||||
self.env.temp_data[tabs_key] = {}
|
||||
self.env.temp_data[tabs_key]["tab_ids"] = []
|
||||
self.env.temp_data[tabs_key]["tab_titles"] = []
|
||||
self.env.temp_data[tabs_key]["is_first_tab"] = True
|
||||
|
||||
self.state.nested_parse(self.content, self.content_offset, node)
|
||||
|
||||
if self.env.app.builder.name in get_compatible_builders(self.env.app):
|
||||
tablist = SphinxTabsTablist()
|
||||
tablist["role"] = "tablist"
|
||||
tablist["aria-label"] = "Tabbed content"
|
||||
if not self.env.config["sphinx_tabs_disable_tab_closing"]:
|
||||
tablist["classes"].append("closeable")
|
||||
|
||||
tab_titles = self.env.temp_data[tabs_key]["tab_titles"]
|
||||
for idx, [data_tab, tab_name] in enumerate(tab_titles):
|
||||
tab_name.attributes["role"] = "tab"
|
||||
tab_name["ids"] = [f"tab-{tabs_id}-{data_tab}"]
|
||||
tab_name["name"] = data_tab
|
||||
tab_name["tabindex"] = "0" if idx == 0 else "-1"
|
||||
tab_name["aria-selected"] = "true" if idx == 0 else "false"
|
||||
tab_name["aria-controls"] = tab_name["ids"][0].replace("tab-", "panel-")
|
||||
|
||||
tablist += tab_name
|
||||
|
||||
node.insert(0, tablist)
|
||||
|
||||
self.env.temp_data["tabs_stack"].pop()
|
||||
return [node]
|
||||
|
||||
|
||||
class TabDirective(SphinxDirective):
|
||||
"""Tab directive, for adding a tab to a collection of tabs"""
|
||||
|
||||
has_content = True
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.tab_id = None
|
||||
self.tab_classes = set()
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
def run(self):
|
||||
"""Parse a tab directive"""
|
||||
self.assert_has_content()
|
||||
|
||||
tabs_id = self.env.temp_data["tabs_stack"][-1]
|
||||
tabs_key = "tabs_%d" % tabs_id
|
||||
|
||||
include_tabs_id_in_data_tab = False
|
||||
if self.tab_id is None:
|
||||
tab_id = self.env.new_serialno(tabs_key)
|
||||
include_tabs_id_in_data_tab = True
|
||||
else:
|
||||
tab_id = self.tab_id
|
||||
|
||||
tab_name = SphinxTabsTab()
|
||||
self.state.nested_parse(self.content[0:1], 0, tab_name)
|
||||
# Remove the paragraph node that is created by nested_parse
|
||||
tab_name.children[0].replace_self(tab_name.children[0].children)
|
||||
|
||||
tab_name["classes"].append("sphinx-tabs-tab")
|
||||
tab_name["classes"].extend(sorted(self.tab_classes))
|
||||
|
||||
i = 1
|
||||
while tab_id in self.env.temp_data[tabs_key]["tab_ids"]:
|
||||
tab_id = "%s-%d" % (tab_id, i)
|
||||
i += 1
|
||||
self.env.temp_data[tabs_key]["tab_ids"].append(tab_id)
|
||||
|
||||
data_tab = str(tab_id)
|
||||
if include_tabs_id_in_data_tab:
|
||||
data_tab = "%d-%s" % (tabs_id, data_tab)
|
||||
|
||||
self.env.temp_data[tabs_key]["tab_titles"].append((data_tab, tab_name))
|
||||
|
||||
panel = SphinxTabsPanel()
|
||||
panel["role"] = "tabpanel"
|
||||
panel["ids"] = [f"panel-{tabs_id}-{data_tab}"]
|
||||
panel["name"] = data_tab
|
||||
panel["tabindex"] = 0
|
||||
panel["aria-labelledby"] = panel["ids"][0].replace("panel-", "tab-")
|
||||
panel["classes"].append("sphinx-tabs-panel")
|
||||
panel["classes"].extend(sorted(self.tab_classes))
|
||||
|
||||
if self.env.temp_data[tabs_key]["is_first_tab"]:
|
||||
self.env.temp_data[tabs_key]["is_first_tab"] = False
|
||||
else:
|
||||
panel["hidden"] = "true"
|
||||
|
||||
self.state.nested_parse(self.content[2:], self.content_offset, panel)
|
||||
|
||||
if self.env.app.builder.name not in get_compatible_builders(self.env.app):
|
||||
# Use base docutils classes
|
||||
outer_node = nodes.container()
|
||||
tab = nodes.container()
|
||||
tab_name = nodes.container()
|
||||
panel = nodes.container()
|
||||
|
||||
self.state.nested_parse(self.content[0:1], 0, tab_name)
|
||||
self.state.nested_parse(self.content[2:], self.content_offset, panel)
|
||||
|
||||
tab += tab_name
|
||||
outer_node += tab
|
||||
outer_node += panel
|
||||
|
||||
return [outer_node]
|
||||
|
||||
return [panel]
|
||||
|
||||
|
||||
class GroupTabDirective(TabDirective):
|
||||
"""Tab directive that toggles with same tab names across page"""
|
||||
|
||||
has_content = True
|
||||
|
||||
def run(self):
|
||||
self.assert_has_content()
|
||||
self.tab_classes.add("group-tab")
|
||||
group_name = self.content[0]
|
||||
if self.tab_id is None:
|
||||
self.tab_id = base64.b64encode(group_name.encode("utf-8")).decode("utf-8")
|
||||
|
||||
node = super().run()
|
||||
return node
|
||||
|
||||
|
||||
class CodeTabDirective(GroupTabDirective):
|
||||
"""Tab directive with a codeblock as its content"""
|
||||
|
||||
has_content = True
|
||||
required_arguments = 1 # Lexer name
|
||||
optional_arguments = 1 # Custom label
|
||||
final_argument_whitespace = True
|
||||
option_spec = { # From sphinx CodeBlock
|
||||
"force": directives.flag,
|
||||
"linenos": directives.flag,
|
||||
"dedent": int,
|
||||
"lineno-start": int,
|
||||
"emphasize-lines": directives.unchanged_required,
|
||||
"caption": directives.unchanged_required,
|
||||
"class": directives.class_option,
|
||||
"name": directives.unchanged,
|
||||
}
|
||||
|
||||
def run(self):
|
||||
"""Parse a code-tab directive"""
|
||||
self.assert_has_content()
|
||||
|
||||
if len(self.arguments) > 1:
|
||||
tab_name = self.arguments[1]
|
||||
elif self.arguments[0] in lexer_classes and not isinstance(
|
||||
lexer_classes[self.arguments[0]], partial
|
||||
):
|
||||
tab_name = lexer_classes[self.arguments[0]].name
|
||||
else:
|
||||
try:
|
||||
tab_name = LEXER_MAP[self.arguments[0]]
|
||||
except KeyError as invalid_lexer_error:
|
||||
raise ValueError(
|
||||
"Lexer not implemented: {}".format(self.arguments[0])
|
||||
) from invalid_lexer_error
|
||||
|
||||
self.tab_classes.add("code-tab")
|
||||
|
||||
# All content parsed as code
|
||||
code_block = CodeBlock.run(self)
|
||||
|
||||
# Reset to generate panel
|
||||
self.content.data = [tab_name, ""]
|
||||
self.content.items = [(None, 0), (None, 1)]
|
||||
|
||||
node = super().run()
|
||||
node[0].extend(code_block)
|
||||
|
||||
return node
|
||||
|
||||
|
||||
class _FindTabsDirectiveVisitor(nodes.NodeVisitor):
|
||||
"""Visitor pattern than looks for a sphinx tabs
|
||||
directive in a document"""
|
||||
|
||||
def __init__(self, document):
|
||||
nodes.NodeVisitor.__init__(self, document)
|
||||
self._found = False
|
||||
|
||||
def unknown_visit(self, node):
|
||||
if (
|
||||
not self._found
|
||||
and isinstance(node, nodes.container)
|
||||
and "classes" in node
|
||||
and isinstance(node["classes"], list)
|
||||
):
|
||||
self._found = "sphinx-tabs" in node["classes"]
|
||||
|
||||
@property
|
||||
def found_tabs_directive(self):
|
||||
"""Return whether a sphinx tabs directive was found"""
|
||||
return self._found
|
||||
|
||||
|
||||
def update_config(app, config):
|
||||
"""Adds sphinx-tabs CSS and JS asset files"""
|
||||
for path in [Path(path) for path in FILES]:
|
||||
if not config.sphinx_tabs_disable_css_loading and path.suffix == ".css":
|
||||
if "add_css_file" in dir(app):
|
||||
app.add_css_file(path.as_posix())
|
||||
else:
|
||||
app.add_stylesheet(path.as_posix())
|
||||
if path.suffix == ".js":
|
||||
if "add_script_file" in dir(app):
|
||||
app.add_script_file(path.as_posix())
|
||||
else:
|
||||
app.add_js_file(path.as_posix())
|
||||
|
||||
|
||||
# pylint: disable=unused-argument
|
||||
def update_context(app, pagename, templatename, context, doctree):
|
||||
"""Remove sphinx-tabs CSS and JS asset files if not used in a page"""
|
||||
if doctree is None:
|
||||
return
|
||||
visitor = _FindTabsDirectiveVisitor(doctree)
|
||||
doctree.walk(visitor)
|
||||
|
||||
include_assets_in_all_pages = False
|
||||
if sphinx.version_info >= (4, 1, 0):
|
||||
include_assets_in_all_pages = app.registry.html_assets_policy == "always"
|
||||
|
||||
if not visitor.found_tabs_directive and not include_assets_in_all_pages:
|
||||
paths = [Path("_static") / f for f in FILES]
|
||||
if "css_files" in context:
|
||||
context["css_files"] = context["css_files"][:]
|
||||
for path in paths:
|
||||
if path.suffix == ".css" and path in context["css_files"]:
|
||||
context["css_files"].remove(path.as_posix())
|
||||
if "script_files" in context:
|
||||
context["script_files"] = context["script_files"][:]
|
||||
for path in paths:
|
||||
if path.suffix == ".js" and path.as_posix() in context["script_files"]:
|
||||
context["script_files"].remove(path.as_posix())
|
||||
|
||||
|
||||
# pylint: enable=unused-argument
|
||||
|
||||
|
||||
def setup(app):
|
||||
"""Set up the plugin"""
|
||||
app.add_config_value("sphinx_tabs_valid_builders", [], "")
|
||||
app.add_config_value("sphinx_tabs_disable_css_loading", False, "html", [bool])
|
||||
app.add_config_value("sphinx_tabs_disable_tab_closing", False, "html", [bool])
|
||||
app.add_node(SphinxTabsContainer, html=(visit, depart))
|
||||
app.add_node(SphinxTabsPanel, html=(visit, depart))
|
||||
app.add_node(SphinxTabsTab, html=(visit, depart))
|
||||
app.add_node(SphinxTabsTablist, html=(visit, depart))
|
||||
app.add_directive("tabs", TabsDirective)
|
||||
app.add_directive("tab", TabDirective)
|
||||
app.add_directive("group-tab", GroupTabDirective)
|
||||
app.add_directive("code-tab", CodeTabDirective)
|
||||
static_dir = Path(__file__).parent / "static"
|
||||
app.connect(
|
||||
"builder-inited",
|
||||
(lambda app: app.config.html_static_path.append(static_dir.as_posix())),
|
||||
)
|
||||
app.connect("config-inited", update_config)
|
||||
app.connect("html-page-context", update_context)
|
||||
|
||||
return {
|
||||
"parallel_read_safe": True,
|
||||
"parallel_write_safe": True,
|
||||
}
|
|
@ -0,0 +1,179 @@
|
|||
import os
|
||||
import pytest
|
||||
from pathlib import Path
|
||||
from bs4 import BeautifulSoup
|
||||
from sphinx.testing.path import path
|
||||
|
||||
from sphinx_tabs.tabs import FILES
|
||||
|
||||
pytest_plugins = "sphinx.testing.fixtures"
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def rootdir():
|
||||
"""Pytest uses this to find test documents."""
|
||||
return path(__file__).parent.abspath() / "roots"
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def auto_build_and_check(
|
||||
app,
|
||||
status,
|
||||
warning,
|
||||
check_build_success,
|
||||
get_sphinx_app_doctree,
|
||||
regress_sphinx_app_output,
|
||||
request,
|
||||
):
|
||||
"""
|
||||
Build and check build success and output regressions.
|
||||
Currently all tests start with this.
|
||||
Disable using a `noautobuild` mark.
|
||||
"""
|
||||
if "noautobuild" in request.keywords:
|
||||
return
|
||||
app.build()
|
||||
check_build_success(status, warning)
|
||||
get_sphinx_app_doctree(app, regress=True)
|
||||
regress_sphinx_app_output(app)
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def manual_build_and_check(
|
||||
app,
|
||||
status,
|
||||
warning,
|
||||
check_build_success,
|
||||
get_sphinx_app_doctree,
|
||||
regress_sphinx_app_output,
|
||||
):
|
||||
"""
|
||||
For manually triggering app build and check.
|
||||
"""
|
||||
app.build()
|
||||
check_build_success(status, warning)
|
||||
get_sphinx_app_doctree(app, regress=True)
|
||||
regress_sphinx_app_output(app)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def check_build_success():
|
||||
"""Check build is successful and there are no warnings."""
|
||||
|
||||
def check(status, warning):
|
||||
assert "build succeeded" in status.getvalue()
|
||||
warnings = warning.getvalue().strip()
|
||||
assert warnings == ""
|
||||
|
||||
return check
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def regress_sphinx_app_output(file_regression, get_sphinx_app_output):
|
||||
"""
|
||||
Get sphinx HTML output and regress inner body (other sections are
|
||||
non-deterministic).
|
||||
"""
|
||||
|
||||
def read(
|
||||
app, buildername="html", filename="index.html", encoding="utf-8", replace=None
|
||||
):
|
||||
content = get_sphinx_app_output(app, buildername, filename, encoding)
|
||||
|
||||
if buildername == "html":
|
||||
soup = BeautifulSoup(content, "html.parser")
|
||||
doc_div = soup.findAll("div", {"class": "documentwrapper"})[0]
|
||||
doc = doc_div.prettify()
|
||||
for find, rep in (replace or {}).items():
|
||||
doc = text.replace(find, rep)
|
||||
else:
|
||||
doc = content
|
||||
file_regression.check(
|
||||
doc, extension="." + filename.split(".")[-1], encoding="utf8"
|
||||
)
|
||||
|
||||
return read
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def get_sphinx_app_doctree(file_regression):
|
||||
"""Get sphinx doctree and optionally regress."""
|
||||
|
||||
def read(app, docname="index", resolve=False, regress=False, replace=None):
|
||||
if resolve:
|
||||
doctree = app.env.get_and_resolve_doctree(docname, app.builder)
|
||||
extension = ".resolved.xml"
|
||||
else:
|
||||
doctree = app.env.get_doctree(docname)
|
||||
extension = ".xml"
|
||||
|
||||
# convert absolute filenames
|
||||
for node in doctree.traverse(lambda n: "source" in n):
|
||||
node["source"] = Path(node["source"]).name
|
||||
|
||||
if regress:
|
||||
text = doctree.pformat() # type: str
|
||||
for find, rep in (replace or {}).items():
|
||||
text = text.replace(find, rep)
|
||||
file_regression.check(text, extension=extension)
|
||||
|
||||
return doctree
|
||||
|
||||
return read
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def check_asset_links(get_sphinx_app_output):
|
||||
"""
|
||||
Check if all stylesheets and scripts (.js) have been referenced in HTML.
|
||||
Specify whether checking if assets are ``present`` or not ``present``.
|
||||
"""
|
||||
|
||||
def check(
|
||||
app,
|
||||
buildername="html",
|
||||
filename="index.html",
|
||||
encoding="utf-8",
|
||||
cssPresent=True,
|
||||
jsPresent=True,
|
||||
):
|
||||
content = get_sphinx_app_output(app, buildername, filename, encoding)
|
||||
|
||||
css_assets = [f for f in FILES if f.endswith(".css")]
|
||||
js_assets = [f for f in FILES if f.endswith(".js")]
|
||||
|
||||
soup = BeautifulSoup(content, "html.parser")
|
||||
stylesheets = soup.find_all("link", {"rel": "stylesheet"}, href=True)
|
||||
css_refs = [s["href"] for s in stylesheets]
|
||||
|
||||
scripts = soup.find_all("script", src=True)
|
||||
js_refs = [s["src"] for s in scripts]
|
||||
|
||||
all_refs = css_refs + js_refs
|
||||
|
||||
if cssPresent:
|
||||
css_present = all(any(a in ref for ref in all_refs) for a in css_assets)
|
||||
assert css_present
|
||||
else:
|
||||
assert not "sphinx_tabs" in css_refs
|
||||
if jsPresent:
|
||||
js_present = all(any(a in ref for ref in js_refs) for a in js_assets)
|
||||
assert js_present
|
||||
else:
|
||||
assert not "sphinx_tabs" in js_refs
|
||||
|
||||
return check
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def get_sphinx_app_output():
|
||||
"""Get content of a sphinx app output file."""
|
||||
|
||||
def get(app, buildername="html", filename="index.html", encoding="utf-8"):
|
||||
outpath = Path(app.srcdir) / "_build" / buildername / filename
|
||||
if not outpath.exists():
|
||||
raise IOError("No output file exists: {}".format(outpath.as_posix()))
|
||||
|
||||
return outpath.read_text(encoding=encoding)
|
||||
|
||||
return get
|
|
@ -0,0 +1,5 @@
|
|||
project = "sphinx-tabs test"
|
||||
master_doc = "index"
|
||||
source_suffix = ".rst"
|
||||
extensions = ["sphinx_tabs.tabs"]
|
||||
pygments_style = "sphinx"
|
|
@ -0,0 +1,17 @@
|
|||
.. tabs::
|
||||
|
||||
.. tab:: Apples
|
||||
|
||||
Apples are green, or sometimes red.
|
||||
|
||||
.. tab:: Pears
|
||||
|
||||
Pears are green.
|
||||
|
||||
.. tab:: Oranges
|
||||
|
||||
Oranges are orange.
|
||||
|
||||
.. tab:: 404
|
||||
|
||||
A number in the name.
|
|
@ -0,0 +1,5 @@
|
|||
project = "sphinx-tabs test"
|
||||
master_doc = "index"
|
||||
source_suffix = ".rst"
|
||||
extensions = ["sphinx_tabs.tabs"]
|
||||
pygments_style = "sphinx"
|
|
@ -0,0 +1,130 @@
|
|||
.. toctree::
|
||||
|
||||
no_tabs1
|
||||
no_tabs2
|
||||
|
||||
Fruits
|
||||
========================================
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: Apples
|
||||
|
||||
Apples are green, or sometimes red.
|
||||
|
||||
.. tab:: Pears
|
||||
|
||||
Pears are green.
|
||||
|
||||
.. tab:: Oranges
|
||||
|
||||
Oranges are orange.
|
||||
|
||||
Luminaries
|
||||
========================================
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: Sun
|
||||
|
||||
The sun is a star.
|
||||
|
||||
.. tab:: Moon
|
||||
|
||||
The moon is not a star.
|
||||
|
||||
Code Tabs
|
||||
========================================
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. code-tab:: c
|
||||
|
||||
C Main Function
|
||||
|
||||
.. code-tab:: c++
|
||||
|
||||
C++ Main Function
|
||||
|
||||
.. code-tab:: py
|
||||
|
||||
Python Main Function
|
||||
|
||||
.. code-tab:: java
|
||||
|
||||
Java Main Function
|
||||
|
||||
.. code-tab:: julia
|
||||
|
||||
Julia Main Function
|
||||
|
||||
.. code-tab:: fortran
|
||||
|
||||
Fortran Main Function
|
||||
|
||||
.. 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
|
||||
|
||||
Group Tabs
|
||||
========================================
|
||||
|
||||
.. 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 2
|
||||
|
||||
.. group-tab:: Mac OSX
|
||||
|
||||
Mac OSX Line 2
|
||||
|
||||
.. group-tab:: Windows
|
||||
|
||||
Windows Line 2
|
|
@ -0,0 +1,4 @@
|
|||
Another page without tabs
|
||||
========================================
|
||||
|
||||
No tabs to see here
|
|
@ -0,0 +1,4 @@
|
|||
And another page without tabs
|
||||
========================================
|
||||
|
||||
No tabs to see here either
|
|
@ -0,0 +1,28 @@
|
|||
from pygments.lexer import RegexLexer
|
||||
from pygments.token import Text, Keyword
|
||||
|
||||
project = "sphinx-tabs test"
|
||||
master_doc = "index"
|
||||
source_suffix = ".rst"
|
||||
extensions = ["sphinx_tabs.tabs"]
|
||||
pygments_style = "sphinx"
|
||||
|
||||
|
||||
class BYOLexer(RegexLexer):
|
||||
name = "BYO"
|
||||
aliases = ["byo"]
|
||||
filenames = ["*.byo"]
|
||||
tokens = {
|
||||
"root": [
|
||||
(r"Test\n", Keyword),
|
||||
(r".*\n", Text),
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
def setup(app):
|
||||
try:
|
||||
app.add_lexer("byo", BYOLexer)
|
||||
except:
|
||||
# Passing instance is depreciated in Sphinx 4
|
||||
app.add_lexer("byo", BYOLexer())
|
|
@ -0,0 +1,10 @@
|
|||
.. tabs::
|
||||
|
||||
.. code-tab:: byo
|
||||
|
||||
Test
|
||||
This is just a test.
|
||||
|
||||
.. code-tab:: byo
|
||||
|
||||
Some other text.
|
|
@ -0,0 +1,7 @@
|
|||
project = "sphinx-tabs test"
|
||||
master_doc = "index"
|
||||
source_suffix = ".rst"
|
||||
extensions = ["sphinx_tabs.tabs"]
|
||||
pygments_style = "sphinx"
|
||||
|
||||
sphinx_tabs_disable_tab_closing = True
|
|
@ -0,0 +1,17 @@
|
|||
.. tabs::
|
||||
|
||||
.. tab:: Apples
|
||||
|
||||
Apples are green, or sometimes red.
|
||||
|
||||
.. tab:: Pears
|
||||
|
||||
Pears are green.
|
||||
|
||||
.. tab:: Oranges
|
||||
|
||||
Oranges are orange.
|
||||
|
||||
.. tab:: 404
|
||||
|
||||
A number in the name.
|
|
@ -0,0 +1,7 @@
|
|||
project = "sphinx-tabs test"
|
||||
master_doc = "index"
|
||||
source_suffix = ".rst"
|
||||
extensions = ["sphinx_tabs.tabs"]
|
||||
pygments_style = "sphinx"
|
||||
|
||||
sphinx_tabs_disable_css_loading = True
|
|
@ -0,0 +1,17 @@
|
|||
.. tabs::
|
||||
|
||||
.. tab:: Apples
|
||||
|
||||
Apples are green, or sometimes red.
|
||||
|
||||
.. tab:: Pears
|
||||
|
||||
Pears are green.
|
||||
|
||||
.. tab:: Oranges
|
||||
|
||||
Oranges are orange.
|
||||
|
||||
.. tab:: 404
|
||||
|
||||
A number in the name.
|
|
@ -0,0 +1,5 @@
|
|||
project = "sphinx-tabs test"
|
||||
master_doc = "index"
|
||||
source_suffix = ".rst"
|
||||
extensions = ["sphinx_tabs.tabs"]
|
||||
pygments_style = "sphinx"
|
|
@ -0,0 +1,10 @@
|
|||
.. tabs::
|
||||
|
||||
.. code-tab:: c++
|
||||
:linenos:
|
||||
|
||||
std::cout << "hello world" << std::endl;
|
||||
|
||||
.. code-tab:: python
|
||||
|
||||
print('hello world')
|
|
@ -0,0 +1,5 @@
|
|||
project = "sphinx-tabs test"
|
||||
master_doc = "index"
|
||||
source_suffix = ".rst"
|
||||
extensions = ["sphinx_tabs.tabs", "sphinx.ext.mathjax"]
|
||||
pygments_style = "sphinx"
|
|
@ -0,0 +1,62 @@
|
|||
Markup in Tab Titles
|
||||
========================================
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: **bold** tab
|
||||
|
||||
**bold** text
|
||||
|
||||
.. tab:: *italic* tab
|
||||
|
||||
*italic* text
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: **bold** group tab
|
||||
|
||||
**bold** text
|
||||
|
||||
.. group-tab:: *italic* group tab
|
||||
|
||||
*italic* text
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: **bold** group tab
|
||||
|
||||
**bold** text
|
||||
|
||||
.. group-tab:: *italic* group tab
|
||||
|
||||
*italic* text
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: :math:`x = y` tab
|
||||
|
||||
Variables are equal :math:`x = y`.
|
||||
|
||||
.. tab:: :math:`x \neq y` tab
|
||||
|
||||
Variables are not equal :math:`x \neq y`.
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: :math:`x = y` group tab
|
||||
|
||||
Variables are equal :math:`x = y`.
|
||||
|
||||
.. group-tab:: :math:`x \neq y` group tab
|
||||
|
||||
Variables are not equal :math:`x \neq y`.
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: :math:`x = y` group tab
|
||||
|
||||
Variables are equal :math:`x = y`.
|
||||
|
||||
.. group-tab:: :math:`x \neq y` group tab
|
||||
|
||||
Variables are not equal :math:`x \neq y`.
|
|
@ -0,0 +1,5 @@
|
|||
project = "sphinx-tabs test"
|
||||
master_doc = "index"
|
||||
source_suffix = ".rst"
|
||||
extensions = ["sphinx_tabs.tabs"]
|
||||
pygments_style = "sphinx"
|
|
@ -0,0 +1 @@
|
|||
There are no tabs here
|
|
@ -0,0 +1,9 @@
|
|||
project = "sphinx-tabs test"
|
||||
master_doc = "index"
|
||||
source_suffix = ".rst"
|
||||
extensions = ["sphinx_tabs.tabs", "rinoh.frontend.sphinx"]
|
||||
pygments_style = "sphinx"
|
||||
|
||||
rinoh_documents = [
|
||||
dict(doc=master_doc, target="test"),
|
||||
]
|
|
@ -0,0 +1,9 @@
|
|||
|
||||
TESTING PDF
|
||||
===========
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Contents:
|
||||
|
||||
tabs
|
|
@ -0,0 +1,24 @@
|
|||
============
|
||||
Testing Tabs
|
||||
============
|
||||
|
||||
The following should be rendered as a list of plain text items.
|
||||
|
||||
BEGIN_TEST
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: Apples
|
||||
|
||||
Apples are green, or sometimes red.
|
||||
|
||||
.. tab:: Pears
|
||||
|
||||
Pears are green.
|
||||
|
||||
.. tab:: Oranges
|
||||
|
||||
Oranges are orange.
|
||||
|
||||
|
||||
END_of_TEST
|
|
@ -0,0 +1,104 @@
|
|||
import sys
|
||||
import pytest
|
||||
import sphinx
|
||||
from sphinx.application import Sphinx
|
||||
|
||||
|
||||
@pytest.mark.sphinx(testroot="basic")
|
||||
def test_basic():
|
||||
pass
|
||||
|
||||
|
||||
@pytest.mark.sphinx(testroot="notabs")
|
||||
def test_no_tabs(app, check_asset_links):
|
||||
check_asset_links(app, cssPresent=False, jsPresent=False)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("docname", ["index", "no_tabs1", "no_tabs2"])
|
||||
@pytest.mark.sphinx(testroot="conditionalassets")
|
||||
def test_conditional_assets(app, docname, check_asset_links):
|
||||
if docname == "index":
|
||||
check_asset_links(app)
|
||||
else:
|
||||
check_asset_links(
|
||||
app, filename=docname + ".html", cssPresent=False, jsPresent=False
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.noautobuild
|
||||
@pytest.mark.parametrize("docname", ["index", "no_tabs1", "no_tabs2"])
|
||||
@pytest.mark.sphinx(testroot="conditionalassets")
|
||||
@pytest.mark.skipif(
|
||||
sphinx.version_info[:2] < (4, 1), reason="Test uses Sphinx 4.1 config"
|
||||
)
|
||||
def test_conditional_assets_html_assets_policy(
|
||||
app,
|
||||
docname,
|
||||
status,
|
||||
warning,
|
||||
check_build_success,
|
||||
get_sphinx_app_doctree,
|
||||
regress_sphinx_app_output,
|
||||
check_asset_links,
|
||||
):
|
||||
app.set_html_assets_policy("always")
|
||||
|
||||
# Following lines are copied from ``auto_build_and_check`` since we need to
|
||||
# set a config in the build object before auto build. Because of this, we
|
||||
# need to use ``noautobuild``.
|
||||
app.build()
|
||||
check_build_success(status, warning)
|
||||
get_sphinx_app_doctree(app, regress=True)
|
||||
regress_sphinx_app_output(app)
|
||||
|
||||
check_asset_links(app, filename=docname + ".html")
|
||||
|
||||
|
||||
@pytest.mark.sphinx(testroot="linenos")
|
||||
@pytest.mark.skipif(
|
||||
sphinx.version_info[:2] >= (4, 0), reason="Test uses Sphinx 3 code blocks"
|
||||
)
|
||||
def test_other_with_assets(app, check_asset_links):
|
||||
check_asset_links(app)
|
||||
|
||||
|
||||
@pytest.mark.sphinx(testroot="linenos")
|
||||
@pytest.mark.skipif(
|
||||
sphinx.version_info[:2] <= (4, 0), reason="Test uses Sphinx 4 code blocks"
|
||||
)
|
||||
def test_other_With_assets_new_style(app, check_asset_links):
|
||||
check_asset_links(app)
|
||||
|
||||
|
||||
@pytest.mark.sphinx(testroot="nestedmarkup")
|
||||
def test_nested_markup(app, check_asset_links):
|
||||
check_asset_links(app)
|
||||
|
||||
|
||||
@pytest.mark.sphinx(testroot="customlexer")
|
||||
def test_custom_lexer(app, check_asset_links):
|
||||
check_asset_links(app)
|
||||
|
||||
|
||||
@pytest.mark.noautobuild
|
||||
@pytest.mark.sphinx("rinoh", testroot="rinohtype-pdf")
|
||||
@pytest.mark.skipif(
|
||||
sys.version_info < (3, 8), reason="Unknown dependency conflict in lower versions"
|
||||
)
|
||||
def test_rinohtype_pdf(
|
||||
app, status, warning, check_build_success, get_sphinx_app_doctree
|
||||
):
|
||||
app.build()
|
||||
check_build_success(status, warning)
|
||||
get_sphinx_app_doctree(app, regress=True)
|
||||
# Doesn't currently regression test pdf output
|
||||
|
||||
|
||||
@pytest.mark.sphinx(testroot="disable-closing")
|
||||
def test_disable_closing(app, check_asset_links):
|
||||
check_asset_links(app)
|
||||
|
||||
|
||||
@pytest.mark.sphinx(testroot="disable-css-loading")
|
||||
def test_disable_css_loading(app, check_asset_links):
|
||||
check_asset_links(app, cssPresent=False)
|
|
@ -0,0 +1,42 @@
|
|||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-0-0-0" aria-selected="true" class="sphinx-tabs-tab" id="tab-0-0-0" name="0-0" role="tab" tabindex="0">
|
||||
Apples
|
||||
</button>
|
||||
<button aria-controls="panel-0-0-1" aria-selected="false" class="sphinx-tabs-tab" id="tab-0-0-1" name="0-1" role="tab" tabindex="-1">
|
||||
Pears
|
||||
</button>
|
||||
<button aria-controls="panel-0-0-2" aria-selected="false" class="sphinx-tabs-tab" id="tab-0-0-2" name="0-2" role="tab" tabindex="-1">
|
||||
Oranges
|
||||
</button>
|
||||
<button aria-controls="panel-0-0-3" aria-selected="false" class="sphinx-tabs-tab" id="tab-0-0-3" name="0-3" role="tab" tabindex="-1">
|
||||
404
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-0" class="sphinx-tabs-panel" id="panel-0-0-0" name="0-0" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Apples are green, or sometimes red.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-1" class="sphinx-tabs-panel" hidden="true" id="panel-0-0-1" name="0-1" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Pears are green.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-2" class="sphinx-tabs-panel" hidden="true" id="panel-0-0-2" name="0-2" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Oranges are orange.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-3" class="sphinx-tabs-panel" hidden="true" id="panel-0-0-3" name="0-3" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
A number in the name.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,23 @@
|
|||
<document source="index.rst">
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-0-0-0" aria-selected="true" classes="sphinx-tabs-tab" ids="tab-0-0-0" name="0-0" role="tab" tabindex="0">
|
||||
Apples
|
||||
<button aria-controls="panel-0-0-1" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-0-0-1" name="0-1" role="tab" tabindex="-1">
|
||||
Pears
|
||||
<button aria-controls="panel-0-0-2" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-0-0-2" name="0-2" role="tab" tabindex="-1">
|
||||
Oranges
|
||||
<button aria-controls="panel-0-0-3" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-0-0-3" name="0-3" role="tab" tabindex="-1">
|
||||
404
|
||||
<div aria-labelledby="tab-0-0-0" classes="sphinx-tabs-panel" ids="panel-0-0-0" name="0-0" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Apples are green, or sometimes red.
|
||||
<div aria-labelledby="tab-0-0-1" classes="sphinx-tabs-panel" hidden="true" ids="panel-0-0-1" name="0-1" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Pears are green.
|
||||
<div aria-labelledby="tab-0-0-2" classes="sphinx-tabs-panel" hidden="true" ids="panel-0-0-2" name="0-2" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Oranges are orange.
|
||||
<div aria-labelledby="tab-0-0-3" classes="sphinx-tabs-panel" hidden="true" ids="panel-0-0-3" name="0-3" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
A number in the name.
|
|
@ -0,0 +1,306 @@
|
|||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1">
|
||||
<a class="reference internal" href="no_tabs1.html">
|
||||
Another page without tabs
|
||||
</a>
|
||||
</li>
|
||||
<li class="toctree-l1">
|
||||
<a class="reference internal" href="no_tabs2.html">
|
||||
And another page without tabs
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="fruits">
|
||||
<h1>
|
||||
Fruits
|
||||
<a class="headerlink" href="#fruits" title="Permalink to this headline">
|
||||
¶
|
||||
</a>
|
||||
</h1>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-0-0-0" aria-selected="true" class="sphinx-tabs-tab" id="tab-0-0-0" name="0-0" role="tab" tabindex="0">
|
||||
Apples
|
||||
</button>
|
||||
<button aria-controls="panel-0-0-1" aria-selected="false" class="sphinx-tabs-tab" id="tab-0-0-1" name="0-1" role="tab" tabindex="-1">
|
||||
Pears
|
||||
</button>
|
||||
<button aria-controls="panel-0-0-2" aria-selected="false" class="sphinx-tabs-tab" id="tab-0-0-2" name="0-2" role="tab" tabindex="-1">
|
||||
Oranges
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-0" class="sphinx-tabs-panel" id="panel-0-0-0" name="0-0" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Apples are green, or sometimes red.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-1" class="sphinx-tabs-panel" hidden="true" id="panel-0-0-1" name="0-1" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Pears are green.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-2" class="sphinx-tabs-panel" hidden="true" id="panel-0-0-2" name="0-2" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Oranges are orange.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="luminaries">
|
||||
<h1>
|
||||
Luminaries
|
||||
<a class="headerlink" href="#luminaries" title="Permalink to this headline">
|
||||
¶
|
||||
</a>
|
||||
</h1>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-1-1-0" aria-selected="true" class="sphinx-tabs-tab" id="tab-1-1-0" name="1-0" role="tab" tabindex="0">
|
||||
Sun
|
||||
</button>
|
||||
<button aria-controls="panel-1-1-1" aria-selected="false" class="sphinx-tabs-tab" id="tab-1-1-1" name="1-1" role="tab" tabindex="-1">
|
||||
Moon
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-1-1-0" class="sphinx-tabs-panel" id="panel-1-1-0" name="1-0" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
The sun is a star.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-1-1-1" class="sphinx-tabs-panel" hidden="true" id="panel-1-1-1" name="1-1" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
The moon is not a star.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="code-tabs">
|
||||
<h1>
|
||||
Code Tabs
|
||||
<a class="headerlink" href="#code-tabs" title="Permalink to this headline">
|
||||
¶
|
||||
</a>
|
||||
</h1>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-2-Qw==" aria-selected="true" class="sphinx-tabs-tab code-tab group-tab" id="tab-2-Qw==" name="Qw==" role="tab" tabindex="0">
|
||||
C
|
||||
</button>
|
||||
<button aria-controls="panel-2-Qysr" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-2-Qysr" name="Qysr" role="tab" tabindex="-1">
|
||||
C++
|
||||
</button>
|
||||
<button aria-controls="panel-2-UHl0aG9u" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-2-UHl0aG9u" name="UHl0aG9u" role="tab" tabindex="-1">
|
||||
Python
|
||||
</button>
|
||||
<button aria-controls="panel-2-SmF2YQ==" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-2-SmF2YQ==" name="SmF2YQ==" role="tab" tabindex="-1">
|
||||
Java
|
||||
</button>
|
||||
<button aria-controls="panel-2-SnVsaWE=" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-2-SnVsaWE=" name="SnVsaWE=" role="tab" tabindex="-1">
|
||||
Julia
|
||||
</button>
|
||||
<button aria-controls="panel-2-Rm9ydHJhbg==" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-2-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tab" tabindex="-1">
|
||||
Fortran
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-Qw==" class="sphinx-tabs-panel code-tab group-tab" id="panel-2-Qw==" name="Qw==" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-c notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">C</span> <span class="n">Main</span> <span class="n">Function</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-Qysr" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-2-Qysr" name="Qysr" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-c++ notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">C</span><span class="o">++</span> <span class="n">Main</span> <span class="n">Function</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-UHl0aG9u" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-2-UHl0aG9u" name="UHl0aG9u" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-py notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">Python</span> <span class="n">Main</span> <span class="n">Function</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-SmF2YQ==" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-2-SmF2YQ==" name="SmF2YQ==" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-java notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">Java</span> <span class="n">Main</span> <span class="n">Function</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-SnVsaWE=" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-2-SnVsaWE=" name="SnVsaWE=" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-julia notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">Julia</span> <span class="n">Main</span> <span class="kt">Function</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-Rm9ydHJhbg==" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-2-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-fortran notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">Fortran</span> <span class="n">Main</span> <span class="k">Function</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-3-Qw==" aria-selected="true" class="sphinx-tabs-tab code-tab group-tab" id="tab-3-Qw==" name="Qw==" role="tab" tabindex="0">
|
||||
C
|
||||
</button>
|
||||
<button aria-controls="panel-3-Qysr" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-3-Qysr" name="Qysr" role="tab" tabindex="-1">
|
||||
C++
|
||||
</button>
|
||||
<button aria-controls="panel-3-UHl0aG9u" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-3-UHl0aG9u" name="UHl0aG9u" role="tab" tabindex="-1">
|
||||
Python
|
||||
</button>
|
||||
<button aria-controls="panel-3-SmF2YQ==" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-3-SmF2YQ==" name="SmF2YQ==" role="tab" tabindex="-1">
|
||||
Java
|
||||
</button>
|
||||
<button aria-controls="panel-3-SnVsaWE=" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-3-SnVsaWE=" name="SnVsaWE=" role="tab" tabindex="-1">
|
||||
Julia
|
||||
</button>
|
||||
<button aria-controls="panel-3-Rm9ydHJhbg==" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-3-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tab" tabindex="-1">
|
||||
Fortran
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-Qw==" class="sphinx-tabs-panel code-tab group-tab" id="panel-3-Qw==" name="Qw==" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-c notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="k">const</span> <span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-Qysr" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-3-Qysr" name="Qysr" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-c++ notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="k">const</span> <span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-UHl0aG9u" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-3-UHl0aG9u" name="UHl0aG9u" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-py notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="k">def</span> <span class="nf">main</span><span class="p">():</span>
|
||||
<span class="k">return</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-SmF2YQ==" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-3-SmF2YQ==" name="SmF2YQ==" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-java notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="kd">class</span> <span class="nc">Main</span> <span class="p">{</span>
|
||||
<span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="p">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-SnVsaWE=" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-3-SnVsaWE=" name="SnVsaWE=" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-julia notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="k">function</span> <span class="n">main</span><span class="p">()</span>
|
||||
<span class="k">end</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-Rm9ydHJhbg==" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-3-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-fortran notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="k">PROGRAM </span><span class="n">main</span>
|
||||
<span class="k">END PROGRAM </span><span class="n">main</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="group-tabs">
|
||||
<h1>
|
||||
Group Tabs
|
||||
<a class="headerlink" href="#group-tabs" title="Permalink to this headline">
|
||||
¶
|
||||
</a>
|
||||
</h1>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-4-TGludXg=" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-4-TGludXg=" name="TGludXg=" role="tab" tabindex="0">
|
||||
Linux
|
||||
</button>
|
||||
<button aria-controls="panel-4-TWFjIE9TWA==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-4-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tab" tabindex="-1">
|
||||
Mac OSX
|
||||
</button>
|
||||
<button aria-controls="panel-4-V2luZG93cw==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-4-V2luZG93cw==" name="V2luZG93cw==" role="tab" tabindex="-1">
|
||||
Windows
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-4-TGludXg=" class="sphinx-tabs-panel group-tab" id="panel-4-TGludXg=" name="TGludXg=" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Linux Line 1
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-4-TWFjIE9TWA==" class="sphinx-tabs-panel group-tab" hidden="true" id="panel-4-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Mac OSX Line 1
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-4-V2luZG93cw==" class="sphinx-tabs-panel group-tab" hidden="true" id="panel-4-V2luZG93cw==" name="V2luZG93cw==" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Windows Line 1
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-5-TGludXg=" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-5-TGludXg=" name="TGludXg=" role="tab" tabindex="0">
|
||||
Linux
|
||||
</button>
|
||||
<button aria-controls="panel-5-TWFjIE9TWA==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-5-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tab" tabindex="-1">
|
||||
Mac OSX
|
||||
</button>
|
||||
<button aria-controls="panel-5-V2luZG93cw==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-5-V2luZG93cw==" name="V2luZG93cw==" role="tab" tabindex="-1">
|
||||
Windows
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-5-TGludXg=" class="sphinx-tabs-panel group-tab" id="panel-5-TGludXg=" name="TGludXg=" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Linux Line 2
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-5-TWFjIE9TWA==" class="sphinx-tabs-panel group-tab" hidden="true" id="panel-5-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Mac OSX Line 2
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-5-V2luZG93cw==" class="sphinx-tabs-panel group-tab" hidden="true" id="panel-5-V2luZG93cw==" name="V2luZG93cw==" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Windows Line 2
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,152 @@
|
|||
<document source="index.rst">
|
||||
<compound classes="toctree-wrapper">
|
||||
<toctree caption="True" entries="(None,\ 'no_tabs1') (None,\ 'no_tabs2')" glob="False" hidden="False" includefiles="no_tabs1 no_tabs2" includehidden="False" maxdepth="-1" numbered="0" parent="index" rawentries="" titlesonly="False">
|
||||
<section ids="fruits" names="fruits">
|
||||
<title>
|
||||
Fruits
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-0-0-0" aria-selected="true" classes="sphinx-tabs-tab" ids="tab-0-0-0" name="0-0" role="tab" tabindex="0">
|
||||
Apples
|
||||
<button aria-controls="panel-0-0-1" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-0-0-1" name="0-1" role="tab" tabindex="-1">
|
||||
Pears
|
||||
<button aria-controls="panel-0-0-2" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-0-0-2" name="0-2" role="tab" tabindex="-1">
|
||||
Oranges
|
||||
<div aria-labelledby="tab-0-0-0" classes="sphinx-tabs-panel" ids="panel-0-0-0" name="0-0" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Apples are green, or sometimes red.
|
||||
<div aria-labelledby="tab-0-0-1" classes="sphinx-tabs-panel" hidden="true" ids="panel-0-0-1" name="0-1" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Pears are green.
|
||||
<div aria-labelledby="tab-0-0-2" classes="sphinx-tabs-panel" hidden="true" ids="panel-0-0-2" name="0-2" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Oranges are orange.
|
||||
<section ids="luminaries" names="luminaries">
|
||||
<title>
|
||||
Luminaries
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-1-1-0" aria-selected="true" classes="sphinx-tabs-tab" ids="tab-1-1-0" name="1-0" role="tab" tabindex="0">
|
||||
Sun
|
||||
<button aria-controls="panel-1-1-1" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-1-1-1" name="1-1" role="tab" tabindex="-1">
|
||||
Moon
|
||||
<div aria-labelledby="tab-1-1-0" classes="sphinx-tabs-panel" ids="panel-1-1-0" name="1-0" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
The sun is a star.
|
||||
<div aria-labelledby="tab-1-1-1" classes="sphinx-tabs-panel" hidden="true" ids="panel-1-1-1" name="1-1" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
The moon is not a star.
|
||||
<section ids="code-tabs" names="code\ tabs">
|
||||
<title>
|
||||
Code Tabs
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-2-Qw==" aria-selected="true" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-2-Qw==" name="Qw==" role="tab" tabindex="0">
|
||||
C
|
||||
<button aria-controls="panel-2-Qysr" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-2-Qysr" name="Qysr" role="tab" tabindex="-1">
|
||||
C++
|
||||
<button aria-controls="panel-2-UHl0aG9u" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-2-UHl0aG9u" name="UHl0aG9u" role="tab" tabindex="-1">
|
||||
Python
|
||||
<button aria-controls="panel-2-SmF2YQ==" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-2-SmF2YQ==" name="SmF2YQ==" role="tab" tabindex="-1">
|
||||
Java
|
||||
<button aria-controls="panel-2-SnVsaWE=" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-2-SnVsaWE=" name="SnVsaWE=" role="tab" tabindex="-1">
|
||||
Julia
|
||||
<button aria-controls="panel-2-Rm9ydHJhbg==" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-2-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tab" tabindex="-1">
|
||||
Fortran
|
||||
<div aria-labelledby="tab-2-Qw==" classes="sphinx-tabs-panel code-tab group-tab" ids="panel-2-Qw==" name="Qw==" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="c" xml:space="preserve">
|
||||
C Main Function
|
||||
<div aria-labelledby="tab-2-Qysr" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-2-Qysr" name="Qysr" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="c++" xml:space="preserve">
|
||||
C++ Main Function
|
||||
<div aria-labelledby="tab-2-UHl0aG9u" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-2-UHl0aG9u" name="UHl0aG9u" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="py" xml:space="preserve">
|
||||
Python Main Function
|
||||
<div aria-labelledby="tab-2-SmF2YQ==" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-2-SmF2YQ==" name="SmF2YQ==" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="java" xml:space="preserve">
|
||||
Java Main Function
|
||||
<div aria-labelledby="tab-2-SnVsaWE=" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-2-SnVsaWE=" name="SnVsaWE=" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="julia" xml:space="preserve">
|
||||
Julia Main Function
|
||||
<div aria-labelledby="tab-2-Rm9ydHJhbg==" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-2-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="fortran" xml:space="preserve">
|
||||
Fortran Main Function
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-3-Qw==" aria-selected="true" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-3-Qw==" name="Qw==" role="tab" tabindex="0">
|
||||
C
|
||||
<button aria-controls="panel-3-Qysr" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-3-Qysr" name="Qysr" role="tab" tabindex="-1">
|
||||
C++
|
||||
<button aria-controls="panel-3-UHl0aG9u" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-3-UHl0aG9u" name="UHl0aG9u" role="tab" tabindex="-1">
|
||||
Python
|
||||
<button aria-controls="panel-3-SmF2YQ==" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-3-SmF2YQ==" name="SmF2YQ==" role="tab" tabindex="-1">
|
||||
Java
|
||||
<button aria-controls="panel-3-SnVsaWE=" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-3-SnVsaWE=" name="SnVsaWE=" role="tab" tabindex="-1">
|
||||
Julia
|
||||
<button aria-controls="panel-3-Rm9ydHJhbg==" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-3-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tab" tabindex="-1">
|
||||
Fortran
|
||||
<div aria-labelledby="tab-3-Qw==" classes="sphinx-tabs-panel code-tab group-tab" ids="panel-3-Qw==" name="Qw==" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="c" xml:space="preserve">
|
||||
int main(const int argc, const char **argv) {
|
||||
return 0;
|
||||
}
|
||||
<div aria-labelledby="tab-3-Qysr" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-3-Qysr" name="Qysr" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="c++" xml:space="preserve">
|
||||
int main(const int argc, const char **argv) {
|
||||
return 0;
|
||||
}
|
||||
<div aria-labelledby="tab-3-UHl0aG9u" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-3-UHl0aG9u" name="UHl0aG9u" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="py" xml:space="preserve">
|
||||
def main():
|
||||
return
|
||||
<div aria-labelledby="tab-3-SmF2YQ==" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-3-SmF2YQ==" name="SmF2YQ==" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="java" xml:space="preserve">
|
||||
class Main {
|
||||
public static void main(String[] args) {
|
||||
}
|
||||
}
|
||||
<div aria-labelledby="tab-3-SnVsaWE=" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-3-SnVsaWE=" name="SnVsaWE=" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="julia" xml:space="preserve">
|
||||
function main()
|
||||
end
|
||||
<div aria-labelledby="tab-3-Rm9ydHJhbg==" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-3-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="fortran" xml:space="preserve">
|
||||
PROGRAM main
|
||||
END PROGRAM main
|
||||
<section ids="group-tabs" names="group\ tabs">
|
||||
<title>
|
||||
Group Tabs
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-4-TGludXg=" aria-selected="true" classes="sphinx-tabs-tab group-tab" ids="tab-4-TGludXg=" name="TGludXg=" role="tab" tabindex="0">
|
||||
Linux
|
||||
<button aria-controls="panel-4-TWFjIE9TWA==" aria-selected="false" classes="sphinx-tabs-tab group-tab" ids="tab-4-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tab" tabindex="-1">
|
||||
Mac OSX
|
||||
<button aria-controls="panel-4-V2luZG93cw==" aria-selected="false" classes="sphinx-tabs-tab group-tab" ids="tab-4-V2luZG93cw==" name="V2luZG93cw==" role="tab" tabindex="-1">
|
||||
Windows
|
||||
<div aria-labelledby="tab-4-TGludXg=" classes="sphinx-tabs-panel group-tab" ids="panel-4-TGludXg=" name="TGludXg=" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Linux Line 1
|
||||
<div aria-labelledby="tab-4-TWFjIE9TWA==" classes="sphinx-tabs-panel group-tab" hidden="true" ids="panel-4-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Mac OSX Line 1
|
||||
<div aria-labelledby="tab-4-V2luZG93cw==" classes="sphinx-tabs-panel group-tab" hidden="true" ids="panel-4-V2luZG93cw==" name="V2luZG93cw==" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Windows Line 1
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-5-TGludXg=" aria-selected="true" classes="sphinx-tabs-tab group-tab" ids="tab-5-TGludXg=" name="TGludXg=" role="tab" tabindex="0">
|
||||
Linux
|
||||
<button aria-controls="panel-5-TWFjIE9TWA==" aria-selected="false" classes="sphinx-tabs-tab group-tab" ids="tab-5-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tab" tabindex="-1">
|
||||
Mac OSX
|
||||
<button aria-controls="panel-5-V2luZG93cw==" aria-selected="false" classes="sphinx-tabs-tab group-tab" ids="tab-5-V2luZG93cw==" name="V2luZG93cw==" role="tab" tabindex="-1">
|
||||
Windows
|
||||
<div aria-labelledby="tab-5-TGludXg=" classes="sphinx-tabs-panel group-tab" ids="panel-5-TGludXg=" name="TGludXg=" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Linux Line 2
|
||||
<div aria-labelledby="tab-5-TWFjIE9TWA==" classes="sphinx-tabs-panel group-tab" hidden="true" ids="panel-5-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Mac OSX Line 2
|
||||
<div aria-labelledby="tab-5-V2luZG93cw==" classes="sphinx-tabs-panel group-tab" hidden="true" ids="panel-5-V2luZG93cw==" name="V2luZG93cw==" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Windows Line 2
|
|
@ -0,0 +1,306 @@
|
|||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1">
|
||||
<a class="reference internal" href="no_tabs1.html">
|
||||
Another page without tabs
|
||||
</a>
|
||||
</li>
|
||||
<li class="toctree-l1">
|
||||
<a class="reference internal" href="no_tabs2.html">
|
||||
And another page without tabs
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="fruits">
|
||||
<h1>
|
||||
Fruits
|
||||
<a class="headerlink" href="#fruits" title="Permalink to this headline">
|
||||
¶
|
||||
</a>
|
||||
</h1>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-0-0-0" aria-selected="true" class="sphinx-tabs-tab" id="tab-0-0-0" name="0-0" role="tab" tabindex="0">
|
||||
Apples
|
||||
</button>
|
||||
<button aria-controls="panel-0-0-1" aria-selected="false" class="sphinx-tabs-tab" id="tab-0-0-1" name="0-1" role="tab" tabindex="-1">
|
||||
Pears
|
||||
</button>
|
||||
<button aria-controls="panel-0-0-2" aria-selected="false" class="sphinx-tabs-tab" id="tab-0-0-2" name="0-2" role="tab" tabindex="-1">
|
||||
Oranges
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-0" class="sphinx-tabs-panel" id="panel-0-0-0" name="0-0" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Apples are green, or sometimes red.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-1" class="sphinx-tabs-panel" hidden="true" id="panel-0-0-1" name="0-1" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Pears are green.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-2" class="sphinx-tabs-panel" hidden="true" id="panel-0-0-2" name="0-2" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Oranges are orange.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="luminaries">
|
||||
<h1>
|
||||
Luminaries
|
||||
<a class="headerlink" href="#luminaries" title="Permalink to this headline">
|
||||
¶
|
||||
</a>
|
||||
</h1>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-1-1-0" aria-selected="true" class="sphinx-tabs-tab" id="tab-1-1-0" name="1-0" role="tab" tabindex="0">
|
||||
Sun
|
||||
</button>
|
||||
<button aria-controls="panel-1-1-1" aria-selected="false" class="sphinx-tabs-tab" id="tab-1-1-1" name="1-1" role="tab" tabindex="-1">
|
||||
Moon
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-1-1-0" class="sphinx-tabs-panel" id="panel-1-1-0" name="1-0" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
The sun is a star.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-1-1-1" class="sphinx-tabs-panel" hidden="true" id="panel-1-1-1" name="1-1" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
The moon is not a star.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="code-tabs">
|
||||
<h1>
|
||||
Code Tabs
|
||||
<a class="headerlink" href="#code-tabs" title="Permalink to this headline">
|
||||
¶
|
||||
</a>
|
||||
</h1>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-2-Qw==" aria-selected="true" class="sphinx-tabs-tab code-tab group-tab" id="tab-2-Qw==" name="Qw==" role="tab" tabindex="0">
|
||||
C
|
||||
</button>
|
||||
<button aria-controls="panel-2-Qysr" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-2-Qysr" name="Qysr" role="tab" tabindex="-1">
|
||||
C++
|
||||
</button>
|
||||
<button aria-controls="panel-2-UHl0aG9u" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-2-UHl0aG9u" name="UHl0aG9u" role="tab" tabindex="-1">
|
||||
Python
|
||||
</button>
|
||||
<button aria-controls="panel-2-SmF2YQ==" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-2-SmF2YQ==" name="SmF2YQ==" role="tab" tabindex="-1">
|
||||
Java
|
||||
</button>
|
||||
<button aria-controls="panel-2-SnVsaWE=" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-2-SnVsaWE=" name="SnVsaWE=" role="tab" tabindex="-1">
|
||||
Julia
|
||||
</button>
|
||||
<button aria-controls="panel-2-Rm9ydHJhbg==" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-2-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tab" tabindex="-1">
|
||||
Fortran
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-Qw==" class="sphinx-tabs-panel code-tab group-tab" id="panel-2-Qw==" name="Qw==" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-c notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">C</span> <span class="n">Main</span> <span class="n">Function</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-Qysr" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-2-Qysr" name="Qysr" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-c++ notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">C</span><span class="o">++</span> <span class="n">Main</span> <span class="n">Function</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-UHl0aG9u" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-2-UHl0aG9u" name="UHl0aG9u" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-py notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">Python</span> <span class="n">Main</span> <span class="n">Function</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-SmF2YQ==" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-2-SmF2YQ==" name="SmF2YQ==" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-java notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">Java</span> <span class="n">Main</span> <span class="n">Function</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-SnVsaWE=" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-2-SnVsaWE=" name="SnVsaWE=" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-julia notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">Julia</span> <span class="n">Main</span> <span class="kt">Function</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-Rm9ydHJhbg==" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-2-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-fortran notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">Fortran</span> <span class="n">Main</span> <span class="k">Function</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-3-Qw==" aria-selected="true" class="sphinx-tabs-tab code-tab group-tab" id="tab-3-Qw==" name="Qw==" role="tab" tabindex="0">
|
||||
C
|
||||
</button>
|
||||
<button aria-controls="panel-3-Qysr" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-3-Qysr" name="Qysr" role="tab" tabindex="-1">
|
||||
C++
|
||||
</button>
|
||||
<button aria-controls="panel-3-UHl0aG9u" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-3-UHl0aG9u" name="UHl0aG9u" role="tab" tabindex="-1">
|
||||
Python
|
||||
</button>
|
||||
<button aria-controls="panel-3-SmF2YQ==" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-3-SmF2YQ==" name="SmF2YQ==" role="tab" tabindex="-1">
|
||||
Java
|
||||
</button>
|
||||
<button aria-controls="panel-3-SnVsaWE=" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-3-SnVsaWE=" name="SnVsaWE=" role="tab" tabindex="-1">
|
||||
Julia
|
||||
</button>
|
||||
<button aria-controls="panel-3-Rm9ydHJhbg==" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-3-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tab" tabindex="-1">
|
||||
Fortran
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-Qw==" class="sphinx-tabs-panel code-tab group-tab" id="panel-3-Qw==" name="Qw==" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-c notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="k">const</span> <span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-Qysr" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-3-Qysr" name="Qysr" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-c++ notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="k">const</span> <span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-UHl0aG9u" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-3-UHl0aG9u" name="UHl0aG9u" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-py notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="k">def</span> <span class="nf">main</span><span class="p">():</span>
|
||||
<span class="k">return</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-SmF2YQ==" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-3-SmF2YQ==" name="SmF2YQ==" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-java notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="kd">class</span> <span class="nc">Main</span> <span class="p">{</span>
|
||||
<span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="p">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-SnVsaWE=" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-3-SnVsaWE=" name="SnVsaWE=" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-julia notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="k">function</span> <span class="n">main</span><span class="p">()</span>
|
||||
<span class="k">end</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-Rm9ydHJhbg==" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-3-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-fortran notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="k">PROGRAM </span><span class="n">main</span>
|
||||
<span class="k">END PROGRAM </span><span class="n">main</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="group-tabs">
|
||||
<h1>
|
||||
Group Tabs
|
||||
<a class="headerlink" href="#group-tabs" title="Permalink to this headline">
|
||||
¶
|
||||
</a>
|
||||
</h1>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-4-TGludXg=" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-4-TGludXg=" name="TGludXg=" role="tab" tabindex="0">
|
||||
Linux
|
||||
</button>
|
||||
<button aria-controls="panel-4-TWFjIE9TWA==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-4-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tab" tabindex="-1">
|
||||
Mac OSX
|
||||
</button>
|
||||
<button aria-controls="panel-4-V2luZG93cw==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-4-V2luZG93cw==" name="V2luZG93cw==" role="tab" tabindex="-1">
|
||||
Windows
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-4-TGludXg=" class="sphinx-tabs-panel group-tab" id="panel-4-TGludXg=" name="TGludXg=" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Linux Line 1
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-4-TWFjIE9TWA==" class="sphinx-tabs-panel group-tab" hidden="true" id="panel-4-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Mac OSX Line 1
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-4-V2luZG93cw==" class="sphinx-tabs-panel group-tab" hidden="true" id="panel-4-V2luZG93cw==" name="V2luZG93cw==" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Windows Line 1
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-5-TGludXg=" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-5-TGludXg=" name="TGludXg=" role="tab" tabindex="0">
|
||||
Linux
|
||||
</button>
|
||||
<button aria-controls="panel-5-TWFjIE9TWA==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-5-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tab" tabindex="-1">
|
||||
Mac OSX
|
||||
</button>
|
||||
<button aria-controls="panel-5-V2luZG93cw==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-5-V2luZG93cw==" name="V2luZG93cw==" role="tab" tabindex="-1">
|
||||
Windows
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-5-TGludXg=" class="sphinx-tabs-panel group-tab" id="panel-5-TGludXg=" name="TGludXg=" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Linux Line 2
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-5-TWFjIE9TWA==" class="sphinx-tabs-panel group-tab" hidden="true" id="panel-5-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Mac OSX Line 2
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-5-V2luZG93cw==" class="sphinx-tabs-panel group-tab" hidden="true" id="panel-5-V2luZG93cw==" name="V2luZG93cw==" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Windows Line 2
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,152 @@
|
|||
<document source="index.rst">
|
||||
<compound classes="toctree-wrapper">
|
||||
<toctree caption="True" entries="(None,\ 'no_tabs1') (None,\ 'no_tabs2')" glob="False" hidden="False" includefiles="no_tabs1 no_tabs2" includehidden="False" maxdepth="-1" numbered="0" parent="index" rawentries="" titlesonly="False">
|
||||
<section ids="fruits" names="fruits">
|
||||
<title>
|
||||
Fruits
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-0-0-0" aria-selected="true" classes="sphinx-tabs-tab" ids="tab-0-0-0" name="0-0" role="tab" tabindex="0">
|
||||
Apples
|
||||
<button aria-controls="panel-0-0-1" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-0-0-1" name="0-1" role="tab" tabindex="-1">
|
||||
Pears
|
||||
<button aria-controls="panel-0-0-2" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-0-0-2" name="0-2" role="tab" tabindex="-1">
|
||||
Oranges
|
||||
<div aria-labelledby="tab-0-0-0" classes="sphinx-tabs-panel" ids="panel-0-0-0" name="0-0" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Apples are green, or sometimes red.
|
||||
<div aria-labelledby="tab-0-0-1" classes="sphinx-tabs-panel" hidden="true" ids="panel-0-0-1" name="0-1" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Pears are green.
|
||||
<div aria-labelledby="tab-0-0-2" classes="sphinx-tabs-panel" hidden="true" ids="panel-0-0-2" name="0-2" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Oranges are orange.
|
||||
<section ids="luminaries" names="luminaries">
|
||||
<title>
|
||||
Luminaries
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-1-1-0" aria-selected="true" classes="sphinx-tabs-tab" ids="tab-1-1-0" name="1-0" role="tab" tabindex="0">
|
||||
Sun
|
||||
<button aria-controls="panel-1-1-1" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-1-1-1" name="1-1" role="tab" tabindex="-1">
|
||||
Moon
|
||||
<div aria-labelledby="tab-1-1-0" classes="sphinx-tabs-panel" ids="panel-1-1-0" name="1-0" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
The sun is a star.
|
||||
<div aria-labelledby="tab-1-1-1" classes="sphinx-tabs-panel" hidden="true" ids="panel-1-1-1" name="1-1" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
The moon is not a star.
|
||||
<section ids="code-tabs" names="code\ tabs">
|
||||
<title>
|
||||
Code Tabs
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-2-Qw==" aria-selected="true" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-2-Qw==" name="Qw==" role="tab" tabindex="0">
|
||||
C
|
||||
<button aria-controls="panel-2-Qysr" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-2-Qysr" name="Qysr" role="tab" tabindex="-1">
|
||||
C++
|
||||
<button aria-controls="panel-2-UHl0aG9u" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-2-UHl0aG9u" name="UHl0aG9u" role="tab" tabindex="-1">
|
||||
Python
|
||||
<button aria-controls="panel-2-SmF2YQ==" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-2-SmF2YQ==" name="SmF2YQ==" role="tab" tabindex="-1">
|
||||
Java
|
||||
<button aria-controls="panel-2-SnVsaWE=" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-2-SnVsaWE=" name="SnVsaWE=" role="tab" tabindex="-1">
|
||||
Julia
|
||||
<button aria-controls="panel-2-Rm9ydHJhbg==" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-2-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tab" tabindex="-1">
|
||||
Fortran
|
||||
<div aria-labelledby="tab-2-Qw==" classes="sphinx-tabs-panel code-tab group-tab" ids="panel-2-Qw==" name="Qw==" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="c" xml:space="preserve">
|
||||
C Main Function
|
||||
<div aria-labelledby="tab-2-Qysr" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-2-Qysr" name="Qysr" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="c++" xml:space="preserve">
|
||||
C++ Main Function
|
||||
<div aria-labelledby="tab-2-UHl0aG9u" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-2-UHl0aG9u" name="UHl0aG9u" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="py" xml:space="preserve">
|
||||
Python Main Function
|
||||
<div aria-labelledby="tab-2-SmF2YQ==" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-2-SmF2YQ==" name="SmF2YQ==" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="java" xml:space="preserve">
|
||||
Java Main Function
|
||||
<div aria-labelledby="tab-2-SnVsaWE=" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-2-SnVsaWE=" name="SnVsaWE=" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="julia" xml:space="preserve">
|
||||
Julia Main Function
|
||||
<div aria-labelledby="tab-2-Rm9ydHJhbg==" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-2-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="fortran" xml:space="preserve">
|
||||
Fortran Main Function
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-3-Qw==" aria-selected="true" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-3-Qw==" name="Qw==" role="tab" tabindex="0">
|
||||
C
|
||||
<button aria-controls="panel-3-Qysr" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-3-Qysr" name="Qysr" role="tab" tabindex="-1">
|
||||
C++
|
||||
<button aria-controls="panel-3-UHl0aG9u" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-3-UHl0aG9u" name="UHl0aG9u" role="tab" tabindex="-1">
|
||||
Python
|
||||
<button aria-controls="panel-3-SmF2YQ==" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-3-SmF2YQ==" name="SmF2YQ==" role="tab" tabindex="-1">
|
||||
Java
|
||||
<button aria-controls="panel-3-SnVsaWE=" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-3-SnVsaWE=" name="SnVsaWE=" role="tab" tabindex="-1">
|
||||
Julia
|
||||
<button aria-controls="panel-3-Rm9ydHJhbg==" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-3-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tab" tabindex="-1">
|
||||
Fortran
|
||||
<div aria-labelledby="tab-3-Qw==" classes="sphinx-tabs-panel code-tab group-tab" ids="panel-3-Qw==" name="Qw==" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="c" xml:space="preserve">
|
||||
int main(const int argc, const char **argv) {
|
||||
return 0;
|
||||
}
|
||||
<div aria-labelledby="tab-3-Qysr" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-3-Qysr" name="Qysr" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="c++" xml:space="preserve">
|
||||
int main(const int argc, const char **argv) {
|
||||
return 0;
|
||||
}
|
||||
<div aria-labelledby="tab-3-UHl0aG9u" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-3-UHl0aG9u" name="UHl0aG9u" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="py" xml:space="preserve">
|
||||
def main():
|
||||
return
|
||||
<div aria-labelledby="tab-3-SmF2YQ==" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-3-SmF2YQ==" name="SmF2YQ==" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="java" xml:space="preserve">
|
||||
class Main {
|
||||
public static void main(String[] args) {
|
||||
}
|
||||
}
|
||||
<div aria-labelledby="tab-3-SnVsaWE=" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-3-SnVsaWE=" name="SnVsaWE=" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="julia" xml:space="preserve">
|
||||
function main()
|
||||
end
|
||||
<div aria-labelledby="tab-3-Rm9ydHJhbg==" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-3-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="fortran" xml:space="preserve">
|
||||
PROGRAM main
|
||||
END PROGRAM main
|
||||
<section ids="group-tabs" names="group\ tabs">
|
||||
<title>
|
||||
Group Tabs
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-4-TGludXg=" aria-selected="true" classes="sphinx-tabs-tab group-tab" ids="tab-4-TGludXg=" name="TGludXg=" role="tab" tabindex="0">
|
||||
Linux
|
||||
<button aria-controls="panel-4-TWFjIE9TWA==" aria-selected="false" classes="sphinx-tabs-tab group-tab" ids="tab-4-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tab" tabindex="-1">
|
||||
Mac OSX
|
||||
<button aria-controls="panel-4-V2luZG93cw==" aria-selected="false" classes="sphinx-tabs-tab group-tab" ids="tab-4-V2luZG93cw==" name="V2luZG93cw==" role="tab" tabindex="-1">
|
||||
Windows
|
||||
<div aria-labelledby="tab-4-TGludXg=" classes="sphinx-tabs-panel group-tab" ids="panel-4-TGludXg=" name="TGludXg=" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Linux Line 1
|
||||
<div aria-labelledby="tab-4-TWFjIE9TWA==" classes="sphinx-tabs-panel group-tab" hidden="true" ids="panel-4-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Mac OSX Line 1
|
||||
<div aria-labelledby="tab-4-V2luZG93cw==" classes="sphinx-tabs-panel group-tab" hidden="true" ids="panel-4-V2luZG93cw==" name="V2luZG93cw==" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Windows Line 1
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-5-TGludXg=" aria-selected="true" classes="sphinx-tabs-tab group-tab" ids="tab-5-TGludXg=" name="TGludXg=" role="tab" tabindex="0">
|
||||
Linux
|
||||
<button aria-controls="panel-5-TWFjIE9TWA==" aria-selected="false" classes="sphinx-tabs-tab group-tab" ids="tab-5-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tab" tabindex="-1">
|
||||
Mac OSX
|
||||
<button aria-controls="panel-5-V2luZG93cw==" aria-selected="false" classes="sphinx-tabs-tab group-tab" ids="tab-5-V2luZG93cw==" name="V2luZG93cw==" role="tab" tabindex="-1">
|
||||
Windows
|
||||
<div aria-labelledby="tab-5-TGludXg=" classes="sphinx-tabs-panel group-tab" ids="panel-5-TGludXg=" name="TGludXg=" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Linux Line 2
|
||||
<div aria-labelledby="tab-5-TWFjIE9TWA==" classes="sphinx-tabs-panel group-tab" hidden="true" ids="panel-5-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Mac OSX Line 2
|
||||
<div aria-labelledby="tab-5-V2luZG93cw==" classes="sphinx-tabs-panel group-tab" hidden="true" ids="panel-5-V2luZG93cw==" name="V2luZG93cw==" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Windows Line 2
|
|
@ -0,0 +1,306 @@
|
|||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1">
|
||||
<a class="reference internal" href="no_tabs1.html">
|
||||
Another page without tabs
|
||||
</a>
|
||||
</li>
|
||||
<li class="toctree-l1">
|
||||
<a class="reference internal" href="no_tabs2.html">
|
||||
And another page without tabs
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="fruits">
|
||||
<h1>
|
||||
Fruits
|
||||
<a class="headerlink" href="#fruits" title="Permalink to this headline">
|
||||
¶
|
||||
</a>
|
||||
</h1>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-0-0-0" aria-selected="true" class="sphinx-tabs-tab" id="tab-0-0-0" name="0-0" role="tab" tabindex="0">
|
||||
Apples
|
||||
</button>
|
||||
<button aria-controls="panel-0-0-1" aria-selected="false" class="sphinx-tabs-tab" id="tab-0-0-1" name="0-1" role="tab" tabindex="-1">
|
||||
Pears
|
||||
</button>
|
||||
<button aria-controls="panel-0-0-2" aria-selected="false" class="sphinx-tabs-tab" id="tab-0-0-2" name="0-2" role="tab" tabindex="-1">
|
||||
Oranges
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-0" class="sphinx-tabs-panel" id="panel-0-0-0" name="0-0" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Apples are green, or sometimes red.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-1" class="sphinx-tabs-panel" hidden="true" id="panel-0-0-1" name="0-1" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Pears are green.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-2" class="sphinx-tabs-panel" hidden="true" id="panel-0-0-2" name="0-2" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Oranges are orange.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="luminaries">
|
||||
<h1>
|
||||
Luminaries
|
||||
<a class="headerlink" href="#luminaries" title="Permalink to this headline">
|
||||
¶
|
||||
</a>
|
||||
</h1>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-1-1-0" aria-selected="true" class="sphinx-tabs-tab" id="tab-1-1-0" name="1-0" role="tab" tabindex="0">
|
||||
Sun
|
||||
</button>
|
||||
<button aria-controls="panel-1-1-1" aria-selected="false" class="sphinx-tabs-tab" id="tab-1-1-1" name="1-1" role="tab" tabindex="-1">
|
||||
Moon
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-1-1-0" class="sphinx-tabs-panel" id="panel-1-1-0" name="1-0" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
The sun is a star.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-1-1-1" class="sphinx-tabs-panel" hidden="true" id="panel-1-1-1" name="1-1" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
The moon is not a star.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="code-tabs">
|
||||
<h1>
|
||||
Code Tabs
|
||||
<a class="headerlink" href="#code-tabs" title="Permalink to this headline">
|
||||
¶
|
||||
</a>
|
||||
</h1>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-2-Qw==" aria-selected="true" class="sphinx-tabs-tab code-tab group-tab" id="tab-2-Qw==" name="Qw==" role="tab" tabindex="0">
|
||||
C
|
||||
</button>
|
||||
<button aria-controls="panel-2-Qysr" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-2-Qysr" name="Qysr" role="tab" tabindex="-1">
|
||||
C++
|
||||
</button>
|
||||
<button aria-controls="panel-2-UHl0aG9u" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-2-UHl0aG9u" name="UHl0aG9u" role="tab" tabindex="-1">
|
||||
Python
|
||||
</button>
|
||||
<button aria-controls="panel-2-SmF2YQ==" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-2-SmF2YQ==" name="SmF2YQ==" role="tab" tabindex="-1">
|
||||
Java
|
||||
</button>
|
||||
<button aria-controls="panel-2-SnVsaWE=" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-2-SnVsaWE=" name="SnVsaWE=" role="tab" tabindex="-1">
|
||||
Julia
|
||||
</button>
|
||||
<button aria-controls="panel-2-Rm9ydHJhbg==" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-2-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tab" tabindex="-1">
|
||||
Fortran
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-Qw==" class="sphinx-tabs-panel code-tab group-tab" id="panel-2-Qw==" name="Qw==" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-c notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">C</span> <span class="n">Main</span> <span class="n">Function</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-Qysr" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-2-Qysr" name="Qysr" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-c++ notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">C</span><span class="o">++</span> <span class="n">Main</span> <span class="n">Function</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-UHl0aG9u" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-2-UHl0aG9u" name="UHl0aG9u" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-py notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">Python</span> <span class="n">Main</span> <span class="n">Function</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-SmF2YQ==" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-2-SmF2YQ==" name="SmF2YQ==" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-java notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">Java</span> <span class="n">Main</span> <span class="n">Function</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-SnVsaWE=" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-2-SnVsaWE=" name="SnVsaWE=" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-julia notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">Julia</span> <span class="n">Main</span> <span class="kt">Function</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-Rm9ydHJhbg==" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-2-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-fortran notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">Fortran</span> <span class="n">Main</span> <span class="k">Function</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-3-Qw==" aria-selected="true" class="sphinx-tabs-tab code-tab group-tab" id="tab-3-Qw==" name="Qw==" role="tab" tabindex="0">
|
||||
C
|
||||
</button>
|
||||
<button aria-controls="panel-3-Qysr" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-3-Qysr" name="Qysr" role="tab" tabindex="-1">
|
||||
C++
|
||||
</button>
|
||||
<button aria-controls="panel-3-UHl0aG9u" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-3-UHl0aG9u" name="UHl0aG9u" role="tab" tabindex="-1">
|
||||
Python
|
||||
</button>
|
||||
<button aria-controls="panel-3-SmF2YQ==" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-3-SmF2YQ==" name="SmF2YQ==" role="tab" tabindex="-1">
|
||||
Java
|
||||
</button>
|
||||
<button aria-controls="panel-3-SnVsaWE=" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-3-SnVsaWE=" name="SnVsaWE=" role="tab" tabindex="-1">
|
||||
Julia
|
||||
</button>
|
||||
<button aria-controls="panel-3-Rm9ydHJhbg==" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-3-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tab" tabindex="-1">
|
||||
Fortran
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-Qw==" class="sphinx-tabs-panel code-tab group-tab" id="panel-3-Qw==" name="Qw==" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-c notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="k">const</span> <span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-Qysr" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-3-Qysr" name="Qysr" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-c++ notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="k">const</span> <span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-UHl0aG9u" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-3-UHl0aG9u" name="UHl0aG9u" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-py notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="k">def</span> <span class="nf">main</span><span class="p">():</span>
|
||||
<span class="k">return</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-SmF2YQ==" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-3-SmF2YQ==" name="SmF2YQ==" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-java notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="kd">class</span> <span class="nc">Main</span> <span class="p">{</span>
|
||||
<span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="p">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-SnVsaWE=" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-3-SnVsaWE=" name="SnVsaWE=" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-julia notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="k">function</span> <span class="n">main</span><span class="p">()</span>
|
||||
<span class="k">end</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-Rm9ydHJhbg==" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-3-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-fortran notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="k">PROGRAM </span><span class="n">main</span>
|
||||
<span class="k">END PROGRAM </span><span class="n">main</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="group-tabs">
|
||||
<h1>
|
||||
Group Tabs
|
||||
<a class="headerlink" href="#group-tabs" title="Permalink to this headline">
|
||||
¶
|
||||
</a>
|
||||
</h1>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-4-TGludXg=" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-4-TGludXg=" name="TGludXg=" role="tab" tabindex="0">
|
||||
Linux
|
||||
</button>
|
||||
<button aria-controls="panel-4-TWFjIE9TWA==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-4-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tab" tabindex="-1">
|
||||
Mac OSX
|
||||
</button>
|
||||
<button aria-controls="panel-4-V2luZG93cw==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-4-V2luZG93cw==" name="V2luZG93cw==" role="tab" tabindex="-1">
|
||||
Windows
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-4-TGludXg=" class="sphinx-tabs-panel group-tab" id="panel-4-TGludXg=" name="TGludXg=" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Linux Line 1
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-4-TWFjIE9TWA==" class="sphinx-tabs-panel group-tab" hidden="true" id="panel-4-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Mac OSX Line 1
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-4-V2luZG93cw==" class="sphinx-tabs-panel group-tab" hidden="true" id="panel-4-V2luZG93cw==" name="V2luZG93cw==" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Windows Line 1
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-5-TGludXg=" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-5-TGludXg=" name="TGludXg=" role="tab" tabindex="0">
|
||||
Linux
|
||||
</button>
|
||||
<button aria-controls="panel-5-TWFjIE9TWA==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-5-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tab" tabindex="-1">
|
||||
Mac OSX
|
||||
</button>
|
||||
<button aria-controls="panel-5-V2luZG93cw==" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-5-V2luZG93cw==" name="V2luZG93cw==" role="tab" tabindex="-1">
|
||||
Windows
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-5-TGludXg=" class="sphinx-tabs-panel group-tab" id="panel-5-TGludXg=" name="TGludXg=" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Linux Line 2
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-5-TWFjIE9TWA==" class="sphinx-tabs-panel group-tab" hidden="true" id="panel-5-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Mac OSX Line 2
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-5-V2luZG93cw==" class="sphinx-tabs-panel group-tab" hidden="true" id="panel-5-V2luZG93cw==" name="V2luZG93cw==" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Windows Line 2
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,152 @@
|
|||
<document source="index.rst">
|
||||
<compound classes="toctree-wrapper">
|
||||
<toctree caption="True" entries="(None,\ 'no_tabs1') (None,\ 'no_tabs2')" glob="False" hidden="False" includefiles="no_tabs1 no_tabs2" includehidden="False" maxdepth="-1" numbered="0" parent="index" rawentries="" titlesonly="False">
|
||||
<section ids="fruits" names="fruits">
|
||||
<title>
|
||||
Fruits
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-0-0-0" aria-selected="true" classes="sphinx-tabs-tab" ids="tab-0-0-0" name="0-0" role="tab" tabindex="0">
|
||||
Apples
|
||||
<button aria-controls="panel-0-0-1" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-0-0-1" name="0-1" role="tab" tabindex="-1">
|
||||
Pears
|
||||
<button aria-controls="panel-0-0-2" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-0-0-2" name="0-2" role="tab" tabindex="-1">
|
||||
Oranges
|
||||
<div aria-labelledby="tab-0-0-0" classes="sphinx-tabs-panel" ids="panel-0-0-0" name="0-0" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Apples are green, or sometimes red.
|
||||
<div aria-labelledby="tab-0-0-1" classes="sphinx-tabs-panel" hidden="true" ids="panel-0-0-1" name="0-1" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Pears are green.
|
||||
<div aria-labelledby="tab-0-0-2" classes="sphinx-tabs-panel" hidden="true" ids="panel-0-0-2" name="0-2" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Oranges are orange.
|
||||
<section ids="luminaries" names="luminaries">
|
||||
<title>
|
||||
Luminaries
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-1-1-0" aria-selected="true" classes="sphinx-tabs-tab" ids="tab-1-1-0" name="1-0" role="tab" tabindex="0">
|
||||
Sun
|
||||
<button aria-controls="panel-1-1-1" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-1-1-1" name="1-1" role="tab" tabindex="-1">
|
||||
Moon
|
||||
<div aria-labelledby="tab-1-1-0" classes="sphinx-tabs-panel" ids="panel-1-1-0" name="1-0" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
The sun is a star.
|
||||
<div aria-labelledby="tab-1-1-1" classes="sphinx-tabs-panel" hidden="true" ids="panel-1-1-1" name="1-1" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
The moon is not a star.
|
||||
<section ids="code-tabs" names="code\ tabs">
|
||||
<title>
|
||||
Code Tabs
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-2-Qw==" aria-selected="true" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-2-Qw==" name="Qw==" role="tab" tabindex="0">
|
||||
C
|
||||
<button aria-controls="panel-2-Qysr" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-2-Qysr" name="Qysr" role="tab" tabindex="-1">
|
||||
C++
|
||||
<button aria-controls="panel-2-UHl0aG9u" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-2-UHl0aG9u" name="UHl0aG9u" role="tab" tabindex="-1">
|
||||
Python
|
||||
<button aria-controls="panel-2-SmF2YQ==" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-2-SmF2YQ==" name="SmF2YQ==" role="tab" tabindex="-1">
|
||||
Java
|
||||
<button aria-controls="panel-2-SnVsaWE=" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-2-SnVsaWE=" name="SnVsaWE=" role="tab" tabindex="-1">
|
||||
Julia
|
||||
<button aria-controls="panel-2-Rm9ydHJhbg==" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-2-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tab" tabindex="-1">
|
||||
Fortran
|
||||
<div aria-labelledby="tab-2-Qw==" classes="sphinx-tabs-panel code-tab group-tab" ids="panel-2-Qw==" name="Qw==" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="c" xml:space="preserve">
|
||||
C Main Function
|
||||
<div aria-labelledby="tab-2-Qysr" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-2-Qysr" name="Qysr" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="c++" xml:space="preserve">
|
||||
C++ Main Function
|
||||
<div aria-labelledby="tab-2-UHl0aG9u" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-2-UHl0aG9u" name="UHl0aG9u" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="py" xml:space="preserve">
|
||||
Python Main Function
|
||||
<div aria-labelledby="tab-2-SmF2YQ==" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-2-SmF2YQ==" name="SmF2YQ==" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="java" xml:space="preserve">
|
||||
Java Main Function
|
||||
<div aria-labelledby="tab-2-SnVsaWE=" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-2-SnVsaWE=" name="SnVsaWE=" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="julia" xml:space="preserve">
|
||||
Julia Main Function
|
||||
<div aria-labelledby="tab-2-Rm9ydHJhbg==" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-2-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="fortran" xml:space="preserve">
|
||||
Fortran Main Function
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-3-Qw==" aria-selected="true" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-3-Qw==" name="Qw==" role="tab" tabindex="0">
|
||||
C
|
||||
<button aria-controls="panel-3-Qysr" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-3-Qysr" name="Qysr" role="tab" tabindex="-1">
|
||||
C++
|
||||
<button aria-controls="panel-3-UHl0aG9u" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-3-UHl0aG9u" name="UHl0aG9u" role="tab" tabindex="-1">
|
||||
Python
|
||||
<button aria-controls="panel-3-SmF2YQ==" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-3-SmF2YQ==" name="SmF2YQ==" role="tab" tabindex="-1">
|
||||
Java
|
||||
<button aria-controls="panel-3-SnVsaWE=" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-3-SnVsaWE=" name="SnVsaWE=" role="tab" tabindex="-1">
|
||||
Julia
|
||||
<button aria-controls="panel-3-Rm9ydHJhbg==" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-3-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tab" tabindex="-1">
|
||||
Fortran
|
||||
<div aria-labelledby="tab-3-Qw==" classes="sphinx-tabs-panel code-tab group-tab" ids="panel-3-Qw==" name="Qw==" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="c" xml:space="preserve">
|
||||
int main(const int argc, const char **argv) {
|
||||
return 0;
|
||||
}
|
||||
<div aria-labelledby="tab-3-Qysr" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-3-Qysr" name="Qysr" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="c++" xml:space="preserve">
|
||||
int main(const int argc, const char **argv) {
|
||||
return 0;
|
||||
}
|
||||
<div aria-labelledby="tab-3-UHl0aG9u" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-3-UHl0aG9u" name="UHl0aG9u" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="py" xml:space="preserve">
|
||||
def main():
|
||||
return
|
||||
<div aria-labelledby="tab-3-SmF2YQ==" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-3-SmF2YQ==" name="SmF2YQ==" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="java" xml:space="preserve">
|
||||
class Main {
|
||||
public static void main(String[] args) {
|
||||
}
|
||||
}
|
||||
<div aria-labelledby="tab-3-SnVsaWE=" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-3-SnVsaWE=" name="SnVsaWE=" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="julia" xml:space="preserve">
|
||||
function main()
|
||||
end
|
||||
<div aria-labelledby="tab-3-Rm9ydHJhbg==" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-3-Rm9ydHJhbg==" name="Rm9ydHJhbg==" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="fortran" xml:space="preserve">
|
||||
PROGRAM main
|
||||
END PROGRAM main
|
||||
<section ids="group-tabs" names="group\ tabs">
|
||||
<title>
|
||||
Group Tabs
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-4-TGludXg=" aria-selected="true" classes="sphinx-tabs-tab group-tab" ids="tab-4-TGludXg=" name="TGludXg=" role="tab" tabindex="0">
|
||||
Linux
|
||||
<button aria-controls="panel-4-TWFjIE9TWA==" aria-selected="false" classes="sphinx-tabs-tab group-tab" ids="tab-4-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tab" tabindex="-1">
|
||||
Mac OSX
|
||||
<button aria-controls="panel-4-V2luZG93cw==" aria-selected="false" classes="sphinx-tabs-tab group-tab" ids="tab-4-V2luZG93cw==" name="V2luZG93cw==" role="tab" tabindex="-1">
|
||||
Windows
|
||||
<div aria-labelledby="tab-4-TGludXg=" classes="sphinx-tabs-panel group-tab" ids="panel-4-TGludXg=" name="TGludXg=" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Linux Line 1
|
||||
<div aria-labelledby="tab-4-TWFjIE9TWA==" classes="sphinx-tabs-panel group-tab" hidden="true" ids="panel-4-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Mac OSX Line 1
|
||||
<div aria-labelledby="tab-4-V2luZG93cw==" classes="sphinx-tabs-panel group-tab" hidden="true" ids="panel-4-V2luZG93cw==" name="V2luZG93cw==" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Windows Line 1
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-5-TGludXg=" aria-selected="true" classes="sphinx-tabs-tab group-tab" ids="tab-5-TGludXg=" name="TGludXg=" role="tab" tabindex="0">
|
||||
Linux
|
||||
<button aria-controls="panel-5-TWFjIE9TWA==" aria-selected="false" classes="sphinx-tabs-tab group-tab" ids="tab-5-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tab" tabindex="-1">
|
||||
Mac OSX
|
||||
<button aria-controls="panel-5-V2luZG93cw==" aria-selected="false" classes="sphinx-tabs-tab group-tab" ids="tab-5-V2luZG93cw==" name="V2luZG93cw==" role="tab" tabindex="-1">
|
||||
Windows
|
||||
<div aria-labelledby="tab-5-TGludXg=" classes="sphinx-tabs-panel group-tab" ids="panel-5-TGludXg=" name="TGludXg=" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Linux Line 2
|
||||
<div aria-labelledby="tab-5-TWFjIE9TWA==" classes="sphinx-tabs-panel group-tab" hidden="true" ids="panel-5-TWFjIE9TWA==" name="TWFjIE9TWA==" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Mac OSX Line 2
|
||||
<div aria-labelledby="tab-5-V2luZG93cw==" classes="sphinx-tabs-panel group-tab" hidden="true" ids="panel-5-V2luZG93cw==" name="V2luZG93cw==" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Windows Line 2
|
|
@ -0,0 +1,33 @@
|
|||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-0-QllP" aria-selected="true" class="sphinx-tabs-tab code-tab group-tab" id="tab-0-QllP" name="QllP" role="tab" tabindex="0">
|
||||
BYO
|
||||
</button>
|
||||
<button aria-controls="panel-0-QllP-1" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-0-QllP-1" name="QllP-1" role="tab" tabindex="-1">
|
||||
BYO
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-QllP" class="sphinx-tabs-panel code-tab group-tab" id="panel-0-QllP" name="QllP" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-byo notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="k">Test</span>
|
||||
This is just a test.
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-QllP-1" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-0-QllP-1" name="QllP-1" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-byo notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span>Some other text.
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,14 @@
|
|||
<document source="index.rst">
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-0-QllP" aria-selected="true" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-0-QllP" name="QllP" role="tab" tabindex="0">
|
||||
BYO
|
||||
<button aria-controls="panel-0-QllP-1" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-0-QllP-1" name="QllP-1" role="tab" tabindex="-1">
|
||||
BYO
|
||||
<div aria-labelledby="tab-0-QllP" classes="sphinx-tabs-panel code-tab group-tab" ids="panel-0-QllP" name="QllP" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="byo" xml:space="preserve">
|
||||
Test
|
||||
This is just a test.
|
||||
<div aria-labelledby="tab-0-QllP-1" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-0-QllP-1" name="QllP-1" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="byo" xml:space="preserve">
|
||||
Some other text.
|
|
@ -0,0 +1,42 @@
|
|||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" role="tablist">
|
||||
<button aria-controls="panel-0-0-0" aria-selected="true" class="sphinx-tabs-tab" id="tab-0-0-0" name="0-0" role="tab" tabindex="0">
|
||||
Apples
|
||||
</button>
|
||||
<button aria-controls="panel-0-0-1" aria-selected="false" class="sphinx-tabs-tab" id="tab-0-0-1" name="0-1" role="tab" tabindex="-1">
|
||||
Pears
|
||||
</button>
|
||||
<button aria-controls="panel-0-0-2" aria-selected="false" class="sphinx-tabs-tab" id="tab-0-0-2" name="0-2" role="tab" tabindex="-1">
|
||||
Oranges
|
||||
</button>
|
||||
<button aria-controls="panel-0-0-3" aria-selected="false" class="sphinx-tabs-tab" id="tab-0-0-3" name="0-3" role="tab" tabindex="-1">
|
||||
404
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-0" class="sphinx-tabs-panel" id="panel-0-0-0" name="0-0" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Apples are green, or sometimes red.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-1" class="sphinx-tabs-panel" hidden="true" id="panel-0-0-1" name="0-1" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Pears are green.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-2" class="sphinx-tabs-panel" hidden="true" id="panel-0-0-2" name="0-2" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Oranges are orange.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-3" class="sphinx-tabs-panel" hidden="true" id="panel-0-0-3" name="0-3" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
A number in the name.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,23 @@
|
|||
<document source="index.rst">
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" role="tablist">
|
||||
<button aria-controls="panel-0-0-0" aria-selected="true" classes="sphinx-tabs-tab" ids="tab-0-0-0" name="0-0" role="tab" tabindex="0">
|
||||
Apples
|
||||
<button aria-controls="panel-0-0-1" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-0-0-1" name="0-1" role="tab" tabindex="-1">
|
||||
Pears
|
||||
<button aria-controls="panel-0-0-2" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-0-0-2" name="0-2" role="tab" tabindex="-1">
|
||||
Oranges
|
||||
<button aria-controls="panel-0-0-3" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-0-0-3" name="0-3" role="tab" tabindex="-1">
|
||||
404
|
||||
<div aria-labelledby="tab-0-0-0" classes="sphinx-tabs-panel" ids="panel-0-0-0" name="0-0" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Apples are green, or sometimes red.
|
||||
<div aria-labelledby="tab-0-0-1" classes="sphinx-tabs-panel" hidden="true" ids="panel-0-0-1" name="0-1" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Pears are green.
|
||||
<div aria-labelledby="tab-0-0-2" classes="sphinx-tabs-panel" hidden="true" ids="panel-0-0-2" name="0-2" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Oranges are orange.
|
||||
<div aria-labelledby="tab-0-0-3" classes="sphinx-tabs-panel" hidden="true" ids="panel-0-0-3" name="0-3" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
A number in the name.
|
|
@ -0,0 +1,42 @@
|
|||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-0-0-0" aria-selected="true" class="sphinx-tabs-tab" id="tab-0-0-0" name="0-0" role="tab" tabindex="0">
|
||||
Apples
|
||||
</button>
|
||||
<button aria-controls="panel-0-0-1" aria-selected="false" class="sphinx-tabs-tab" id="tab-0-0-1" name="0-1" role="tab" tabindex="-1">
|
||||
Pears
|
||||
</button>
|
||||
<button aria-controls="panel-0-0-2" aria-selected="false" class="sphinx-tabs-tab" id="tab-0-0-2" name="0-2" role="tab" tabindex="-1">
|
||||
Oranges
|
||||
</button>
|
||||
<button aria-controls="panel-0-0-3" aria-selected="false" class="sphinx-tabs-tab" id="tab-0-0-3" name="0-3" role="tab" tabindex="-1">
|
||||
404
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-0" class="sphinx-tabs-panel" id="panel-0-0-0" name="0-0" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Apples are green, or sometimes red.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-1" class="sphinx-tabs-panel" hidden="true" id="panel-0-0-1" name="0-1" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Pears are green.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-2" class="sphinx-tabs-panel" hidden="true" id="panel-0-0-2" name="0-2" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Oranges are orange.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-3" class="sphinx-tabs-panel" hidden="true" id="panel-0-0-3" name="0-3" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
A number in the name.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,23 @@
|
|||
<document source="index.rst">
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-0-0-0" aria-selected="true" classes="sphinx-tabs-tab" ids="tab-0-0-0" name="0-0" role="tab" tabindex="0">
|
||||
Apples
|
||||
<button aria-controls="panel-0-0-1" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-0-0-1" name="0-1" role="tab" tabindex="-1">
|
||||
Pears
|
||||
<button aria-controls="panel-0-0-2" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-0-0-2" name="0-2" role="tab" tabindex="-1">
|
||||
Oranges
|
||||
<button aria-controls="panel-0-0-3" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-0-0-3" name="0-3" role="tab" tabindex="-1">
|
||||
404
|
||||
<div aria-labelledby="tab-0-0-0" classes="sphinx-tabs-panel" ids="panel-0-0-0" name="0-0" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Apples are green, or sometimes red.
|
||||
<div aria-labelledby="tab-0-0-1" classes="sphinx-tabs-panel" hidden="true" ids="panel-0-0-1" name="0-1" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Pears are green.
|
||||
<div aria-labelledby="tab-0-0-2" classes="sphinx-tabs-panel" hidden="true" ids="panel-0-0-2" name="0-2" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Oranges are orange.
|
||||
<div aria-labelledby="tab-0-0-3" classes="sphinx-tabs-panel" hidden="true" ids="panel-0-0-3" name="0-3" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
A number in the name.
|
|
@ -0,0 +1,212 @@
|
|||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
<div class="section" id="markup-in-tab-titles">
|
||||
<h1>
|
||||
Markup in Tab Titles
|
||||
<a class="headerlink" href="#markup-in-tab-titles" title="Permalink to this headline">
|
||||
¶
|
||||
</a>
|
||||
</h1>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-0-0-0" aria-selected="true" class="sphinx-tabs-tab" id="tab-0-0-0" name="0-0" role="tab" tabindex="0">
|
||||
<strong>
|
||||
bold
|
||||
</strong>
|
||||
tab
|
||||
</button>
|
||||
<button aria-controls="panel-0-0-1" aria-selected="false" class="sphinx-tabs-tab" id="tab-0-0-1" name="0-1" role="tab" tabindex="-1">
|
||||
<em>
|
||||
italic
|
||||
</em>
|
||||
tab
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-0" class="sphinx-tabs-panel" id="panel-0-0-0" name="0-0" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
<strong>
|
||||
bold
|
||||
</strong>
|
||||
text
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-0-1" class="sphinx-tabs-panel" hidden="true" id="panel-0-0-1" name="0-1" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
<em>
|
||||
italic
|
||||
</em>
|
||||
text
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-1-Kipib2xkKiogZ3JvdXAgdGFi" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-1-Kipib2xkKiogZ3JvdXAgdGFi" name="Kipib2xkKiogZ3JvdXAgdGFi" role="tab" tabindex="0">
|
||||
<strong>
|
||||
bold
|
||||
</strong>
|
||||
group tab
|
||||
</button>
|
||||
<button aria-controls="panel-1-Kml0YWxpYyogZ3JvdXAgdGFi" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-1-Kml0YWxpYyogZ3JvdXAgdGFi" name="Kml0YWxpYyogZ3JvdXAgdGFi" role="tab" tabindex="-1">
|
||||
<em>
|
||||
italic
|
||||
</em>
|
||||
group tab
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-1-Kipib2xkKiogZ3JvdXAgdGFi" class="sphinx-tabs-panel group-tab" id="panel-1-Kipib2xkKiogZ3JvdXAgdGFi" name="Kipib2xkKiogZ3JvdXAgdGFi" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
<strong>
|
||||
bold
|
||||
</strong>
|
||||
text
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-1-Kml0YWxpYyogZ3JvdXAgdGFi" class="sphinx-tabs-panel group-tab" hidden="true" id="panel-1-Kml0YWxpYyogZ3JvdXAgdGFi" name="Kml0YWxpYyogZ3JvdXAgdGFi" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
<em>
|
||||
italic
|
||||
</em>
|
||||
text
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-2-Kipib2xkKiogZ3JvdXAgdGFi" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-2-Kipib2xkKiogZ3JvdXAgdGFi" name="Kipib2xkKiogZ3JvdXAgdGFi" role="tab" tabindex="0">
|
||||
<strong>
|
||||
bold
|
||||
</strong>
|
||||
group tab
|
||||
</button>
|
||||
<button aria-controls="panel-2-Kml0YWxpYyogZ3JvdXAgdGFi" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-2-Kml0YWxpYyogZ3JvdXAgdGFi" name="Kml0YWxpYyogZ3JvdXAgdGFi" role="tab" tabindex="-1">
|
||||
<em>
|
||||
italic
|
||||
</em>
|
||||
group tab
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-Kipib2xkKiogZ3JvdXAgdGFi" class="sphinx-tabs-panel group-tab" id="panel-2-Kipib2xkKiogZ3JvdXAgdGFi" name="Kipib2xkKiogZ3JvdXAgdGFi" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
<strong>
|
||||
bold
|
||||
</strong>
|
||||
text
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-2-Kml0YWxpYyogZ3JvdXAgdGFi" class="sphinx-tabs-panel group-tab" hidden="true" id="panel-2-Kml0YWxpYyogZ3JvdXAgdGFi" name="Kml0YWxpYyogZ3JvdXAgdGFi" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
<em>
|
||||
italic
|
||||
</em>
|
||||
text
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-3-3-0" aria-selected="true" class="sphinx-tabs-tab" id="tab-3-3-0" name="3-0" role="tab" tabindex="0">
|
||||
<span class="math notranslate nohighlight">
|
||||
\(x = y\)
|
||||
</span>
|
||||
tab
|
||||
</button>
|
||||
<button aria-controls="panel-3-3-1" aria-selected="false" class="sphinx-tabs-tab" id="tab-3-3-1" name="3-1" role="tab" tabindex="-1">
|
||||
<span class="math notranslate nohighlight">
|
||||
\(x \neq y\)
|
||||
</span>
|
||||
tab
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-3-0" class="sphinx-tabs-panel" id="panel-3-3-0" name="3-0" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Variables are equal
|
||||
<span class="math notranslate nohighlight">
|
||||
\(x = y\)
|
||||
</span>
|
||||
.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-3-3-1" class="sphinx-tabs-panel" hidden="true" id="panel-3-3-1" name="3-1" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Variables are not equal
|
||||
<span class="math notranslate nohighlight">
|
||||
\(x \neq y\)
|
||||
</span>
|
||||
.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-4-Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-4-Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" name="Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" role="tab" tabindex="0">
|
||||
<span class="math notranslate nohighlight">
|
||||
\(x = y\)
|
||||
</span>
|
||||
group tab
|
||||
</button>
|
||||
<button aria-controls="panel-4-Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-4-Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" name="Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" role="tab" tabindex="-1">
|
||||
<span class="math notranslate nohighlight">
|
||||
\(x \neq y\)
|
||||
</span>
|
||||
group tab
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-4-Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" class="sphinx-tabs-panel group-tab" id="panel-4-Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" name="Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Variables are equal
|
||||
<span class="math notranslate nohighlight">
|
||||
\(x = y\)
|
||||
</span>
|
||||
.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-4-Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" class="sphinx-tabs-panel group-tab" hidden="true" id="panel-4-Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" name="Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Variables are not equal
|
||||
<span class="math notranslate nohighlight">
|
||||
\(x \neq y\)
|
||||
</span>
|
||||
.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-5-Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" aria-selected="true" class="sphinx-tabs-tab group-tab" id="tab-5-Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" name="Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" role="tab" tabindex="0">
|
||||
<span class="math notranslate nohighlight">
|
||||
\(x = y\)
|
||||
</span>
|
||||
group tab
|
||||
</button>
|
||||
<button aria-controls="panel-5-Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" aria-selected="false" class="sphinx-tabs-tab group-tab" id="tab-5-Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" name="Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" role="tab" tabindex="-1">
|
||||
<span class="math notranslate nohighlight">
|
||||
\(x \neq y\)
|
||||
</span>
|
||||
group tab
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-5-Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" class="sphinx-tabs-panel group-tab" id="panel-5-Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" name="Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Variables are equal
|
||||
<span class="math notranslate nohighlight">
|
||||
\(x = y\)
|
||||
</span>
|
||||
.
|
||||
</p>
|
||||
</div>
|
||||
<div aria-labelledby="tab-5-Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" class="sphinx-tabs-panel group-tab" hidden="true" id="panel-5-Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" name="Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" role="tabpanel" tabindex="0">
|
||||
<p>
|
||||
Variables are not equal
|
||||
<span class="math notranslate nohighlight">
|
||||
\(x \neq y\)
|
||||
</span>
|
||||
.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,130 @@
|
|||
<document source="index.rst">
|
||||
<section ids="markup-in-tab-titles" names="markup\ in\ tab\ titles">
|
||||
<title>
|
||||
Markup in Tab Titles
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-0-0-0" aria-selected="true" classes="sphinx-tabs-tab" ids="tab-0-0-0" name="0-0" role="tab" tabindex="0">
|
||||
<strong>
|
||||
bold
|
||||
tab
|
||||
<button aria-controls="panel-0-0-1" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-0-0-1" name="0-1" role="tab" tabindex="-1">
|
||||
<emphasis>
|
||||
italic
|
||||
tab
|
||||
<div aria-labelledby="tab-0-0-0" classes="sphinx-tabs-panel" ids="panel-0-0-0" name="0-0" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
<strong>
|
||||
bold
|
||||
text
|
||||
<div aria-labelledby="tab-0-0-1" classes="sphinx-tabs-panel" hidden="true" ids="panel-0-0-1" name="0-1" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
<emphasis>
|
||||
italic
|
||||
text
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-1-Kipib2xkKiogZ3JvdXAgdGFi" aria-selected="true" classes="sphinx-tabs-tab group-tab" ids="tab-1-Kipib2xkKiogZ3JvdXAgdGFi" name="Kipib2xkKiogZ3JvdXAgdGFi" role="tab" tabindex="0">
|
||||
<strong>
|
||||
bold
|
||||
group tab
|
||||
<button aria-controls="panel-1-Kml0YWxpYyogZ3JvdXAgdGFi" aria-selected="false" classes="sphinx-tabs-tab group-tab" ids="tab-1-Kml0YWxpYyogZ3JvdXAgdGFi" name="Kml0YWxpYyogZ3JvdXAgdGFi" role="tab" tabindex="-1">
|
||||
<emphasis>
|
||||
italic
|
||||
group tab
|
||||
<div aria-labelledby="tab-1-Kipib2xkKiogZ3JvdXAgdGFi" classes="sphinx-tabs-panel group-tab" ids="panel-1-Kipib2xkKiogZ3JvdXAgdGFi" name="Kipib2xkKiogZ3JvdXAgdGFi" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
<strong>
|
||||
bold
|
||||
text
|
||||
<div aria-labelledby="tab-1-Kml0YWxpYyogZ3JvdXAgdGFi" classes="sphinx-tabs-panel group-tab" hidden="true" ids="panel-1-Kml0YWxpYyogZ3JvdXAgdGFi" name="Kml0YWxpYyogZ3JvdXAgdGFi" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
<emphasis>
|
||||
italic
|
||||
text
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-2-Kipib2xkKiogZ3JvdXAgdGFi" aria-selected="true" classes="sphinx-tabs-tab group-tab" ids="tab-2-Kipib2xkKiogZ3JvdXAgdGFi" name="Kipib2xkKiogZ3JvdXAgdGFi" role="tab" tabindex="0">
|
||||
<strong>
|
||||
bold
|
||||
group tab
|
||||
<button aria-controls="panel-2-Kml0YWxpYyogZ3JvdXAgdGFi" aria-selected="false" classes="sphinx-tabs-tab group-tab" ids="tab-2-Kml0YWxpYyogZ3JvdXAgdGFi" name="Kml0YWxpYyogZ3JvdXAgdGFi" role="tab" tabindex="-1">
|
||||
<emphasis>
|
||||
italic
|
||||
group tab
|
||||
<div aria-labelledby="tab-2-Kipib2xkKiogZ3JvdXAgdGFi" classes="sphinx-tabs-panel group-tab" ids="panel-2-Kipib2xkKiogZ3JvdXAgdGFi" name="Kipib2xkKiogZ3JvdXAgdGFi" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
<strong>
|
||||
bold
|
||||
text
|
||||
<div aria-labelledby="tab-2-Kml0YWxpYyogZ3JvdXAgdGFi" classes="sphinx-tabs-panel group-tab" hidden="true" ids="panel-2-Kml0YWxpYyogZ3JvdXAgdGFi" name="Kml0YWxpYyogZ3JvdXAgdGFi" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
<emphasis>
|
||||
italic
|
||||
text
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-3-3-0" aria-selected="true" classes="sphinx-tabs-tab" ids="tab-3-3-0" name="3-0" role="tab" tabindex="0">
|
||||
<math>
|
||||
x = y
|
||||
tab
|
||||
<button aria-controls="panel-3-3-1" aria-selected="false" classes="sphinx-tabs-tab" ids="tab-3-3-1" name="3-1" role="tab" tabindex="-1">
|
||||
<math>
|
||||
x \neq y
|
||||
tab
|
||||
<div aria-labelledby="tab-3-3-0" classes="sphinx-tabs-panel" ids="panel-3-3-0" name="3-0" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Variables are equal
|
||||
<math>
|
||||
x = y
|
||||
.
|
||||
<div aria-labelledby="tab-3-3-1" classes="sphinx-tabs-panel" hidden="true" ids="panel-3-3-1" name="3-1" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Variables are not equal
|
||||
<math>
|
||||
x \neq y
|
||||
.
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-4-Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" aria-selected="true" classes="sphinx-tabs-tab group-tab" ids="tab-4-Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" name="Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" role="tab" tabindex="0">
|
||||
<math>
|
||||
x = y
|
||||
group tab
|
||||
<button aria-controls="panel-4-Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" aria-selected="false" classes="sphinx-tabs-tab group-tab" ids="tab-4-Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" name="Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" role="tab" tabindex="-1">
|
||||
<math>
|
||||
x \neq y
|
||||
group tab
|
||||
<div aria-labelledby="tab-4-Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" classes="sphinx-tabs-panel group-tab" ids="panel-4-Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" name="Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Variables are equal
|
||||
<math>
|
||||
x = y
|
||||
.
|
||||
<div aria-labelledby="tab-4-Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" classes="sphinx-tabs-panel group-tab" hidden="true" ids="panel-4-Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" name="Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Variables are not equal
|
||||
<math>
|
||||
x \neq y
|
||||
.
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-5-Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" aria-selected="true" classes="sphinx-tabs-tab group-tab" ids="tab-5-Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" name="Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" role="tab" tabindex="0">
|
||||
<math>
|
||||
x = y
|
||||
group tab
|
||||
<button aria-controls="panel-5-Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" aria-selected="false" classes="sphinx-tabs-tab group-tab" ids="tab-5-Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" name="Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" role="tab" tabindex="-1">
|
||||
<math>
|
||||
x \neq y
|
||||
group tab
|
||||
<div aria-labelledby="tab-5-Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" classes="sphinx-tabs-panel group-tab" ids="panel-5-Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" name="Om1hdGg6YHggPSB5YCBncm91cCB0YWI=" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Variables are equal
|
||||
<math>
|
||||
x = y
|
||||
.
|
||||
<div aria-labelledby="tab-5-Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" classes="sphinx-tabs-panel group-tab" hidden="true" ids="panel-5-Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" name="Om1hdGg6YHggXG5lcSB5YCBncm91cCB0YWI=" role="tabpanel" tabindex="0">
|
||||
<paragraph>
|
||||
Variables are not equal
|
||||
<math>
|
||||
x \neq y
|
||||
.
|
|
@ -0,0 +1,9 @@
|
|||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
<p>
|
||||
There are no tabs here
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,3 @@
|
|||
<document source="index.rst">
|
||||
<paragraph>
|
||||
There are no tabs here
|
|
@ -0,0 +1,43 @@
|
|||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-0-Qysr" aria-selected="true" class="sphinx-tabs-tab code-tab group-tab" id="tab-0-Qysr" name="Qysr" role="tab" tabindex="0">
|
||||
C++
|
||||
</button>
|
||||
<button aria-controls="panel-0-UHl0aG9u" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-0-UHl0aG9u" name="UHl0aG9u" role="tab" tabindex="-1">
|
||||
Python
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-Qysr" class="sphinx-tabs-panel code-tab group-tab" id="panel-0-Qysr" name="Qysr" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-c++ notranslate">
|
||||
<table class="highlighttable">
|
||||
<tr>
|
||||
<td class="linenos">
|
||||
<div class="linenodiv">
|
||||
<pre><span class="normal">1</span></pre>
|
||||
</div>
|
||||
</td>
|
||||
<td class="code">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="n">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"hello world"</span> <span class="o"><<</span> <span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="p">;</span>
|
||||
</pre>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-UHl0aG9u" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-0-UHl0aG9u" name="UHl0aG9u" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-python notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="nb">print</span><span class="p">(</span><span class="s1">'hello world'</span><span class="p">)</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,13 @@
|
|||
<document source="index.rst">
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-0-Qysr" aria-selected="true" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-0-Qysr" name="Qysr" role="tab" tabindex="0">
|
||||
C++
|
||||
<button aria-controls="panel-0-UHl0aG9u" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-0-UHl0aG9u" name="UHl0aG9u" role="tab" tabindex="-1">
|
||||
Python
|
||||
<div aria-labelledby="tab-0-Qysr" classes="sphinx-tabs-panel code-tab group-tab" ids="panel-0-Qysr" name="Qysr" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="c++" linenos="True" xml:space="preserve">
|
||||
std::cout << "hello world" << std::endl;
|
||||
<div aria-labelledby="tab-0-UHl0aG9u" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-0-UHl0aG9u" name="UHl0aG9u" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="python" xml:space="preserve">
|
||||
print('hello world')
|
|
@ -0,0 +1,32 @@
|
|||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
<div class="sphinx-tabs docutils container">
|
||||
<div aria-label="Tabbed content" class="closeable" role="tablist">
|
||||
<button aria-controls="panel-0-Qysr" aria-selected="true" class="sphinx-tabs-tab code-tab group-tab" id="tab-0-Qysr" name="Qysr" role="tab" tabindex="0">
|
||||
C++
|
||||
</button>
|
||||
<button aria-controls="panel-0-UHl0aG9u" aria-selected="false" class="sphinx-tabs-tab code-tab group-tab" id="tab-0-UHl0aG9u" name="UHl0aG9u" role="tab" tabindex="-1">
|
||||
Python
|
||||
</button>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-Qysr" class="sphinx-tabs-panel code-tab group-tab" id="panel-0-Qysr" name="Qysr" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-c++ notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="linenos">1</span><span class="n">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"hello world"</span> <span class="o"><<</span> <span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="p">;</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div aria-labelledby="tab-0-UHl0aG9u" class="sphinx-tabs-panel code-tab group-tab" hidden="true" id="panel-0-UHl0aG9u" name="UHl0aG9u" role="tabpanel" tabindex="0">
|
||||
<div class="highlight-python notranslate">
|
||||
<div class="highlight">
|
||||
<pre><span></span><span class="nb">print</span><span class="p">(</span><span class="s1">'hello world'</span><span class="p">)</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,13 @@
|
|||
<document source="index.rst">
|
||||
<container classes="sphinx-tabs" type="tab-element">
|
||||
<div aria-label="Tabbed content" classes="closeable" role="tablist">
|
||||
<button aria-controls="panel-0-Qysr" aria-selected="true" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-0-Qysr" name="Qysr" role="tab" tabindex="0">
|
||||
C++
|
||||
<button aria-controls="panel-0-UHl0aG9u" aria-selected="false" classes="sphinx-tabs-tab code-tab group-tab" ids="tab-0-UHl0aG9u" name="UHl0aG9u" role="tab" tabindex="-1">
|
||||
Python
|
||||
<div aria-labelledby="tab-0-Qysr" classes="sphinx-tabs-panel code-tab group-tab" ids="panel-0-Qysr" name="Qysr" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="c++" linenos="True" xml:space="preserve">
|
||||
std::cout << "hello world" << std::endl;
|
||||
<div aria-labelledby="tab-0-UHl0aG9u" classes="sphinx-tabs-panel code-tab group-tab" hidden="true" ids="panel-0-UHl0aG9u" name="UHl0aG9u" role="tabpanel" tabindex="0">
|
||||
<literal_block force="False" highlight_args="{}" language="python" xml:space="preserve">
|
||||
print('hello world')
|
|
@ -0,0 +1,6 @@
|
|||
<document source="index.rst">
|
||||
<section ids="testing-pdf" names="testing\ pdf">
|
||||
<title>
|
||||
TESTING PDF
|
||||
<compound classes="toctree-wrapper">
|
||||
<toctree caption="Contents:" entries="(None,\ 'tabs')" glob="False" hidden="False" includefiles="tabs" includehidden="False" maxdepth="2" numbered="0" parent="index" rawcaption="Contents:" rawentries="" titlesonly="False">
|
|
@ -0,0 +1,23 @@
|
|||
# To use tox, see https://tox.readthedocs.io
|
||||
# Simply pip or conda install tox
|
||||
# If you use conda, you may also want to install tox-conda
|
||||
# then run `tox` or `tox -- {pytest args}`
|
||||
# run in parallel using `tox -p`
|
||||
[tox]
|
||||
envlist = py{36,37,38}-sphinx{2,3,4},docs
|
||||
|
||||
[testenv:py{36,37,38}-sphinx{2,3,4}]
|
||||
extras = testing
|
||||
deps =
|
||||
sphinx2: sphinx>=2,<3
|
||||
sphinx3: sphinx>=3,<4
|
||||
sphinx4: sphinx>=4,<5
|
||||
recreate = false
|
||||
commands = pytest {posargs}
|
||||
|
||||
[testenv:docs]
|
||||
whitelist_externals = rm
|
||||
recreate = false
|
||||
commands =
|
||||
rm -rf docs/_build
|
||||
sphinx-build -nW --keep-going -b html docs/ docs/_build/html
|
Loading…
Reference in New Issue