The public website for the tebako packaging and loading ecosystem: marketing pages, how-to guides, architecture documentation, reference material, and the blog.
Built with Astro 7 (static output), Tailwind CSS 4, and Vue islands for the interactive chrome (theme toggle, mobile menu, search, hero animation). Search is Pagefind, built after the static build.
npm install npm run dev # http://localhost:4321 npm run build # dist/ + Pagefind index npm run preview # serve the production build npm run check # astro check (types/templates) npm test # vitest — docs registry invariants
|
Routes. Top-level pages plus |
|
|
|
Single source for site metadata, top nav, footer links. |
|
Single source for docs navigation: sections, order, labels, hrefs, and `live |
planned` status. |
|
Astro components plus Vue islands and |
|
Theme tokens (paper/ink light + dark), prose and component styles. |
|
Blog source — AsciiDoc, loaded by the custom content
loader ( |
|
Blog imagery referenced by posts. Live content. |
|
-
Create an AsciiDoc entry at
_docs/<section>/<slug>.adocwith frontmatter:title,description, optionalheadingandlede. The dynamic[slug].astroroute renders it throughDocsLayoutautomatically. -
Add one entry to the matching section in
src/config/docs.ts.
That is the whole contract. npm test fails if the entry and the file
disagree; navigation, numbering, breadcrumbs, and prev/next follow the
registry automatically. Pages that are planned but unwritten carry
status: 'planned' and an honest stub page — never a dead link.
The Jekyll era is fully retired: the theme hub, Ruby tooling files,
and the old build outputs are gone. What remains from that era is
intentional: _posts/ and assets/ are the live blog source and
imagery, and _drafts/ holds unpublished posts held for release-time
publication.