# Sphinx Filter Tabs Extension
A robust Sphinx extension for creating accessible, JavaScript-free, filterable content tabs.
**📖 View extension and documentation at: https://aputtu.github.io/sphinx-filter-tabs/**
This extension provides `filter-tabs` and `tab` directives to create user-friendly, switchable content blocks, ideal for showing code examples in multiple languages or instructions for different platforms.
## Features
- **No JavaScript:** Pure CSS implementation ensures maximum compatibility, speed, and accessibility.
- **WAI-ARIA Compliant:** The generated HTML follows accessibility best practices for keyboard navigation and screen readers.
- **Highly Customizable:** Easily theme colors, fonts, and sizes directly from your `conf.py` using CSS Custom Properties.
- **Graceful Fallback:** Renders content as simple admonitions in non-HTML outputs like PDF/LaTeX.
- **Automated Testing:** CI/CD pipeline tests against multiple Sphinx versions to ensure compatibility.
## Installation
You can install this extension using `pip`:
```bash
pip install sphinx-filter-tabs
```
## Development
1. You can install a local version of the Sphinx with extension using:
```bash
./scripts/setup_dev.sh # Initially cleans previous folders in _docs/build and venv.
```
Command to enter venv is provided.
2. Once inside virtual environment, you can use following commands:
```bash
pytest # Runs test suite on configured version of Sphinx.
tox # Check across multiple Sphinx versions. Manual install of tox required.
```
Raw data
{
"_id": null,
"home_page": null,
"name": "sphinx-filter-tabs",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "sphinx, extension, tabs, filter, documentation, no-js",
"author": null,
"author_email": "Aputsiak Niels Janussen <aputsiak+sphinx@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/2f/43/05af3988dded35cde8cba8820a55a06f0e7f388a8c8f08e3825565519ef0/sphinx_filter_tabs-0.8.0.tar.gz",
"platform": null,
"description": "# Sphinx Filter Tabs Extension\n\nA robust Sphinx extension for creating accessible, JavaScript-free, filterable content tabs.\n\n**\ud83d\udcd6 View extension and documentation at: https://aputtu.github.io/sphinx-filter-tabs/**\n\nThis extension provides `filter-tabs` and `tab` directives to create user-friendly, switchable content blocks, ideal for showing code examples in multiple languages or instructions for different platforms.\n\n## Features\n\n- **No JavaScript:** Pure CSS implementation ensures maximum compatibility, speed, and accessibility.\n- **WAI-ARIA Compliant:** The generated HTML follows accessibility best practices for keyboard navigation and screen readers.\n- **Highly Customizable:** Easily theme colors, fonts, and sizes directly from your `conf.py` using CSS Custom Properties.\n- **Graceful Fallback:** Renders content as simple admonitions in non-HTML outputs like PDF/LaTeX.\n- **Automated Testing:** CI/CD pipeline tests against multiple Sphinx versions to ensure compatibility.\n\n## Installation\n\nYou can install this extension using `pip`:\n```bash\npip install sphinx-filter-tabs\n```\n\n## Development\n\n1. You can install a local version of the Sphinx with extension using:\n```bash\n./scripts/setup_dev.sh # Initially cleans previous folders in _docs/build and venv.\n```\n\nCommand to enter venv is provided.\n\n2. Once inside virtual environment, you can use following commands:\n```bash\npytest # Runs test suite on configured version of Sphinx.\ntox # Check across multiple Sphinx versions. Manual install of tox required.\n```\n",
"bugtrack_url": null,
"license": "GNU General Public License v3.0",
"summary": "A Sphinx extension for accessible, JS-free filterable content tabs.",
"version": "0.8.0",
"project_urls": {
"Homepage": "https://github.com/aputtu/sphinx-filter-tabs",
"Issues": "https://github.com/aputtu/sphinx-filter-tabs/issues",
"Repository": "https://github.com/aputtu/sphinx-filter-tabs.git"
},
"split_keywords": [
"sphinx",
" extension",
" tabs",
" filter",
" documentation",
" no-js"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "91e5cbbab3cecda38906d2c4d883e6576c144424b9553c33bc3ad50f50c02a90",
"md5": "3c072e663f4e9dc428bbae03a6419d30",
"sha256": "45c3a561bd4173b77f5b73d09f296b7277d4111cc3a2806109055d994fa53bbd"
},
"downloads": -1,
"filename": "sphinx_filter_tabs-0.8.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3c072e663f4e9dc428bbae03a6419d30",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 23266,
"upload_time": "2025-08-15T12:52:42",
"upload_time_iso_8601": "2025-08-15T12:52:42.995995Z",
"url": "https://files.pythonhosted.org/packages/91/e5/cbbab3cecda38906d2c4d883e6576c144424b9553c33bc3ad50f50c02a90/sphinx_filter_tabs-0.8.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2f4305af3988dded35cde8cba8820a55a06f0e7f388a8c8f08e3825565519ef0",
"md5": "0048cc339ef2792c79e9415d8e1b3247",
"sha256": "831d6e10add2b6fb3cda5e450f03df645fa6e614fb686f7a596a16993e4f8a0f"
},
"downloads": -1,
"filename": "sphinx_filter_tabs-0.8.0.tar.gz",
"has_sig": false,
"md5_digest": "0048cc339ef2792c79e9415d8e1b3247",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 24430,
"upload_time": "2025-08-15T12:52:44",
"upload_time_iso_8601": "2025-08-15T12:52:44.327483Z",
"url": "https://files.pythonhosted.org/packages/2f/43/05af3988dded35cde8cba8820a55a06f0e7f388a8c8f08e3825565519ef0/sphinx_filter_tabs-0.8.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-15 12:52:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "aputtu",
"github_project": "sphinx-filter-tabs",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "sphinx-filter-tabs"
}