ci: auto-sync GitHub wiki module pages from man pages

Add tooling that makes the scdoc man pages the single source of truth and
regenerates the wiki module pages from them:

- .github/wiki/mapping.json: man-page -> wiki-page mapping (aggregation-aware)
- .github/wiki/generate.py: scdoc -> pandoc -> gfm, strips man-only sections,
  concatenates aggregated pages, appends optional extras/<Page>.md
- .github/wiki/extras/: hand-kept appendices (screenshots) with no man equivalent
- .github/workflows/wiki.yml: on push to man/** (or the tooling), regenerate
  and push the wiki; other wiki pages are left untouched

Covers all 65 man pages -> 45 wiki pages (5 new: GPS, Inhibitor, Mango, Menu,
WWAN). Non-module and hand-written wiki pages are never modified.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Alex
2026-07-04 03:02:10 +02:00
co-authored by Claude Opus 4.8
parent a3b39cfcf6
commit c76bfc018b
6 changed files with 293 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
{
"_comment": "Maps each wiki page to the ordered list of man-page basenames that compose it. Edit this when adding a module or man page. The generator (generate.py) turns each man/<basename>.5.scd into the wiki page named by the key. Keys use the exact wiki page title (spaces become dashes in the file name, ':' is kept).",
"Module:-Backlight": ["waybar-backlight"],
"Module:-Backlight-Slider": ["waybar-backlight-slider"],
"Module:-Battery": ["waybar-battery"],
"Module:-Bluetooth": ["waybar-bluetooth"],
"Module:-Cava": ["waybar-cava"],
"Module:-CFFI": ["waybar-cffi"],
"Module:-Clock": ["waybar-clock"],
"Module:-CPU": ["waybar-cpu", "waybar-cpu-graph"],
"Module:-Custom": ["waybar-custom", "waybar-custom-graph"],
"Module:-Disk": ["waybar-disk"],
"Module:-Dwl": ["waybar-dwl-tags", "waybar-dwl-window"],
"Module:-Gamemode": ["waybar-gamemode"],
"Module:-GPS": ["waybar-gps"],
"Module:-Hyprland": ["waybar-hyprland-window", "waybar-hyprland-workspaces", "waybar-hyprland-submap", "waybar-hyprland-windowcount"],
"Module:-Idle-Inhibitor": ["waybar-idle-inhibitor"],
"Module:-Image": ["waybar-image"],
"Module:-Inhibitor": ["waybar-inhibitor"],
"Module:-JACK": ["waybar-jack"],
"Module:-Keyboard-State": ["waybar-keyboard-state"],
"Module:-Language": ["waybar-sway-language", "waybar-hyprland-language", "waybar-niri-language", "waybar-mango-language"],
"Module:-Mango": ["waybar-mango-window", "waybar-mango-workspaces", "waybar-mango-keymode", "waybar-mango-layout"],
"Module:-Memory": ["waybar-memory"],
"Module:-Menu": ["waybar-menu"],
"Module:-MPD": ["waybar-mpd"],
"Module:-MPRIS": ["waybar-mpris"],
"Module:-Network": ["waybar-network"],
"Module:-Niri": ["waybar-niri-window", "waybar-niri-workspaces"],
"Module:-PowerProfilesDaemon": ["waybar-power-profiles-daemon"],
"Module:-Privacy": ["waybar-privacy"],
"Module:-PulseAudio": ["waybar-pulseaudio"],
"Module:-PulseAudio-Slider": ["waybar-pulseaudio-slider"],
"Module:-River": ["waybar-river-tags", "waybar-river-mode", "waybar-river-window", "waybar-river-layout"],
"Module:-Sndio": ["waybar-sndio"],
"Module:-Sway": ["waybar-sway-workspaces", "waybar-sway-window", "waybar-sway-mode", "waybar-sway-scratchpad"],
"Module:-Systemd-failed-units": ["waybar-systemd-failed-units"],
"Module:-Taskbar": ["waybar-wlr-taskbar"],
"Module:-Temperature": ["waybar-temperature"],
"Module:-Tray": ["waybar-tray"],
"Module:-UPower": ["waybar-upower"],
"Module:-User": ["waybar-user"],
"Module:-Wayfire": ["waybar-wayfire-window", "waybar-wayfire-workspaces"],
"Module:-WirePlumber": ["waybar-wireplumber"],
"Module:-Workspaces": ["waybar-ext-workspaces"],
"Module:-WWAN": ["waybar-wwan"],
"States": ["waybar-states"]
}