<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated by scripts/demo/regenerate-sitemap.php — re-run
     after shipping a new example. Last generated:
     2026-05-09T18:02:53Z -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>BuilderJS — Recently shipped examples</title>
    <link>https://builderjs.local/examples/</link>
    <atom:link href="https://builderjs.local/examples-rss.xml" rel="self" type="application/rss+xml" />
    <description>The latest BuilderJS buyer-package examples — basic, backend, cookbook, events, api, extensions, flows.</description>
    <language>en-us</language>
    <lastBuildDate>Sat, 09 May 2026 18:02:53 GMT</lastBuildDate>
    <generator>scripts/demo/regenerate-sitemap.php</generator>
    <item>
      <title>Basic #1 — Quick Start</title>
      <link>https://builderjs.local/examples/basic/1-quickstart/</link>
      <description>Five lines of HTML + JS — your users get a full drag-drop builder in under a minute.</description>
      <category>Basic</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/basic/1-quickstart</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Basic #2 — Hello World</title>
      <link>https://builderjs.local/examples/basic/2-hello-world/</link>
      <description>Click Save and watch JSON round-trip to disk. Same builder as Quick Start, plus a 30-line PSR-12 backend that you can swap for any database.</description>
      <category>Basic</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/basic/2-hello-world</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Basic #3 — Custom Theme</title>
      <link>https://builderjs.local/examples/basic/3-custom-theme/</link>
      <description>The directory layout BuilderJS reads. Fork themes/default/, change the brand block, edit one or two templates — every page across your product picks it up.</description>
      <category>Basic</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/basic/3-custom-theme</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Basic #4 — Light &amp; Dark Mode</title>
      <link>https://builderjs.local/examples/basic/4-dark-mode/</link>
      <description>One cookie shared across host page + builder canvas. Buyers get a system-preference default, a manual toggle, and a builder canvas that follows for free via CSS cascade — no JS bridge.</description>
      <category>Basic</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/basic/4-dark-mode</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Basic #5 — Multi-page</title>
      <link>https://builderjs.local/examples/basic/5-multi-page/</link>
      <description>Drop multiple Builder instances on one host page — header, body, footer side-by-side. Each carries its own JSON state; events stay scoped to the instance that emitted them.</description>
      <category>Basic</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/basic/5-multi-page</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Backend #1 — Save to MySQL</title>
      <link>https://builderjs.local/examples/backend/1-mysql/</link>
      <description>PDO + prepared statements with a SQLite fallback so it boots zero-config. One driver swap and the same handler talks to MySQL, MariaDB, or PostgreSQL.</description>
      <category>Backend</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/backend/1-mysql</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Backend #2 — Save Assets to S3</title>
      <link>https://builderjs.local/examples/backend/2-s3/</link>
      <description>Stream uploaded images to any S3-compatible store. Ships with a one-command MinIO docker-compose so dev runs without an AWS account.</description>
      <category>Backend</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/backend/2-s3</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Backend #3 — Session Auth</title>
      <link>https://builderjs.local/examples/backend/3-auth/</link>
      <description>Multi-user save flow scoped per session. Defaults to a flat users.json driver — swap one line for PDO when you go to production.</description>
      <category>Backend</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/backend/3-auth</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Backend #4 — Realtime Sync</title>
      <link>https://builderjs.local/examples/backend/4-realtime/</link>
      <description>Multi-tab live sync over a tiny PHP polling endpoint. Swap one function for Pusher / Ably / WebSocket without touching the save side.</description>
      <category>Backend</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/backend/4-realtime</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Cookbook #1 — Minimal — canvas + thin top strip</title>
      <link>https://builderjs.local/examples/cookbook/1-minimal/</link>
      <description>No widgets palette, no settings sidebar — just a 36 px header strip for a title or a Save button, and the editing canvas. Pick this when your host app already supplies the chrome.</description>
      <category>Cookbook</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/cookbook/1-minimal</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Cookbook #2 — Compact 2-col — canvas + right Settings</title>
      <link>https://builderjs.local/examples/cookbook/2-compact-2col/</link>
      <description>Read-mostly editor: text and colours come from the right-side Settings panel; no widgets palette. Pick this when content is authored elsewhere (CMS, AI, copy team) and the buyer&apos;s job is just polish.</description>
      <category>Cookbook</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/cookbook/2-compact-2col</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Cookbook #3 — Compact 3-col — widgets + canvas + settings</title>
      <link>https://builderjs.local/examples/cookbook/3-compact-3col/</link>
      <description>Classic app-chrome at 1024 px+. Drag from the left widget palette, edit on the canvas, polish on the right Settings panel. Tighter than the full demo builder — narrower 200 px / 240 px sidebars leave more canvas room for embed in a denser host app.</description>
      <category>Cookbook</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/cookbook/3-compact-3col</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Cookbook #4 — Rich 3-col + header — full SaaS chrome</title>
      <link>https://builderjs.local/examples/cookbook/4-rich-3col-header/</link>
      <description>Three sub-systems wired (widgets · canvas · settings) plus an in-wrapper 48 px header strip carrying Save / Undo / Redo / Export / Preview. First cookbook entry where action buttons live INSIDE the engine&apos;s wrapper, not in a host toolbar above it. Pick this when your host app delegates the whole top-of-editor area to BuilderJS.</description>
      <category>Cookbook</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/cookbook/4-rich-3col-header</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Cookbook #5 — Sidebar only — floating Settings overlay</title>
      <link>https://builderjs.local/examples/cookbook/5-sidebar-only/</link>
      <description>Canvas takes the full wrapper; Settings floats absolutely top-right with shadow + rounded corners. No widgets palette, no inline sidebar — &quot;edit in place&quot; feel for host pages where the canvas is primarily a viewer and edits are occasional. Click any canvas element → settings appear in the floating panel; click another → settings re-render. Same engine, different chrome silhouette.</description>
      <category>Cookbook</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/cookbook/5-sidebar-only</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Cookbook #6 — Canvas only — no chrome, programmatic-edit only</title>
      <link>https://builderjs.local/examples/cookbook/6-canvas-only/</link>
      <description>No widgets palette. No settings panel. No header. The wrapper has no border, no radius, no background — just the canvas. Every action — selection, mode toggle, save — comes from a method on builder. Pick this when your host app drives mutations programmatically (server-side AI generator, headless test rig, integration suite) or when the host already paints its own chrome around the canvas.</description>
      <category>Cookbook</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/cookbook/6-canvas-only</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Cookbook #7 — Mobile — tab-based chrome (Widgets / Canvas / Settings)</title>
      <link>https://builderjs.local/examples/cookbook/7-mobile/</link>
      <description>Phone-friendly chrome: a top tab strip swaps which sub-system fills the body. All three sub-systems are mounted (no null args) — only ONE is visible at a time, driven by the wrapper&apos;s data-mobile-tab attribute. Pick this when canvas + sidebars don&apos;t fit side-by-side at narrow viewports (375 px – 600 px), or when buyers prefer a tap-one-at-a-time flow over juggling 3 columns. Same engine, same API, different chrome geometry.</description>
      <category>Cookbook</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/cookbook/7-mobile</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Cookbook #8 — Card — dashboard tile (360 × 420 fixed)</title>
      <link>https://builderjs.local/examples/cookbook/8-card/</link>
      <description>Builder embedded as a small card alongside other dashboard widgets. Fixed 360 × 420 footprint + rounded corners + drop shadow — the only cookbook variant with explicit pixel dimensions. DOUBLE null-arg pattern (no widgets palette, no settings sidebar): the card has room for a 40-px header + canvas only. Pick this when the Builder is one of N tiles on a dashboard, not the page-defining feature.</description>
      <category>Cookbook</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/cookbook/8-card</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Events #1 — document:changed — last-modified pill</title>
      <link>https://builderjs.local/examples/events/1-document-changed/</link>
      <description>Subscribe to the engine&apos;s `document:changed` event and update a host-side pill on every edit. The bus debounces internally at 120 ms — one host-visible signal per typing burst, not per keystroke.</description>
      <category>Events</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/events/1-document-changed</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Events #2 — element:added / element:removed — live activity log</title>
      <link>https://builderjs.local/examples/events/2-element-added-removed/</link>
      <description>Subscribe to both element:added and element:removed on the same bus, render a bounded list of the last N mutations. Each event carries { elementUid, elementType } — enough to identify what changed without serializing the page tree.</description>
      <category>Events</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/events/2-element-added-removed</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
    <item>
      <title>Events #3 — history:change — external Undo/Redo buttons</title>
      <link>https://builderjs.local/examples/events/3-history-change/</link>
      <description>Subscribe to history:change and drive your own Undo/Redo buttons OUTSIDE the engine chrome. The payload carries { canUndo, canRedo, size, currentIndex } — enough to drive button state and a &quot;step N of M&quot; pill from a single signal.</description>
      <category>Events</category>
      <guid isPermaLink="false">https://builderjs.local/examples-rss/events/3-history-change</guid>
      <pubDate>Sat, 09 May 2026 16:38:11 GMT</pubDate>
    </item>
  </channel>
</rss>
