Files
meshcore-bot/mkdocs.yml
T
agessaman d78b29b6b5 docs: fix site build, stale paths, and missing pages
Consistency pass ahead of the 1.0.0 release. `mkdocs build --strict`
now completes with no warnings; it previously failed.

- mkdocs.yml: the nav referenced `feeds.md` but the file is `FEEDS.md`.
  This resolved on case-insensitive macOS and broke on the Linux CI
  runner, so the live site shipped a dead Feed Management link.
- mkdocs.yml: add eight pages that existed and were linked from
  docs/index.md but were absent from the nav, so they were unreachable
  by site navigation: World Cup, Earthquake, Telegram Bridge, Repeater
  Prefix Collision, Repeater Commands, and the custom command website.
  Exclude docs/integration/, which is an internal development log.
- faq.md: the recovery snippets pointed at
  /opt/meshcore-bot/meshcore_bot.db. Since the service-layout hardening
  the database lives in /var/lib/meshcore-bot, and /opt is root-owned,
  so `sudo -u meshcore` could not write there. sqlite3.connect() would
  have created an empty database and failed with a confusing
  "no such table" instead of a clear permissions error.
- repeater-commands.md: section headings containing "&" generated
  different anchors under GitHub and MkDocs, so the table of contents
  worked in one renderer and broke in the other. Use "and" so both
  produce the same slug. Point the Auto-Purge entry at the subsection
  that exists; it previously matched no heading in either renderer.
- command-reference.md: document the `webviewer` command, the only one
  of 44 command modules with no entry.
- checkin-api.md: link the reference receiver on GitHub rather than by
  a relative path that escapes the docs tree.
- index.md: add the upgrade guide, FAQ, data retention, local plugins,
  check-in API, and custom command website.
2026-07-28 13:54:45 -07:00

83 lines
2.2 KiB
YAML

# Material for MkDocs - meshcore-bot documentation
site_name: Meshcore Bot Documentation
site_description: Documentation for the MeshCore bot and its services
site_url: https://agessaman.github.io/meshcore-bot/
repo_name: meshcore-bot
repo_url: https://github.com/agessaman/meshcore-bot
edit_uri: edit/main/docs/
theme:
name: material
language: en
palette:
- scheme: default
primary: indigo
accent: cyan
toggle:
icon: material/brightness-7
name: Switch to dark mode
- scheme: slate
primary: indigo
accent: cyan
toggle:
icon: material/brightness-4
name: Switch to light mode
features:
- navigation.instant
- navigation.tracking
- navigation.tabs
- navigation.sections
- toc.integrate
- content.code.copy
plugins:
- search
- exclude:
glob:
- local/**
# Internal development log, not user-facing documentation.
- integration/**
markdown_extensions:
- pymdownx.superfences
- pymdownx.highlight:
anchor_linenums: true
- pymdownx.tabbed:
alternate_style: true
- tables
- attr_list
- md_in_html
nav:
- Home: index.md
- Quick Start: getting-started.md
- Installation:
- Overview: installation.md
- Docker: docker.md
- Service: service-installation.md
- Configuration:
- Overview: configuration.md
- Data retention: data-retention.md
- Local plugins and services: local-plugins.md
- Check-in API: checkin-api.md
- Path Command: path-command-config.md
- Config validation: config-validation.md
- Web Viewer: web-viewer.md
- Command Reference:
- Overview: command-reference.md
- Repeater Commands: repeater-commands.md
- Custom Command Website: command-reference-website.md
- Service Plugins:
- Overview: service-plugins.md
- Discord Bridge: discord-bridge.md
- Telegram Bridge: telegram-bridge.md
- Packet Capture: packet-capture.md
- Map Uploader: map-uploader.md
- Weather Service: weather-service.md
- Earthquake Service: earthquake-service.md
- Repeater Prefix Collision: repeater-prefix-collision-service.md
- World Cup: worldcup.md
- Feed Management: FEEDS.md
- FAQ: faq.md
- Upgrade: upgrade.md