Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ _Notes on upcoming releases will be added here_

## gp-libs 0.0.18 (2026-06-27)

gp-libs 0.0.18 refreshes the project documentation and maintainer workflow around the shared git-pull docs stack. The docs now use the Library Skeleton page shape, the gp-sphinx theme and API presentation packages, and a just-based command surface that matches the rest of the workspace. Readers get a more navigable site; maintainers get reusable commands and fewer repo-local Sphinx assets to keep in sync.
gp-libs 0.0.18 refreshes the project documentation and maintainer workflow around the shared git-pull docs stack. The docs now use the Library Skeleton page shape, the [gp-sphinx](https://gp-sphinx.git-pull.com/) theme and API presentation packages, and a [just](https://just.systems/)-based command surface that matches the rest of the workspace. Readers get a more navigable site; maintainers get reusable commands and fewer repo-local Sphinx assets to keep in sync.

### What's new

Expand All @@ -46,13 +46,13 @@ The CI docs workflow, `.tmuxp.yaml`, and agent instructions were updated to call

#### Documentation now follows the Library Skeleton pattern (#65)

The documentation was reorganized around a landing page, topic cards, and a dedicated project section. The new structure keeps the user-facing extensions visible first: {doc}`doctest/index`, {doc}`doctest/pytest`, and {doc}`linkify_issues/index`.
The documentation was reorganized around a landing page, topic cards, and a dedicated project section. The new structure keeps the user-facing modules visible first: {doc}`modules/doctest_docutils/index`, {doc}`modules/pytest_doctest_docutils/index`, and {doc}`modules/linkify_issues/index`.

The history page still includes this file directly, so release notes continue to render as part of the docs site rather than living only in the repository.

#### Shared gp-sphinx docs platform (#66)

The docs site moved from repo-local Sphinx theme glue, templates, CSS, and JavaScript to the published gp-sphinx package stack. `docs/conf.py` now delegates common configuration to `gp_sphinx.config.merge_sphinx_config()`, while gp-libs keeps only the project-specific values such as intersphinx mappings, logos, linkcode, and redirects.
The docs site moved from repo-local Sphinx theme glue, templates, CSS, and JavaScript to the published gp-sphinx package stack. `docs/conf.py` now delegates common configuration to {func}`~gp_sphinx.config.merge_sphinx_config`, while gp-libs keeps only the project-specific values such as intersphinx mappings, logos, linkcode, and redirects.

This removes bundled docs support files that are now owned by shared packages and keeps gp-libs aligned with the broader git-pull documentation platform.

Expand Down Expand Up @@ -393,7 +393,7 @@ $ python -m doctest_docutils README.md -v

### Documentation

Initial documentation, README examples, Sphinx configuration, and package metadata shipped with the stable release. See {doc}`doctest/index`, {doc}`doctest/pytest`, and {doc}`linkify_issues/index` for the current guides.
Initial documentation, README examples, Sphinx configuration, and package metadata shipped with the stable release. See {doc}`modules/doctest_docutils/index`, {doc}`modules/pytest_doctest_docutils/index`, and {doc}`modules/linkify_issues/index` for the current guides.

### Development

Expand Down
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Two components:
This extends standard library `doctest` to support anything docutils can parse.
It can parse reStructuredText (.rst) and markdown (.md).

See more: <https://gp-libs.git-pull.com/doctest/>
See more: <https://gp-libs.git-pull.com/modules/doctest_docutils/>

#### Supported styles

Expand All @@ -51,7 +51,7 @@ It supports two barebones directives:
4
```

Markdown (requires [myst-parser]):
Markdown:

````markdown
```{doctest}
Expand All @@ -76,7 +76,7 @@ That's what `doctest` does by design.

##### Markdown

If you install [myst-parser], doctest will run on .md files.
Markdown files run through [myst-parser], which is installed with gp-libs.

```console
$ python -m doctest_docutils README.md -v
Expand All @@ -86,7 +86,8 @@ $ python -m doctest_docutils README.md -v

_This plugin disables [pytest's standard `doctest` plugin]._

This plugin integrates with the `doctest_docutils` module with pytest to enable seamless testing of docs, `conftest.py` fixtures and all.
This plugin integrates `doctest_docutils` with pytest so documentation examples
run with the surrounding `conftest.py` setup.

```console
$ pytest docs/
Expand All @@ -95,7 +96,7 @@ $ pytest docs/
Like the above module, it supports docutils' own `doctest_block` and a basic
`.. doctest::` directive.

See more: <https://gp-libs.git-pull.com/doctest/pytest.html>
See more: <https://gp-libs.git-pull.com/modules/pytest_doctest_docutils/>

[pytest's standard `doctest` plugin]: https://docs.pytest.org/en/stable/how-to/doctest.html#doctest

Expand Down Expand Up @@ -127,10 +128,10 @@ In your _conf.py_:
issue_url_tpl = 'https://github.com/git-pull/gp-libs/issues/{issue_id}'
```

The config variable is formatted via {meth}`str.format` where `issue_id` is
The config variable is formatted via `str.format()` where `issue_id` is
`42` if the text is \#42.

See more: <https://gp-libs.git-pull.com/linkify_issues/>
See more: <https://gp-libs.git-pull.com/modules/linkify_issues/>

## Install

Expand Down
11 changes: 8 additions & 3 deletions docs/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ a comprehension tax for the advanced one.
toolkit hangs on; reinforce that chain when you explain why Markdown
needs myst-parser or why a fixture needs a visible `conftest.py`.
- **Name the trade-off.** If a choice costs something — the plugin
disables pytest's standard doctest plugin, Markdown support needs
myst-parser installed, fixtures reach only files a `conftest.py` can
disables pytest's standard doctest plugin, Markdown support goes
through myst-parser, fixtures reach only files a `conftest.py` can
see — say so, and say what it buys. State it; don't sell it.
- **Frame by concept, not by mechanism.** Don't headline a feature by
its `conf.py` key or pytest flag in prose; that names the
Expand All @@ -76,6 +76,11 @@ dogfood the tool they describe; a broken example is a failing test.
- No `doctest_namespace` fixtures are registered for `docs/` — no
`conftest.py` is visible to it — so keep examples self-contained:
import what you use inside the block.
- Console fences are checked by
`tests/test_docs_console_examples.py`. Keep one `$` prompt command per
block; safe `python -m doctest_docutils ...` examples with existing
local targets run in a temp-home sandbox, while install, watch,
server, git, and full-suite commands are policy-validated only.

## What stays precise

Expand Down Expand Up @@ -119,7 +124,7 @@ surrounding prose instead.

## A page that does this

`docs/linkify_issues/index.md` is the worked example: a concept-first
`docs/modules/linkify_issues/index.md` is the worked example: a concept-first
intro that says what the extension does (plain-text `#123` becomes a
link) before any `conf.py` key, a two-step default configuration most
readers can stop after, `issue_re` marked as optional tuning for the
Expand Down
10 changes: 9 additions & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@
source_branch="master",
light_logo="img/icons/logo.svg",
dark_logo="img/icons/logo-dark.svg",
extra_extensions=["sphinx_autodoc_api_style"],
extra_extensions=["sphinx.ext.doctest", "sphinx_autodoc_api_style"],
intersphinx_mapping={
"gp_sphinx": ("https://gp-sphinx.git-pull.com/", None),
"py": ("https://docs.python.org/", None),
"pytest": ("https://docs.pytest.org/en/stable/", None),
"sphinx": ("https://www.sphinx-doc.org/en/master/", None),
Expand All @@ -44,3 +45,10 @@
exclude_patterns=["_build", "AGENTS.md", "CLAUDE.md"],
)
globals().update(conf)

doctest_global_setup = """
import pathlib

from doctest_docutils import is_allowed_version
from pytest_doctest_docutils import pytest_ignore_collect
"""
94 changes: 0 additions & 94 deletions docs/doctest/index.md

This file was deleted.

149 changes: 0 additions & 149 deletions docs/doctest/pytest.md

This file was deleted.

Loading