Commit Graph
14 Commits
Author SHA1 Message Date
rootiest 4912c4052f feat(docs): add GitHub mirror icon, README-sourced doc sections, auto-generated TOC
Adds a GitHub social icon to the docs site header alongside the existing
Gitea one, and documents in the README's Contributing section that
git.rootiest.dev is the base repo while the GitHub copy is a one-way
mirror, so forks/issues/PRs should go through Gitea.

Adds Testing, Contributing, Attribution, and License sections to the
manual/man page/site, sourced directly from README.md via a new
`<!-- README: Heading -->` placeholder mechanism in build-manual.py, so
the README stays the single source of truth for those sections instead
of a hand-maintained copy drifting out of sync.

Also converts docs/manual/00-table-of-contents.md from a hand-typed list
to a generated one (mt.walk()-driven), fixing a numbering drift where
Components Reference was omitted and every section after it was off by
one relative to its own manTitle.
2026-09-04 16:34:22 -04:00
rootiest f32e0d0ce5 feat(docs-site): add starlight-plugin-icons, use real Gitea logo in header
The header social link used Starlight's generic `code-branch` icon.
Wires up starlight-plugin-icons + UnoCSS (Iconify) and overrides
SocialIcons to render `pajamas:gitea` for the Gitea link instead, while
falling back to Starlight's default icon set for anything else. Sidebar
and codeblock icon support are enabled but unused for now.
2026-08-17 15:30:42 -04:00
rootiest 96df21444b feat(docs): publish llms.txt for AI agent consumption
Add the starlight-llms-txt plugin so the docs build emits llms.txt,
llms-full.txt, and llms-small.txt alongside the regular pages, making
the manual queryable by MCP-compatible agents without depending on a
third-party indexing service.

Also bump js-yaml, nanoid, and sharp in docs/site to clear three
high-severity advisories (quadratic YAML omap parsing, a zero-size
nanoid loop, and inherited libvips CVEs) flagged by npm audit while
touching the same lockfile.
2026-08-14 15:50:21 -04:00
rootiest f9086bd2ca ci(build-docs): fix baseless non-critical warnings in build log
Generate documentation / build-docs (push) Successful in 5m27s
- Eliminate the warning about the generic 404 page being replaced, it
was intentional.
- Add a flag to the cloudflare deploy task to approve pushes from dirty
git repos, it was intentional for the dynamic build.
2026-07-28 00:20:16 -04:00
rootiest 1972ea5bb9 docs(site): improve UI, add catppuccin theme, fix MDX bugs 2026-07-27 23:27:09 -04:00
rootiest 05db9b57d7 feat(site): add starlight logo and favicon 2026-07-27 19:33:16 -04:00
rootiest ba6146c343 docs: update documentation URL to fish.rootiest.fyi
Replaced all instances of fish-config.rootiest.fyi with the new domain fish.rootiest.fyi across the codebase.
2026-07-27 01:37:34 -04:00
rootiest a5e6efc761 style(docs): keep root file tree folder open by default
Generate documentation / build-docs (push) Successful in 3m39s
2026-07-26 22:33:16 -04:00
rootiest 5b43f3bbd3 style(docs): prevent file tree wrapping and collapse by default 2026-07-26 22:24:49 -04:00
rootiest ab030d7ec0 docs: update site title and canonical URL
Generate documentation / build-docs (push) Successful in 3m14s
Offline docs drift reminder / remind (push) Successful in 16s
Rename the Starlight site to "Rootiest Fish Config" and switch its
canonical URL from the Cloudflare Pages subdomain to
fish-config.rootiest.fyi (now aliased in Cloudflare). Updates all
references in README, config-help, open-url, and the manual, and
regenerates the concat/man-page artifacts to match.
2026-07-26 15:34:08 -04:00
rootiest ab2f03213b feat(docs-site): syntax-highlight examples and restyle the site
The manual is authored man-page style: every synopsis, example, option
table, and description sits in one 4-space-indented block. On the site
that renders as a single unhighlighted grey slab, because an indented
block declares no language.

Split each block into its paragraphs at site-build time and classify
them: synopsis and shell examples become ```fish fences, descriptions
become real prose, and column-aligned reference tables keep their
indentation. 175 blocks now highlight; the 412 lines of genuine tables
are left alone.

The transform is site-only. docs/manual/** keeps the indented form the
pandoc man-page pipeline and config-help depend on, and a test enforces
that no fence is ever written back to the SSOT.

Also:
- Point Expressive Code at the bundled Catppuccin Mocha/Latte themes so
  code blocks match the palette in catppuccin.css.
- Build the functions sidebar group explicitly. `autogenerate` labelled
  it with the raw directory slug and republished the directory index as
  a child of the group it already titled, producing the duplicate
  "Functions Reference" row.
- Skip `Synopsis:` lines when deriving card descriptions; they restated
  the calling convention the card already shows as its title.
- Widen the palette: tinted heading levels, inline code, links, card
  hover accents, aside accents, and table headers.

Fixes a bug where _split_entries stripped the leading indentation of an
entry's first line, detaching `Synopsis:` from the block it opens.
2026-07-26 00:12:33 -04:00
rootiest 936f13f712 ci(docs): build and deploy the Starlight site to Cloudflare Pages
Adds Node setup, an Astro site build, and a wrangler Pages deploy step
to the existing docs workflow, gated on docs/site/** via the paths
trigger. Also fixes astro.config.mjs's site: URL to match the
fish-config-docs Cloudflare Pages project name (it previously pointed
at fish-config.pages.dev, which is not the project being deployed).
2026-07-25 23:10:54 -04:00
rootiest 3bb534f20b feat(docs): configure Starlight site with Catppuccin theme 2026-07-25 22:59:11 -04:00
rootiest c096433b5d feat(docs-site): scaffold Astro Starlight site
Scaffold docs/site/ via `npm create astro@latest ... --template
starlight`. Extend the docs collection schema in
src/content.config.ts with the four custom frontmatter fields (man,
site, manTitle, helpKeywords) needed by the generator in a later
task, using z.strictObject so unrecognized keys fail the build
instead of being silently stripped by Zod's default behavior.

Ignore generated site output (node_modules, dist, .astro, generated
content, and sidebar.json) in .gitignore.
2026-07-25 22:27:55 -04:00