[{"data":1,"prerenderedAt":170},["ShallowReactive",2],{"duxt-navigation-docs_demo-docs_demo":3,"i-lucide:plug":25,"i-lucide:tag":30,"i-lucide:book-open-text":32,"i-lucide:git-compare":34,"i-lucide:library":36,"i-lucide:menu":38,"i-lucide:chevron-down":40,"i-lucide:search":42,"i-simple-icons:github":44,"i-flag:us-4x3":46,"i-lucide:moon":50,"docs-en-US-\u002Fdemo":52,"i-lucide:copy":152,"i-lucide:thumbs-up":154,"i-lucide:thumbs-down":156,"i-lucide:star":158,"i-lucide:circle-alert":160,"i-simple-icons:discord":162,"i-lucide:arrow-up-right":164,"i-lucide:pencil":166,"i-lucide:arrow-right":168},[4],{"title":5,"path":6,"stem":7,"children":8},"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\">\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":33},"\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":35},"\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":37},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m16 6l4 14M12 6v14M8 8v12M4 4v16\"\u002F>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":39},"\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":41},"\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":43},"\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":45},"\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":47,"height":48,"rotate":26,"vFlip":28,"hFlip":28,"body":49},640,480,"\u003Cpath fill=\"#bd3d44\" d=\"M0 0h640v480H0\"\u002F>\u003Cpath stroke=\"#fff\" stroke-width=\"37\" d=\"M0 55.3h640M0 129h640M0 203h640M0 277h640M0 351h640M0 425h640\"\u002F>\u003Cpath fill=\"#192f5d\" d=\"M0 0h364.8v258.5H0\"\u002F>\u003Cmarker id=\"SVGEq3dreKJ\" markerHeight=\"30\" markerWidth=\"30\">\u003Cpath fill=\"#fff\" d=\"m14 0l9 27L0 10h28L5 27z\"\u002F>\u003C\u002Fmarker>\u003Cpath fill=\"none\" marker-mid=\"url(#SVGEq3dreKJ)\" d=\"m0 0l16 11h61h61h61h61h60L47 37h61h61h60h61L16 63h61h61h61h61h60L47 89h61h61h60h61L16 115h61h61h61h61h60L47 141h61h61h60h61L16 166h61h61h61h61h60L47 192h61h61h60h61L16 218h61h61h61h61h60z\"\u002F>",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":51},"\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>",{"page":53,"from":150,"asked":151},{"id":54,"title":5,"body":55,"compare":139,"contributors":140,"date":139,"description":12,"extension":143,"icon":11,"lastUpdated":144,"layout":139,"meta":145,"navigation":28,"path":6,"rawbody":146,"redirectFrom":139,"seo":147,"sitemap":148,"stem":10,"__hash__":149},"docs_demo\u002Fdemo\u002Findex.md",{"type":56,"value":57,"toc":134},"minimark",[58,62,65,73,76,81,131],[59,60,61],"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.",[59,63,64],{},"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.",[59,66,67,68,72],{},"It exists to be ",[69,70,71],"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.",[59,74,75],{},"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.",[77,78,80],"h2",{"id":79},"where-to-start","Where to start",[82,83,84,93,100,112],"ul",{},[85,86,87,92],"li",{},[88,89,91],"a",{"href":90},"\u002Fdemo\u002Fchangelog","Demo Changelog"," — a complete release history on one page,\nshowing the flat changelog layout.",[85,94,95,99],{},[88,96,98],{"href":97},"\u002Fdemo\u002Fapi","The reference"," — the overview, then a page per tag and a page per\noperation.",[85,101,102,106,107,111],{},[88,103,105],{"href":104},"\u002Fdemo\u002Fapi\u002Fconsignments\u002Fcreateconsignment","Book a consignment"," — two request\nbodies, a callback and a ",[108,109,110],"code",{},"Location"," header.",[85,113,114,118,119,122,123,126,127,130],{},[88,115,117],{"href":116},"\u002Fdemo\u002Fapi\u002Fdemo\u002Fechoconsignment","Book a demo consignment"," — ",[69,120,121],{},"the one\noperation that is real."," A route in ",[108,124,125],{},"www\u002Fserver\u002F"," answers it, so the try-it\nclient sends a request from your browser and gets a ",[108,128,129],{},"201"," back.",[132,133],"page-cards",{},{"title":135,"searchDepth":136,"depth":136,"links":137},"",2,[138],{"id":79,"depth":136,"text":80},null,[141],{"name":142,"commits":136},"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","en-US",{"left":26,"top":26,"width":27,"height":27,"rotate":26,"vFlip":28,"hFlip":28,"body":153},"\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":155},"\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":157},"\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":159},"\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":161},"\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":163},"\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":165},"\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":167},"\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":169},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-7-7l7 7l-7 7\"\u002F>",1789004657356]