feat(docs): offline documentation, config_help viewer, and CI pipelines #32
Reference in New Issue
Block a user
Delete Branch "feat/offline-documentation"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
docs/fish-config.md— curated terminal-optimized manual covering every public function, all keybindings, all abbreviations, configuration variables, the dependency catalog, and the customization guide. Written specifically for terminal readability: no GitHub callouts, no hyperlinks, clean plain-text prose with fenced code examples. Pandoc-compatible YAML front matter so the same file compiles directly to a groff man page.docs/fish-config.index— keyword-to-heading map with 100+ aliases (keybindings,abbr,git,fzf,fish-deps, etc.).config_helpdoes an index lookup first, then falls back to a normalized heading scan (strips non-alphanumeric chars, lowercases both sides) for unknown terms. Line numbers are resolved at runtime viagrep -Fso the index only needs updating when a heading is renamed, not when surrounding content changes.functions/config_help.fish— viewer with a full fallback chain:ov(syntax highlight + section navigation) →bat(syntax highlight, paging) →man -l(pre-compiled man page) →less→cat. Accepts an optional keyword argument to jump directly to the first matching section heading (config_help keybindings,config_help pkg, etc.). A persistent navigation hint is pinned at the top of the ov screen via--header 1. Pass--helpor-hfor full usage and key reference..gitea/workflows/man-page.yml— automatically compilesdocs/fish-config.md→docs/fish-config.1via pandoc on every push tomainthat touches the source doc, commits the result back to the repo..gitea/workflows/docs-drift.yml— opens a reminder issue wheneverREADME.mdchanges onmainwithout a corresponding change todocs/fish-config.mdin the same push.README.md— adds an "Offline Documentation" subsection documentingconfig_helpand its fallback chain.AGENTS.md— adds Convention 10 requiring the offline doc to be updated alongside any function, keybinding, abbreviation, or config change. Also documents the CI workflows.ov Navigation Keys
Space^Alt+u/n/NgqManual Verification
config_help— confirm it opens in ov with syntax highlighting, a dim nav hint pinned at the top, and the section sidebar populated (pressAlt+u)config_help keybindings— confirm ov opens at the Key Bindings section (# 3. KEY BINDINGS) rather than the top of the fileconfig_help pkg— confirm it jumps to thepkgfunction entryconfig_help fish-deps— confirm it jumps to thefish-depsentrySpaceand^to navigate forward and backward through sections; confirm the section header pins correctly below the nav hintconfig_help --help— confirm the usage, examples, navigation key reference, and fallback chain all print correctlyconfig_help— confirm fallback to bat with a paged Markdown viewdocs/fish-config.mdrenders cleanly:bat --language=markdown docs/fish-config.md | head -60main, confirm theman-page.ymlworkflow runs and commitsdocs/fish-config.1, then verifyman -l ~/.config/fish/docs/fish-config.1displays the man paged21d685090to368b714a98a4e0c04de4toba92267a80