Documentation site: mdBook user + contributor guide (2.2)

An mdBook under docs/ rendering eight pages: introduction,
installation, first-run/config, downloading, an anti-bot guide that
captures the hard-won cookies/curl_cffi/POT/player-client knowledge,
troubleshooting (the nine error classes + non-download issues),
architecture (the two-front-ends/one-engine design, settings flow,
layout invariant, persistence), and packaging.

- .forgejo/workflows/docs.yml builds the book and publishes docs/book/
  to the `pages` branch for Codeberg Pages on docs/ changes.
- docs/book/ is gitignored (rendered output).
- README: fix the stale backup.directory comment — every platform nests
  under the one library root, not a channels/ sibling split.
- Add CLAUDE.md (repo guidance for Claude Code).

Builds clean with mdbook 0.5; intra-doc anchor links verified.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Luna 2026-06-07 02:56:14 -07:00
parent 7906d7d07f
commit e06c2ef826
14 changed files with 833 additions and 1 deletions

View file

@ -0,0 +1,44 @@
# Build the mdBook docs and publish them to Codeberg Pages.
#
# Codeberg serves the `pages` branch of a repo (or a dedicated `pages`
# repo) at https://<user>.codeberg.page/<repo>/. This workflow builds the
# book on a push to main that touches docs/ and pushes the rendered HTML
# to the `pages` branch.
name: docs
on:
push:
branches: [main]
paths:
- 'docs/**'
- '.forgejo/workflows/docs.yml'
workflow_dispatch:
jobs:
build:
runs-on: docker
container:
image: rust:1.85-bookworm
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install mdBook
run: cargo install mdbook --no-default-features --features search
- name: Build the book
run: mdbook build docs
- name: Publish to the pages branch
# forgejo-release isn't right here; push the built docs/book/ to a
# `pages` branch that Codeberg Pages serves. Uses the repo token.
env:
TOKEN: ${{ secrets.PAGES_TOKEN }}
run: |
cd docs/book
git init -q
git config user.name "ci"
git config user.email "ci@localhost"
git add -A
git commit -q -m "docs build ${{ github.sha }}"
git push -f "https://x:${TOKEN}@codeberg.org/${{ github.repository }}.git" HEAD:pages