v0.15.0
New `private = true` collection flag builds a collection's hub and pages but keeps them out of every public discovery surface (sitemap, llms.txt, search index, feeds, homepage) — for content placed behind Cloudflare Access or HTTP auth.
Private collections (gated content)
Collections can now be marked private = true to build fully while staying out of every public discovery surface. This is the missing piece for putting a section — like the bundled Trust Center — behind Cloudflare Access or HTTP auth without leaking it.
[[collections]]
name = "trust"
private = true
url_prefix = "/trust"
default_template = "trust-item.html"
What private does
- Builds everything. Every item page and the auto-generated hub/index page render normally — with the collection's index template and full context (
collections,data.*) — for the default language and every/{lang}/variant. Unlikelisted = false, the hub is not suppressed. - Hidden from discovery. The collection's pages are excluded from the homepage listing,
sitemap.xml,llms.txt,llms-full.txt,search-index.json, RSS/Atom feeds, and tag pages. noindex, nofollow. Every private page is stamped with<meta name="robots" content="noindex, nofollow">unless the page sets its ownrobotsfrontmatter.- Still navigable. Internal links resolve normally, and the
.mdalternates keep generating (they live under the gated path).
private is independent of listed: the hub renders even when the collection is hidden from the homepage. The build logs how many pages were excluded, e.g. 12 private pages excluded from discovery.
Backward compatible
Absent private (or private = false) is the existing behavior, byte-for-byte. The flag composes with subdomain, paginate, and the rest.