0.2.0 release - #30
Merged
Merged
Conversation
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
With v0.1.26 and v0.1.27 merged into a single Unreleased section, the hub's two paired changes land in one PR alongside one pin bump, so the "ordering differs between them" caveat no longer applies. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: Kristin Brown <kristin.brown@solo.io>
The gate-blockhtml cases moved into the content page itself (routing them through reuse normalized the form before rendering, which silently turned the angle cases into percent and erased the distinction under test), so blockhtml-a/b/c.md have no referents. agentgateway-oss-website's shadow set changed four times in one session as that clone moved between branches. Snapshot it against kkb-theme-upgrade @3769c7c2 and say so in OVERRIDES.md, so a red ratchet points at the branch rather than at the module. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Piloted site-local on ambientmesh.io, now proven enough to share: layouts/docs/list.book.html, assets/css/print-book.css, and layouts/_partials/utils/shift-headings.html move here so the next consumer that wants a downloadable docs PDF doesn't re-solve the same problems (real tab names, heading levels, empty-section dividers, running-header breadcrumbs, internal cross-references as in-PDF jumps). Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Moving print-book.css into the module (previous commit) eliminated ambientmesh.io's last remaining duplicate of it, exactly as override-parity.spec.ts's own failure message asked. Signed-off-by: Kristin Brown <kristin.brown@solo.io>
…peline Lets a consumer's Makefile curl it from GitHub pinned to the same go.mod version already used for the Hugo-side pieces, instead of keeping a site-local copy that drifts. Parameterizes the two hardcoded constants (PROD_HOST, BOOK_PATH) into env vars so the fetched file needs no editing. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Kristin Brown <kristin.brown@solo.io>
…ample \`require github.com/x/y v1.2.3\` has the version in \$3, not \$2 — the leading \`require\` keyword shifts every field over by one. Caught by actually running the snippet against ambientmesh.io's go.mod, where it grabbed the module path instead of the version and 404'd the curl. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Leftover from parameterizing PROD_HOST/BOOK_PATH in beta.7: the pre-flight existence check still hardcoded public/docs/book.html, so any consumer whose book output lands somewhere else (e.g. a versioned site's /docs/envoy/latest/book.html) fails immediately even though the file exists. Caught trying this against kgateway-oss, the first versioned consumer. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Kristin Brown <kristin.brown@solo.io>
…d.js's document-size ceiling Single-document pagination never completed against kgateway-oss's real 253-page "latest" docset, even given 5 minutes — bisection showed worse-than-linear scaling, and independent reports (including WeasyPrint, a different rendering engine entirely) confirm this is inherent to monolithic CSS Paged Media rendering, not a Paged.js-specific bug. - render-pdf.mjs accepts PDF_BOOK_PATHS (plural) and merges per-chunk PDFs via pdf-lib, offsetting each chunk's outline into one continuous bookmark tree. PDF_BOOK_PATH (singular) keeps its exact pre-chunking fast path. - bookChunkRoot: true front matter renders a chunk's own section title as its first chapter, so a merged multi-chunk PDF keeps its section groupings. - New layouts/docs/single.book.html (leaf pages silently used the wrong template before, never loading Paged.js at all) — both book layouts are now thin wrappers around a shared _partials/docs/book-document.html. - Fixed a real dead-link bug the chunking exposed: a same-origin, out-of-book link resolved to the throwaway local server instead of the production host, the exact bug this rewrite exists to prevent. Verified: ambientmesh.io's single-document output is byte-for-byte unchanged (238 pages, 50 TOC entries, before and after). kgateway-oss's real "latest" docset, split into 14 section chunks, merges into one 1709-page PDF with 14 correct top-level bookmarks in 28 seconds — the same docset that never finished as a single document. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
The pre-existing "empty landing page gets a centered divider" rule was designed for a single-document book, where it's the only kind of section boundary there is. In a chunked book it fired on the wrong page: an ordinary nested empty page (kgateway's setup/listeners/) got centered instead of the chunk's own root (setup/, "Gateway setup") — the two had swapped roles from what a reader expects once every chunk gets its own title page. Chunk roots now always get a centered title (via new .pdf-chunk-title, distinct from the full-page .pdf-divider so real content isn't buried under 10cm of top padding or dropped); descendants never get the divider treatment even when empty, since the chunk already has a title page. A single-document book (ambientmesh.io, which never sets bookChunkRoot) is unaffected — the new $chunked flag is false throughout its walk, so its own nested empty landing pages keep exactly the behavior they already had. Also documents cascade as the way to set outputs/bookChunkRoot on every section at once instead of hand-editing each one, found while fixing this on a real kgateway-oss rebuild. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Every chunk's book.html renders a full cover + "Contents" page, since Hugo has no idea at build time its output will be merged with others. Left as-is, kgateway-oss's 14 chunks stacked 14 title pages and 14 separate, individually incomplete "Contents" pages (each only ever lists its own descendants) into one PDF. renderChunk() takes new keepCover/keepToc options (both default true, so a single-document book like ambientmesh.io's is completely unaffected); the multi-chunk loop keeps the cover on chunk 0 only and drops every chunk's TOC, relying on the PDF's own bookmark sidebar for navigation instead. Verified: kgateway-oss's merged PDF now opens on one cover page straight into chapter content, no Contents page anywhere (1681 pages, down from 1709). ambientmesh.io unchanged (238 pages, 50 TOC entries, cover + Contents intact). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Kristin Brown <kristin.brown@solo.io>
…s in the PDF book pipeline Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
…ass too The prior re-enable of this spec assumed the singular hextra-tab-panel selector was a stale Hextra-version leftover and switched to match only Hextra's plural hextra-tabs-panel. It wasn't stale: docs's own tabs.html override still ships the singular class deliberately, and copy-markdown.html already treats both shapes as valid. Widen the panel-boundary lookup to accept either. Signed-off-by: Kristin Brown <kristin.brown@solo.io>
Rachael-Graham
approved these changes
Aug 20, 2026
Signed-off-by: Kristin Brown <kristin.brown@solo.io>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.