Better your Sphinx section IDs
Project description
Better your Sphinx section IDs.
This extension helps keep your permalinks permanent by allowing you to specify a section’s ID. As an example:
.. _v1.2.3:
v1.2.3 (2022-03-19)
-------------------
The permalink on the title will be #v1-2-3 instead of #v1-2-3-2022-03-19. When you change the section title later on, the permalink will still work.
Installation
Download and install this extension using pip:
$ pip install sphinx-better-subsection
Then add this extension in your conf.py:
extensions += ["sphinx_better_subsection"]
Usage
Add a reST internal hyperlink target (the .. _name: syntax) before your section. This extension moves that ID to the front of the IDs list, making the permalink the target’s ID instead of the generated ID from the title. When multiple are found, the last one is used.
This enhances existing reST to do the expected thing and also degrades gracefully when this extension isn’t used (such as in GitHub or online renderers).
Docutils
This package provides a docutils transformer called PreferSectionTarget (subclass of docutils.transforms.Transform) usable via:
from sphinx_better_subsection import PreferSectionTarget
document.transformer.add_transform(PreferSectionTarget)
MyST
As far as I can tell, this extension is compatible with MyST using its header target syntax (the (name)= syntax). The first example in MyST would be:
(v1.2.3)=
## v1.2.3 (2022-03-19)
Links
Source Code: https://github.com/GeeTransit/sphinx-better-subsection
Documentation: https://geetransit.github.io/sphinx-better-subsection/
PyPI Releases: https://pypi.org/project/sphinx-better-subsection/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sphinx_better_subsection-0.2.tar.gz
.
File metadata
- Download URL: sphinx_better_subsection-0.2.tar.gz
- Upload date:
- Size: 3.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.22.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe8dec536894c44fb9e1a01051b6c41111bed4b17d5241c0a3b3c8b2bd1727fb |
|
MD5 | 71bd53e2ddcac65897df27c721dc23e5 |
|
BLAKE2b-256 | 3908d2e2e4df0b94d0863f5916ac8e9bebaa51cf5e887371e69ffe2963eafe4f |
File details
Details for the file sphinx_better_subsection-0.2-py3-none-any.whl
.
File metadata
- Download URL: sphinx_better_subsection-0.2-py3-none-any.whl
- Upload date:
- Size: 4.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.22.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b24fc36a4a3effb79c49a380c5f7eb3cfbc40bd5db73804cc6f335f9b9b248bb |
|
MD5 | dccc2fb16e8fabc7c3bc440618e48337 |
|
BLAKE2b-256 | 6fab4b08ed7d367ebf0965151f07eefc46d669ecc8206f3d74e80e8ea4be9f61 |