zrepl/docs
Christian Schwarz 8b0637ddcc
docs: switch to sphinx-multiversion for multi-versioned docs (#734)
The sphinxcontrib-versioning seems unmaintainted and I can't
get the fork that we used before this PR working on Python 3.10.

The situation wrt maintenance doesn't seem much better for
sphinx-multiversion, but, at least I could get it to work
with current sphinx versions.

The main problem with sphinx-multiversion is that it doesn't render
anything at `/`. I.e., `https://zrepl.github.io/configuration.html` will
be 404.
That's different from `sphinxcontrib-versioning`, and thus switching
to sphinx-multiversion would break URLs.
We host on GitHub pages and don't control the webserver,
so, we can't use webserver-level redirects to keep the URLs working.
We could create JS-level redirects, or `http-equiv`, but that's ugly as
well.
The simplest solution was to fork sphinx-multiversion and hard-code
zrepl's specific needs into that fork.
The fork is based off v0.2.4 and pinned via requirements.txt.
Here are its unique commits:
https://github.com/Holzhaus/sphinx-multiversion/compare/master...zrepl:sphinx-multiversion:zrepl

We should revisit `sphinx-polyversion` in the future once its docs
improve.
See
https://github.com/Holzhaus/sphinx-multiversion/issues/88#issuecomment-1606221194

This PR updates the various Python packages, as I couldn't get
sphinx-multiversion to work with the (very old) versions that were
pinned in `requirements.txt` prior to this PR.
This PR's `requirements.txt` is from a clean Python 3.10 venv on Ubuntu
22.10 after running

```
pip install sphinx sphinx-rtd-theme
pip install 'git+https://github.com/zrepl/sphinx-multiversion/@52c915d7ad898d9641ec48c8bbccb7d4f079db93#egg=sphinx_multiversion'
```
2023-09-09 12:21:25 +02:00
..
_static docs: switch to sphinx-multiversion for multi-versioned docs (#734) 2023-09-09 12:21:25 +02:00
_templates docs: switch to sphinx-multiversion for multi-versioned docs (#734) 2023-09-09 12:21:25 +02:00
configuration docs/jobs: add replication- conflict_resolution-options to active job types 2023-01-26 00:09:28 +01:00
installation docs: add a note that FreeBSD jail zfs userland needs to be kept in sync with kernel module 2021-12-18 16:06:26 +01:00
quickstart docs: address setup with two or more external disks (#695) 2023-05-02 18:57:26 +02:00
usage/runbooks docs: add runbook on how to migrate sending side to new zpool 2021-11-14 17:34:32 +01:00
.gitignore docs: publishing workflow as script 2017-11-11 23:25:12 +01:00
changelog.rst docs: changelog: move donation banner to 0.6 release 2022-11-01 09:57:24 +01:00
conf.py docs: switch to sphinx-multiversion for multi-versioned docs (#734) 2023-09-09 12:21:25 +02:00
configuration.rst make initial replication policy configurable (most_recent, all, fail) 2022-06-26 14:36:59 +02:00
global.rst.inc docs/jobs: add replication- conflict_resolution-options to active job types 2023-01-26 00:09:28 +01:00
index.rst docs: badges & links to Matrix chat room 2022-01-09 12:05:19 +01:00
installation.rst build: rpm + deb targets, build-in-docker targets, CircleCI pipeline rewrite 2020-09-02 21:34:52 +02:00
Makefile docs: switch to sphinx-multiversion for multi-versioned docs (#734) 2023-09-09 12:21:25 +02:00
pr.rst docs: reflect changes in replication_rewrite branch 2018-10-11 18:03:18 +02:00
publish.sh docs: switch to sphinx-multiversion for multi-versioned docs (#734) 2023-09-09 12:21:25 +02:00
quickstart.rst docs: document fan-out replication & add quick-start guide 2022-01-09 12:45:09 +01:00
requirements.txt docs: switch to sphinx-multiversion for multi-versioned docs (#734) 2023-09-09 12:21:25 +02:00
run-sphinx-multiversion.py docs: switch to sphinx-multiversion for multi-versioned docs (#734) 2023-09-09 12:21:25 +02:00
supporters.rst docs: update supporters list 2022-12-10 12:00:57 +01:00
usage.rst docs: update CLI usage to --mode raw & remove outdated "Limitations" section 2022-06-28 00:17:34 +02:00