[{"data":1,"prerenderedAt":169},["ShallowReactive",2],{"duxt-navigation-docs_demo-docs_demo":3,"i-lucide:plug":25,"i-lucide:git-compare":30,"i-lucide:tag":32,"i-lucide:book-open-text":34,"i-lucide:library":36,"docs-en-GB-\u002Fdemo":38,"i-lucide:thumbs-up":137,"i-lucide:thumbs-down":139,"i-lucide:star":141,"i-lucide:circle-alert":143,"i-simple-icons:discord":145,"i-lucide:arrow-up-right":147,"i-lucide:pencil":149,"i-lucide:copy":151,"i-lucide:menu":153,"i-lucide:chevron-down":155,"i-lucide:search":157,"i-simple-icons:github":159,"i-flag:gb-4x3":161,"i-lucide:moon":165,"i-lucide:arrow-right":167},[4],{"title":5,"path":6,"stem":7,"children":8,"page":-1},"Overview","\u002Fdemo","demo",[9,13,19],{"title":5,"path":6,"stem":10,"icon":11,"description":12},"demo\u002Findex","lucide:book-open-text","Explore an invented freight API and a sample changelog, rendered as generated sections in one demo area.",{"title":14,"path":15,"stem":16,"icon":17,"description":18},"The four versions","\u002Fdemo\u002Fversions","demo\u002F1.versions","lucide:git-compare","One artefact at four versions, and the four things a reader can be told about the one they are in.",{"title":20,"path":21,"stem":22,"icon":23,"description":24},"A source of its own","\u002Fdemo\u002Fsource","demo\u002F2.source","lucide:library","Why the demo API and changelog share a source beside the documentation.",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":29},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 22v-5m3-9V2m2 6a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1zM9 8V2\"\u002F>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":31},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"18\" cy=\"18\" r=\"3\"\u002F>\u003Ccircle cx=\"6\" cy=\"6\" r=\"3\"\u002F>\u003Cpath d=\"M13 6h3a2 2 0 0 1 2 2v7m-7 3H8a2 2 0 0 1-2-2V9\"\u002F>\u003C\u002Fg>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":33},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z\"\u002F>\u003Ccircle cx=\"7.5\" cy=\"7.5\" r=\".5\" fill=\"currentColor\"\u002F>\u003C\u002Fg>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":35},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 5v16m4-8h2m-2-4h2m2.001 10A2 2 0 0 0 22 17V5a2 2 0 0 0-1.999-2L16 3.002A5 5 0 0 0 12 5a5 5 0 0 0-4-2H4a2 2 0 0 0-2 2v12a2 2 0 0 0 1.999 2H8a5 5 0 0 1 4 2a5 5 0 0 1 4-2zM6 13h2M6 9h2\"\u002F>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":37},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m16 6l4 14M12 6v14M8 8v12M4 4v16\"\u002F>",{"page":39,"from":136,"asked":136},{"id":40,"title":5,"body":41,"compare":125,"contributors":126,"date":125,"description":12,"extension":129,"icon":11,"lastUpdated":130,"layout":125,"meta":131,"navigation":28,"path":6,"rawbody":132,"redirectFrom":125,"seo":133,"sitemap":134,"stem":10,"__hash__":135},"docs_demo\u002Fdemo\u002Findex.md",{"type":42,"value":43,"toc":120},"minimark",[44,48,51,59,62,67,117],[45,46,47],"p",{},"This area shows how duxt turns different source files into pages. The API\nreference and demo changelog share this area's section row, while each uses\nthe layout suited to its content.",[45,49,50],{},"Harbour is an API this site made up. It moves consignments through berths, it\nhas four versions, and — one endpoint aside — nothing answers on any of them.",[45,52,53,54,58],{},"It exists to be ",[55,56,57],"strong",{},"rendered",": every construct OpenAPI 3.1 has that is awkward to\ndraw is somewhere in these documents, so the reference pages duxt builds are\nexercised by a real build rather than described in a test.",[45,60,61],{},"The demo changelog is a separate fixture, with feature, fix and breaking-change\nentries and several heading levels. It renders as one continuous page; these\nsample versions are not releases of the duxt package.",[63,64,66],"h2",{"id":65},"where-to-start","Where to start",[68,69,70,79,86,98],"ul",{},[71,72,73,78],"li",{},[74,75,77],"a",{"href":76},"\u002Fdemo\u002Fchangelog","Demo Changelog"," — a complete release history on one page,\nshowing the flat changelog layout.",[71,80,81,85],{},[74,82,84],{"href":83},"\u002Fdemo\u002Fapi","The reference"," — the overview, then a page per tag and a page per\noperation.",[71,87,88,92,93,97],{},[74,89,91],{"href":90},"\u002Fdemo\u002Fapi\u002Fconsignments\u002Fcreateconsignment","Book a consignment"," — two request\nbodies, a callback and a ",[94,95,96],"code",{},"Location"," header.",[71,99,100,104,105,108,109,112,113,116],{},[74,101,103],{"href":102},"\u002Fdemo\u002Fapi\u002Fdemo\u002Fechoconsignment","Book a demo consignment"," — ",[55,106,107],{},"the one\noperation that is real."," A route in ",[94,110,111],{},"www\u002Fserver\u002F"," answers it, so the try-it\nclient sends a request from your browser and gets a ",[94,114,115],{},"201"," back.",[118,119],"page-cards",{},{"title":121,"searchDepth":122,"depth":122,"links":123},"",2,[124],{"id":65,"depth":122,"text":66},null,[127],{"name":128,"commits":122},"Titus Kirch","md","2026-09-10T03:39:27+02:00",{},"---\ntitle: Overview\ndescription: Explore an invented freight API and a sample changelog, rendered as generated sections in one demo area.\nicon: lucide:book-open-text\n---\n\nThis area shows how duxt turns different source files into pages. The API\nreference and demo changelog share this area's section row, while each uses\nthe layout suited to its content.\n\nHarbour is an API this site made up. It moves consignments through berths, it\nhas four versions, and — one endpoint aside — nothing answers on any of them.\n\nIt exists to be **rendered**: every construct OpenAPI 3.1 has that is awkward to\ndraw is somewhere in these documents, so the reference pages duxt builds are\nexercised by a real build rather than described in a test.\n\nThe demo changelog is a separate fixture, with feature, fix and breaking-change\nentries and several heading levels. It renders as one continuous page; these\nsample versions are not releases of the duxt package.\n\n## Where to start\n\n- [Demo Changelog](\u002Fdemo\u002Fchangelog) — a complete release history on one page,\n  showing the flat changelog layout.\n- [The reference](\u002Fdemo\u002Fapi) — the overview, then a page per tag and a page per\n  operation.\n- [Book a consignment](\u002Fdemo\u002Fapi\u002Fconsignments\u002Fcreateconsignment) — two request\n  bodies, a callback and a `Location` header.\n- [Book a demo consignment](\u002Fdemo\u002Fapi\u002Fdemo\u002Fechoconsignment) — **the one\n  operation that is real.** A route in `www\u002Fserver\u002F` answers it, so the try-it\n  client sends a request from your browser and gets a `201` back.\n\n::page-cards\n::\n",{"title":5,"description":12},{"loc":6},"0Ds2RVKhl0AztY2NPv-Ayd5YDt43UEB70zRtnsYi_bo","en-GB",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":138},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 5.88L14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88M7 10v12\"\u002F>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":140},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 18.12L10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88M17 14V2\"\u002F>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":142},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.12 2.12 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.12 2.12 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16z\"\u002F>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":144},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M12 8v4m0 4h.01\"\u002F>\u003C\u002Fg>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":146},"\u003Cpath fill=\"currentColor\" d=\"M20.317 4.37a19.8 19.8 0 0 0-4.885-1.515a.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.3 18.3 0 0 0-5.487 0a13 13 0 0 0-.617-1.25a.08.08 0 0 0-.079-.037A19.7 19.7 0 0 0 3.677 4.37a.1.1 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.08.08 0 0 0 .031.057a19.9 19.9 0 0 0 5.993 3.03a.08.08 0 0 0 .084-.028a14 14 0 0 0 1.226-1.994a.076.076 0 0 0-.041-.106a13 13 0 0 1-1.872-.892a.077.077 0 0 1-.008-.128a10 10 0 0 0 .372-.292a.07.07 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.07.07 0 0 1 .078.01q.181.149.373.292a.077.077 0 0 1-.006.127a12.3 12.3 0 0 1-1.873.892a.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.08.08 0 0 0 .084.028a19.8 19.8 0 0 0 6.002-3.03a.08.08 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.06.06 0 0 0-.031-.03M8.02 15.33c-1.182 0-2.157-1.085-2.157-2.419c0-1.333.956-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.956 2.418-2.157 2.418m7.975 0c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.955-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.946 2.418-2.157 2.418\"\u002F>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":148},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 7h10v10M7 17L17 7\"\u002F>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":150},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497zM15 5l4 4\"\u002F>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":152},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fg>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":154},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":156},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 9l6 6l6-6\"\u002F>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":158},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m21 21l-4.34-4.34\"\u002F>\u003Ccircle cx=\"11\" cy=\"11\" r=\"8\"\u002F>\u003C\u002Fg>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":160},"\u003Cpath fill=\"currentColor\" d=\"M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"\u002F>",{"left":26,"top":26,"width":162,"height":163,"rotate":26,"vFlip":28,"hFlip":28,"body":164},640,480,"\u003Cpath fill=\"#012169\" d=\"M0 0h640v480H0z\"\u002F>\u003Cpath fill=\"#fff\" d=\"m75 0l244 181L562 0h78v62L400 241l240 178v61h-80L320 301L81 480H0v-60l239-178L0 64V0z\"\u002F>\u003Cpath fill=\"#c8102e\" d=\"m424 281l216 159v40L369 281zm-184 20l6 35L54 480H0zM640 0v3L391 191l2-44L590 0zM0 0l239 176h-60L0 42z\"\u002F>\u003Cpath fill=\"#fff\" d=\"M241 0v480h160V0zM0 160v160h640V160z\"\u002F>\u003Cpath fill=\"#c8102e\" d=\"M0 193v96h640v-96zM273 0v480h96V0z\"\u002F>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":166},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"\u002F>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":168},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-7-7l7 7l-7 7\"\u002F>",1789004648641]