Metadata-Version: 2.4
Name: sphinx-filter-tabs
Version: 0.9.2
Summary: A Sphinx extension for accessible, JS-free filterable content tabs.
Author-email: Aputsiak Niels Janussen <aputsiak+sphinx@gmail.com>
License: GNU General Public License v3.0
Project-URL: Homepage, https://github.com/aputtu/sphinx-filter-tabs
Project-URL: Repository, https://github.com/aputtu/sphinx-filter-tabs.git
Project-URL: Issues, https://github.com/aputtu/sphinx-filter-tabs/issues
Keywords: sphinx,extension,tabs,filter,documentation,no-js,aria,accessibility
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: Sphinx :: Extension
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Documentation :: Sphinx
Classifier: Topic :: Software Development :: Documentation
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Sphinx<9.0,>=7.0
Dynamic: license-file

# 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.
./scripts/export-project.sh # Outputs directory structure and code to txt
./dev.sh [options] # Allows for faster generation for html, pdf, clean up
```
