Skip to content

Phase 2: rebuild docs site as Lume site to dogfood hibana's own plugins #7

Description

@RickCogley

Background

Hibana's docs site (now live at https://hibana-docs.esolia.workers.dev/, see #5/#6) is built with Astro Starlight — consistent with nagare/aichaku/marquis but missing the dogfooding angle.

Goal

Rebuild the docs site as a Lume site that uses Hibana's own plugins to power its own documentation. "Hibana powers its own docs" is a strong demo of what the library does.

Scope

Replace docs-site/ with a Lume project that uses:

  • ventoTOC + ventoTOCInject — auto-generated table of contents on each page
  • ventoHeadingAnchors — clickable anchor links on headings
  • externalLinksIcon — external-link indicators
  • deferPagefind — Pagefind-based search with deferred CSS/JS loading
  • cssBanner — banner comment in compiled CSS
  • (Optionally) shuffle — for any randomized content (testimonials, related-links, etc.)

Build output goes to docs-site/_site/ (Lume default), which the existing wrangler.jsonc deploys via the assets.directory binding (just change the path from ./dist to ./_site).

Trade-offs vs current Astro Starlight site

Loses:

  • Polished out-of-the-box theme — Lume has no docs-specific theme equivalent to Starlight, so layouts/CSS/sidebar/navigation must be hand-built.
  • Pagefind UI styling that Starlight ships — would need custom styling (or use deferPagefind + Pagefind's default UI).

Gains:

  • Demonstrates every major Hibana plugin in production
  • Library and docs site share the same build pipeline (Deno + Lume)
  • One less language ecosystem (no Node + npm + Astro to maintain — pure Deno)

Acceptance criteria

  • docs-site/_config.ts uses ventoTOC, ventoHeadingAnchors, externalLinksIcon, deferPagefind, cssBanner
  • wrangler.jsonc updated to point at _site/ instead of dist/
  • CI workflow updated to run lume instead of npm run build
  • Live site has feature parity (or close to it) with the current Starlight site — homepage, API ref under /api/, working search
  • All four security headers still applied via _headers

Effort estimate

Roughly half a day to a day depending on how much custom CSS/layout work is acceptable. A "minimum-viable Lume docs site" with default-styled Pagefind and a single layout is probably 4 hours.

Reference

InfoSec: no security impact — same static-asset hosting model, same _headers file.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions