Skip to content

Commit 5f3e74d

Browse files
committed
Revert "docs: adjust syntax used for extlinks to include a blank <> with each use"
This reverts commit 94fecbd.
1 parent 2af41f0 commit 5f3e74d

24 files changed

+484
-484
lines changed

docs/conf.py

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -57,60 +57,60 @@
5757
]
5858

5959
extlinks = {
60-
"argocd": ("https://argo-cd.readthedocs.io/%s", None),
61-
"autopep8": ("https://pypi.org/project/autopep8/%s", None),
62-
"bandit-bandit": ("https://bandit.readthedocs.io/%s", None),
63-
"bandit": ("https://github.com/PyCQA/bandit/%s", None),
64-
"beartype": ("https://beartype.readthedocs.io/%s", None),
65-
"bitbucket-pipelines": ("https://support.atlassian.com/bitbucket-cloud/docs/get-started-with-bitbucket-pipelines/%s", None),
66-
"black": ("https://black.readthedocs.io/%s", None),
67-
"build": ("https://pypa-build.readthedocs.io/%s", None),
68-
"commitizen": ("https://commitizen-tools.github.io/commitizen/%s", None),
69-
"coveragepy-coverage": ("https://coverage.readthedocs.io/%s", None),
70-
"coveragepy": ("https://github.com/nedbat/coveragepy/%s", None),
71-
"cruft": ("https://cruft.github.io/cruft/%s", None),
72-
"docker-compose": ("https://docs.docker.com/compose/%s", None),
73-
"docker": ("https://docs.docker.com/%s", None),
74-
"flake8": ("https://flake8.pycqa.org/%s", None),
75-
"flit": ("https://flit.pypa.io/%s", None),
76-
"github-actions": ("https://docs.github.com/en/actions/%s", None),
77-
"gitlab-ci": ("https://docs.gitlab.com/ee/ci/%s", None),
78-
"hatch": ("https://hatch.pypa.io/%s", None),
79-
"hatchling": ("https://hatch.pypa.io/latest/hatchling/%s", None),
80-
"helm": ("https://helm.sh/%s", None),
81-
"invoke": ("https://www.pyinvoke.org/%s", None),
82-
"isort": ("https://pycqa.github.io/isort/%s", None),
83-
"just": ("https://just.systems/%s", None),
84-
"maturin": ("https://maturin.rs/%s", None),
85-
"mkdocs": ("https://www.mkdocs.org/%s", None),
86-
"mypy": ("https://mypy-lang.org/%s", None),
87-
"myst-parser": ("https://myst-parser.readthedocs.io/%s", None),
88-
"nox": ("https://nox.thea.codes/%s", None),
89-
"pdm": ("https://pdm.fming.dev/%s", None),
90-
"pip-audit": ("https://github.com/pypa/pip-audit/%s", None),
91-
"pip": ("https://pip.pypa.io/%s", None),
92-
"pip-tools": ("https://pip-tools.readthedocs.io/%s", None),
93-
"podman": ("https://podman.io/%s", None),
94-
"poethepoet": ("https://github.com/nat-n/poethepoet/%s", None),
95-
"poetry": ("https://python-poetry.org/%s", None),
96-
"pre-commit": ("https://pre-commit.com/%s", None),
97-
"pydocstyle": ("https://www.pydocstyle.org/%s", None),
98-
"pylint": ("https://pylint.pycqa.org/%s", None),
99-
"pyright": ("https://github.com/microsoft/pyright/%s", None),
100-
"pytest": ("https://docs.pytest.org/%s", None),
101-
"pytest-pytest-cov": ("https://pytest-cov.readthedocs.io/%s", None),
102-
"pytype": ("https://github.com/google/pytype/%s", None),
103-
"ruff": ("https://docs.astral.sh/ruff/%s", None),
104-
"safety": ("https://pyup.io/%s", None),
105-
"setuptools": ("https://setuptools.pypa.io/%s", None),
106-
"sonarcloud": ("https://sonarcloud.io/%s", None),
107-
"sphinx": ("https://www.sphinx-doc.org/%s", None),
108-
"sphinxautodoctypehints": ("https://sphinx-autodoc-typehints.readthedocs.io/%s", None),
109-
"tox": ("https://tox.readthedocs.io/%s", None),
110-
"twine": ("https://twine.readthedocs.io/%s", None),
111-
"uv": ("https://docs.uv.dev/%s", None),
112-
"virtualenv": ("https://virtualenv.pypa.io/%s", None),
113-
"yapf": ("https://github.com/google/yapf/%s", None)
60+
"argocd": ("https://argo-cd.readthedocs.io", None),
61+
"autopep8": ("https://pypi.org/project/autopep8", None),
62+
"bandit-bandit": ("https://bandit.readthedocs.io", None),
63+
"bandit": ("https://github.com/PyCQA/bandit", None),
64+
"beartype": ("https://beartype.readthedocs.io", None),
65+
"bitbucket-pipelines": ("https://support.atlassian.com/bitbucket-cloud/docs/get-started-with-bitbucket-pipelines", None),
66+
"black": ("https://black.readthedocs.io", None),
67+
"build": ("https://pypa-build.readthedocs.io", None),
68+
"commitizen": ("https://commitizen-tools.github.io/commitizen", None),
69+
"coveragepy-coverage": ("https://coverage.readthedocs.io", None),
70+
"coveragepy": ("https://github.com/nedbat/coveragepy", None),
71+
"cruft": ("https://cruft.github.io/cruft", None),
72+
"docker-compose": ("https://docs.docker.com/compose", None),
73+
"docker": ("https://docs.docker.com", None),
74+
"flake8": ("https://flake8.pycqa.org", None),
75+
"flit": ("https://flit.pypa.io", None),
76+
"github-actions": ("https://docs.github.com/en/actions", None),
77+
"gitlab-ci": ("https://docs.gitlab.com/ee/ci", None),
78+
"hatch": ("https://hatch.pypa.io", None),
79+
"hatchling": ("https://hatch.pypa.io/latest/hatchling", None),
80+
"helm": ("https://helm.sh", None),
81+
"invoke": ("https://www.pyinvoke.org", None),
82+
"isort": ("https://pycqa.github.io/isort", None),
83+
"just": ("https://just.systems", None),
84+
"maturin": ("https://maturin.rs", None),
85+
"mkdocs": ("https://www.mkdocs.org", None),
86+
"mypy": ("https://mypy-lang.org", None),
87+
"myst-parser": ("https://myst-parser.readthedocs.io", None),
88+
"nox": ("https://nox.thea.codes", None),
89+
"pdm": ("https://pdm.fming.dev", None),
90+
"pip-audit": ("https://github.com/pypa/pip-audit", None),
91+
"pip": ("https://pip.pypa.io", None),
92+
"pip-tools": ("https://pip-tools.readthedocs.io", None),
93+
"podman": ("https://podman.io", None),
94+
"poethepoet": ("https://github.com/nat-n/poethepoet", None),
95+
"poetry": ("https://python-poetry.org", None),
96+
"pre-commit": ("https://pre-commit.com", None),
97+
"pydocstyle": ("https://www.pydocstyle.org", None),
98+
"pylint": ("https://pylint.pycqa.org", None),
99+
"pyright": ("https://github.com/microsoft/pyright", None),
100+
"pytest": ("https://docs.pytest.org", None),
101+
"pytest-pytest-cov": ("https://pytest-cov.readthedocs.io", None),
102+
"pytype": ("https://github.com/google/pytype", None),
103+
"ruff": ("https://docs.astral.sh/ruff", None),
104+
"safety": ("https://pyup.io", None),
105+
"setuptools": ("https://setuptools.pypa.io", None),
106+
"sonarcloud": ("https://sonarcloud.io", None),
107+
"sphinx": ("https://www.sphinx-doc.org", None),
108+
"sphinxautodoctypehints": ("https://sphinx-autodoc-typehints.readthedocs.io", None),
109+
"tox": ("https://tox.readthedocs.io", None),
110+
"twine": ("https://twine.readthedocs.io", None),
111+
"uv": ("https://docs.uv.dev", None),
112+
"virtualenv": ("https://virtualenv.pypa.io", None),
113+
"yapf": ("https://github.com/google/yapf", None)
114114
}
115115

116116
intersphinx_mapping = {

docs/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ topics/18_pre-commit-hooks
5757

5858
**Note:** The documentation you are reading _is for the template itself_. A project generated by this template will have its _own_ separate `docs/` directory for its project-specific documentation (API reference, tutorials, etc.).
5959

60-
The generated project's documentation also uses {sphinx}`Sphinx<>` with MyST Markdown and integrates API documentation via `autodoc`. You can build your project's documentation by navigating into the generated project directory and running:
60+
The generated project's documentation also uses {sphinx}`Sphinx` with MyST Markdown and integrates API documentation via `autodoc`. You can build your project's documentation by navigating into the generated project directory and running:
6161

6262
```bash
6363
uvx nox -s docs

docs/maintenance.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Maintaining a project template is an ongoing effort that involves updating depen
88

99
## Template Dependencies and Development Environment
1010

11-
The `cookiecutter-robust-python` template repository is itself a project with dependencies needed for its development and maintenance. These include `cookiecutter`, the specific versions of the tools evaluated (to ensure compatibility and test against them), and maintenance-specific tools (like {commitizen}`Commitizen<>` for template versioning, {nox}`Nox<>` for template task automation, potentially testing frameworks for the template's functionality).
11+
The `cookiecutter-robust-python` template repository is itself a project with dependencies needed for its development and maintenance. These include `cookiecutter`, the specific versions of the tools evaluated (to ensure compatibility and test against them), and maintenance-specific tools (like {commitizen}`Commitizen` for template versioning, {nox}`Nox` for template task automation, potentially testing frameworks for the template's functionality).
1212

1313
The template's `pyproject.toml` file at the **template repository root** lists these dependencies.
1414

@@ -48,20 +48,20 @@ The template repository uses its own `noxfile.py` at the **template repository r
4848

4949
## Keeping Template Tooling and Dependencies Current
5050

51-
As the tools recommended by the template ({uv}`uv<>`, {ruff}`Ruff<>`, {pyright}`Pyright<>`, {pytest-pytest-cov}`pytest<>`, etc.) release new versions, you will need to:
51+
As the tools recommended by the template ({uv}`uv`, {ruff}`Ruff`, {pyright}`Pyright`, {pytest-pytest-cov}`pytest`, etc.) release new versions, you will need to:
5252

5353
1. **Update Template Dependencies:** Manually update the version specifiers for the desired tools in the template's **`pyproject.toml` at the template root**. Run `uv sync` at the template root to update the template's own `uv.lock` file with the new versions.
5454
2. **Update Template Configuration:** Review release notes for the updated tools. Modify the **separate configuration files** (like `.ruff.toml`, `pyrightconfig.json`, `.coveragerc`) and `pyproject.toml` (e.g., `[tool.uv]`, `[tool.pytest]`) within the **template structure** (e.g., `{{cookiecutter.project_slug}}/pyproject.toml`, `{{cookiecutter.project_slug}}/.ruff.toml`) if the tools have breaking changes in configuration or recommended settings.
5555
3. **Test Template:** Run the template's own checks and tests (`uvx nox`) to ensure the template still functions correctly and generates projects with working workflows using the new tool versions. This is crucial! Consider adding tests that render a project and run its default checks/tests within the template's own CI.
56-
4. **Update Pre-commit Hook `rev`s:** For tools used as {pre-commit}`pre-commit<>` hooks, update the `rev` (version hash/tag) for those hooks in the template's **`.pre-commit-config.yaml` at the template root** to match tested, compatible versions of the hook repositories. You can use `uvx nox -s pre-commit -- autoupdate` in the template repository to update these `rev`s interactively.
56+
4. **Update Pre-commit Hook `rev`s:** For tools used as {pre-commit}`pre-commit` hooks, update the `rev` (version hash/tag) for those hooks in the template's **`.pre-commit-config.yaml` at the template root** to match tested, compatible versions of the hook repositories. You can use `uvx nox -s pre-commit -- autoupdate` in the template repository to update these `rev`s interactively.
5757
5. **Update CI/CD Example Configs:** Ensure the versions referenced in example CI/CD workflow files (`.github/workflows/`, `bitbucket-pipelines.yml`, etc.) are current and consistent with the tested tool versions (e.g., Python versions tested against, commands to install uv/Nox if pinned).
5858
6. **Update Documentation:** **CRITICAL.** If tool updates change behavior, configuration, workflow steps, or even render previous justifications less valid, **update the documentation** (specifically the `docs/topics/` files) to reflect the current state and rationale. This ensures the documentation remains accurate and the justifications for tool choices are based on the _current_ versions and understanding.
5959
6060
## Keeping Generated Projects Updated
6161
62-
A project generated from this template is a copy at a point in time. Template updates do **not** automatically apply to existing generated projects. We recommend using **{cruft}`cruft<>`** to help manage updates in projects _after_ they've been generated:
62+
A project generated from this template is a copy at a point in time. Template updates do **not** automatically apply to existing generated projects. We recommend using **{cruft}`cruft`** to help manage updates in projects _after_ they've been generated:
6363

64-
1. **Ensure `cruft` is Used:** During template generation, the `{{cookiecutter.project_slug}}` should have a <>`.cruft.json` file created (handled automatically by {cruft}`cruft<>` if the template is run via `cruft create`, or added as a post-gen hook). This file tracks the template version used.
64+
1. **Ensure `cruft` is Used:** During template generation, the `{{cookiecutter.project_slug}}` should have a `.cruft.json` file created (handled automatically by {cruft}`cruft` if the template is run via `cruft create`, or added as a post-gen hook). This file tracks the template version used.
6565
2. **Instruct Users on `cruft`:** The documentation _within the generated project's_ `docs/` (e.g., the Getting Started guide) should clearly explain how to use `cruft` (`cruft check`, `cruft update`) to bring in changes from template updates. You can mention running `uvx nox -s cruft-check` (if you add a Nox session for this) or integrating `cruft check --exit-code` into the generated project's CI workflow to alert users of template updates.
6666

6767
## Releasing a New Template Version
@@ -70,7 +70,7 @@ Releasing a new version of the template itself follows a standard process, often
7070

7171
1. **Finalize Changes:** Ensure all desired updates for the release are committed to the main branch of the template repository.
7272
2. **Verify Template Health:** Run the full suite of checks and tests for the template itself (`uvx nox`) to confirm it's functioning correctly.
73-
3. **Run Commitizen Bump:** Use {commitizen}`Commitizen<>` (installed as a dev dependency in the template repo) to automatically bump the calendar version string(s) in your template files (e.g., `docs/conf.py`), create a Git tag (e.g., `2025.04.28`), and generate/update a `CHANGELOG.md` for the template repository.
73+
3. **Run Commitizen Bump:** Use {commitizen}`Commitizen` (installed as a dev dependency in the template repo) to automatically bump the calendar version string(s) in your template files (e.g., `docs/conf.py`), create a Git tag (e.g., `2025.04.28`), and generate/update a `CHANGELOG.md` for the template repository.
7474
```bash
7575
uvx cz bump # Run in template repo root; follow prompts. Updates version, tags, changelog.
7676
```
@@ -83,4 +83,4 @@ Releasing a new version of the template itself follows a standard process, often
8383
8484
## Documenting Template Changes
8585
86-
Maintain a `CHANGELOG.md` file at the **template repository root** to clearly document the changes included in each template release (often generated automatically by {commitizen}`Commitizen<>`). This helps users understand the benefits and potential impacts of updating their generated projects to a newer template version. Link to specific documentation topics if updates involve significant changes in tooling or workflows.
86+
Maintain a `CHANGELOG.md` file at the **template repository root** to clearly document the changes included in each template release (often generated automatically by {commitizen}`Commitizen`). This helps users understand the benefits and potential impacts of updating their generated projects to a newer template version. Link to specific documentation topics if updates involve significant changes in tooling or workflows.

0 commit comments

Comments
 (0)