Skip to content

docs: bilingual documentation site with automated GitHub Pages deploy - #8

Merged
oswaldom-code merged 3 commits into
mainfrom
develop
Aug 7, 2026
Merged

docs: bilingual documentation site with automated GitHub Pages deploy#8
oswaldom-code merged 3 commits into
mainfrom
develop

Conversation

@oswaldom-code

Copy link
Copy Markdown
Owner

Publishes the documentation site that has been sitting in local-only state, updated to the current API surface and translated to Spanish.

What is here

The site (web/) — Material for MkDocs, 12 pages per locale, living in the same repo so docs and code move in the same PR.

Content updated to 0.2.x. The pages described the 0.1.0 surface. Now covered: OnInvalidConfig, CircuitBreakerConfig.OnStateChange, CircuitBreakerWithState, RetryConfig.AttemptTimeout, NewTokenBucketE / ErrInvalidRateLimit, and the ErrKindCircuitOpen / ErrKindRateLimited kinds. A new Observability page documents the invalid-config hook.

Two figures corrected. The comparative benchmark table claimed to measure the full six-middleware chain; benchmarks/bench_test.go only configures timeout + retry + circuit breaker. And the six-middleware chain is 12 allocs/op against the 4 of a bare client — measured fresh, previously stated as "adds 12 over a bare transport".

Bilingual. English at the root, Spanish under /es/, via mkdocs-static-i18n with translated navigation. Cross-page links carrying anchors were retargeted to the Spanish slugs.

CI (.github/workflows/docs.yml) — builds with --strict on every PR touching web/, deploys to Pages on push to main. Least-privilege permissions: pages: write and id-token: write scoped to the deploy job only.

Note on dependencies

web/requirements.txt pins exact versions. MkDocs 2.0 removes the plugin system that both mkdocs-material and mkdocs-static-i18n depend on, with no migration path, so an unpinned install breaks the build the day it lands. This is documentation tooling only — the Go module remains dependency-free.

Before merging

GitHub Pages must be enabled with Source: GitHub Actions, otherwise the deploy job fails. It is currently not enabled.

Oswaldo Montaño added 3 commits August 7, 2026 23:24
The site is built with Material for MkDocs and lives in web/, so documentation
and code evolve atomically in the same pull request.

Content covers the current 0.2.x surface rather than 0.1.0: OnInvalidConfig,
the circuit breaker OnStateChange hook, CircuitBreakerWithState,
RetryConfig.AttemptTimeout, NewTokenBucketE and the ErrKindCircuitOpen and
ErrKindRateLimited kinds. Two figures were corrected against a fresh
measurement: the comparative table describes timeout+retry+breaker, which is
what the harness actually configures, and the six-middleware chain is reported
as 12 allocs against the 4 of a bare client.

English is the default locale at the root and Spanish is served under /es/ via
mkdocs-static-i18n, with the navigation translated. Both locales are validated
by mkdocs build --strict, which the workflow also runs on pull requests so a
broken link cannot reach main.

The Python toolchain is pinned exactly: MkDocs 2.0 removes the plugin system
both plugins depend on and offers no migration path. None of it reaches the Go
module, which stays dependency-free.
@oswaldom-code
oswaldom-code merged commit a23bfc9 into main Aug 7, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant