[{"data":1,"prerenderedAt":1758},["ShallowReactive",2],{"navigation":3,"\u002Feditors\u002Fmarkdown":629,"\u002Feditors\u002Fmarkdown-surround":1753},[4,27,60,265,595,625],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":26},"Getting started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,14,18,22],{"title":11,"path":12,"stem":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Editors","\u002Fgetting-started\u002Feditors","1.getting-started\u002F2.editors",{"title":19,"path":20,"stem":21},"Editor API","\u002Fgetting-started\u002Feditor-api","1.getting-started\u002F3.editor-api",{"title":23,"path":24,"stem":25},"Migration v1 → v2","\u002Fgetting-started\u002Fmigration-v1-to-v2","1.getting-started\u002F4.migration-v1-to-v2",false,{"title":15,"icon":28,"path":29,"stem":30,"children":31,"page":26},"i-lucide-layout-panel-left","\u002Feditors","2.editors",[32,36,40,44,48,52,56],{"title":33,"path":34,"stem":35},"JSON Editor","\u002Feditors\u002Fjson","2.editors\u002F1.json",{"title":37,"path":38,"stem":39},"Markdown Editor","\u002Feditors\u002Fmarkdown","2.editors\u002F2.markdown",{"title":41,"path":42,"stem":43},"Code Editor","\u002Feditors\u002Fcode","2.editors\u002F3.code",{"title":45,"path":46,"stem":47},"Forms Editor","\u002Feditors\u002Fforms","2.editors\u002F4.forms",{"title":49,"path":50,"stem":51},"Charts Editor","\u002Feditors\u002Fcharts","2.editors\u002F5.charts",{"title":53,"path":54,"stem":55},"Calendar Editor","\u002Feditors\u002Fcalendar","2.editors\u002F6.calendar",{"title":57,"path":58,"stem":59},"Tables Editor","\u002Feditors\u002Ftables","2.editors\u002F7.tables",{"title":61,"icon":62,"path":63,"stem":64,"children":65,"page":26},"Plugins","i-lucide-puzzle","\u002Fplugins","3.plugins",[66,70,108,154,180,210,235],{"title":67,"path":68,"stem":69},"Plugins overview","\u002Fplugins\u002Foverview","3.plugins\u002F1.overview",{"title":71,"icon":72,"path":73,"stem":74,"children":75,"page":26},"Formatting","i-lucide-type","\u002Fplugins\u002Fformatting","3.plugins\u002F2.formatting",[76,80,84,88,92,96,100,104],{"title":77,"path":78,"stem":79},"Default marks","\u002Fplugins\u002Fformatting\u002Ftoolbar","3.plugins\u002F2.formatting\u002F1.toolbar",{"title":81,"path":82,"stem":83},"Font","\u002Fplugins\u002Fformatting\u002Ffont","3.plugins\u002F2.formatting\u002F2.font",{"title":85,"path":86,"stem":87},"Typography","\u002Fplugins\u002Fformatting\u002Ftypography","3.plugins\u002F2.formatting\u002F3.typography",{"title":89,"path":90,"stem":91},"Color","\u002Fplugins\u002Fformatting\u002Fcolor","3.plugins\u002F2.formatting\u002F4.color",{"title":93,"path":94,"stem":95},"Clear Styles","\u002Fplugins\u002Fformatting\u002Fclear-styles","3.plugins\u002F2.formatting\u002F5.clear-styles",{"title":97,"path":98,"stem":99},"Alignment","\u002Fplugins\u002Fformatting\u002Falignment","3.plugins\u002F2.formatting\u002F6.alignment",{"title":101,"path":102,"stem":103},"Block Style","\u002Fplugins\u002Fformatting\u002Fblock-style","3.plugins\u002F2.formatting\u002F7.block-style",{"title":105,"path":106,"stem":107},"Link","\u002Fplugins\u002Fformatting\u002Flink","3.plugins\u002F2.formatting\u002F8.link",{"title":109,"icon":110,"path":111,"stem":112,"children":113,"page":26},"Blocks","i-lucide-blocks","\u002Fplugins\u002Fblocks","3.plugins\u002F3.blocks",[114,118,122,126,130,134,138,142,146,150],{"title":115,"path":116,"stem":117},"Block","\u002Fplugins\u002Fblocks\u002Fblock","3.plugins\u002F3.blocks\u002F01.block",{"title":119,"path":120,"stem":121},"Lists","\u002Fplugins\u002Fblocks\u002Flists","3.plugins\u002F3.blocks\u002F02.lists",{"title":123,"path":124,"stem":125},"Table","\u002Fplugins\u002Fblocks\u002Ftable","3.plugins\u002F3.blocks\u002F03.table",{"title":127,"path":128,"stem":129},"Templates","\u002Fplugins\u002Fblocks\u002Ftemplates","3.plugins\u002F3.blocks\u002F04.templates",{"title":131,"path":132,"stem":133},"Code Block","\u002Fplugins\u002Fblocks\u002Fcode-block","3.plugins\u002F3.blocks\u002F05.code-block",{"title":135,"path":136,"stem":137},"Math","\u002Fplugins\u002Fblocks\u002Fmath","3.plugins\u002F3.blocks\u002F06.math",{"title":139,"path":140,"stem":141},"HTML Viewer","\u002Fplugins\u002Fblocks\u002Fhtml-viewer","3.plugins\u002F3.blocks\u002F07.html-viewer",{"title":143,"path":144,"stem":145},"Footnotes","\u002Fplugins\u002Fblocks\u002Ffootnotes","3.plugins\u002F3.blocks\u002F08.footnotes",{"title":147,"path":148,"stem":149},"Anchor Link","\u002Fplugins\u002Fblocks\u002Fanchor-link","3.plugins\u002F3.blocks\u002F09.anchor-link",{"title":151,"path":152,"stem":153},"Footer","\u002Fplugins\u002Fblocks\u002Ffooter","3.plugins\u002F3.blocks\u002F10.footer",{"title":155,"icon":156,"path":157,"stem":158,"children":159,"page":26},"Media","i-lucide-image","\u002Fplugins\u002Fmedia","3.plugins\u002F4.media",[160,164,168,172,176],{"title":161,"path":162,"stem":163},"Image","\u002Fplugins\u002Fmedia\u002Fimage","3.plugins\u002F4.media\u002F1.image",{"title":165,"path":166,"stem":167},"Video","\u002Fplugins\u002Fmedia\u002Fvideo","3.plugins\u002F4.media\u002F2.video",{"title":169,"path":170,"stem":171},"YouTube Video","\u002Fplugins\u002Fmedia\u002Fyoutube-video","3.plugins\u002F4.media\u002F3.youtube-video",{"title":173,"path":174,"stem":175},"File Upload","\u002Fplugins\u002Fmedia\u002Ffile-upload","3.plugins\u002F4.media\u002F4.file-upload",{"title":177,"path":178,"stem":179},"PDF Embed","\u002Fplugins\u002Fmedia\u002Fpdf-embed","3.plugins\u002F4.media\u002F5.pdf-embed",{"title":181,"icon":182,"path":183,"stem":184,"children":185,"page":26},"Data & embeds","i-lucide-database","\u002Fplugins\u002Fdata","3.plugins\u002F5.data",[186,190,194,198,202,206],{"title":187,"path":188,"stem":189},"JSON","\u002Fplugins\u002Fdata\u002Fjson","3.plugins\u002F5.data\u002F1.json",{"title":191,"path":192,"stem":193},"Markdown","\u002Fplugins\u002Fdata\u002Fmarkdown","3.plugins\u002F5.data\u002F2.markdown",{"title":195,"path":196,"stem":197},"Charts","\u002Fplugins\u002Fdata\u002Fcharts","3.plugins\u002F5.data\u002F3.charts",{"title":199,"path":200,"stem":201},"Form Builder","\u002Fplugins\u002Fdata\u002Fform-builder","3.plugins\u002F5.data\u002F4.form-builder",{"title":203,"path":204,"stem":205},"Calendar","\u002Fplugins\u002Fdata\u002Fcalendar","3.plugins\u002F5.data\u002F5.calendar",{"title":207,"path":208,"stem":209},"Timer","\u002Fplugins\u002Fdata\u002Ftimer","3.plugins\u002F5.data\u002F6.timer",{"title":211,"icon":212,"path":213,"stem":214,"children":215,"page":26},"Collaboration","i-lucide-users","\u002Fplugins\u002Fcollaboration","3.plugins\u002F6.collaboration",[216,219,223,227,231],{"title":211,"path":217,"stem":218},"\u002Fplugins\u002Fcollaboration\u002Fcollaboration","3.plugins\u002F6.collaboration\u002F1.collaboration",{"title":220,"path":221,"stem":222},"Comments","\u002Fplugins\u002Fcollaboration\u002Fcomments","3.plugins\u002F6.collaboration\u002F2.comments",{"title":224,"path":225,"stem":226},"Mentions","\u002Fplugins\u002Fcollaboration\u002Fmentions","3.plugins\u002F6.collaboration\u002F3.mentions",{"title":228,"path":229,"stem":230},"Track Changes","\u002Fplugins\u002Fcollaboration\u002Ftrack-changes","3.plugins\u002F6.collaboration\u002F4.track-changes",{"title":232,"path":233,"stem":234},"History","\u002Fplugins\u002Fcollaboration\u002Fhistory","3.plugins\u002F6.collaboration\u002F5.history",{"title":236,"icon":237,"path":238,"stem":239,"children":240,"page":26},"Tools","i-lucide-wrench","\u002Fplugins\u002Ftools","3.plugins\u002F7.tools",[241,245,249,253,257,261],{"title":242,"path":243,"stem":244},"Export","\u002Fplugins\u002Ftools\u002Fexport","3.plugins\u002F7.tools\u002F1.export",{"title":246,"path":247,"stem":248},"Shortcuts","\u002Fplugins\u002Ftools\u002Fshortcuts","3.plugins\u002F7.tools\u002F2.shortcuts",{"title":250,"path":251,"stem":252},"Responsive","\u002Fplugins\u002Ftools\u002Fresponsive","3.plugins\u002F7.tools\u002F3.responsive",{"title":254,"path":255,"stem":256},"Language","\u002Fplugins\u002Ftools\u002Flanguage","3.plugins\u002F7.tools\u002F4.language",{"title":258,"path":259,"stem":260},"Spell Checker","\u002Fplugins\u002Ftools\u002Fspell-checker","3.plugins\u002F7.tools\u002F5.spell-checker",{"title":262,"path":263,"stem":264},"AI Assistant","\u002Fplugins\u002Ftools\u002Fai-assistant","3.plugins\u002F7.tools\u002F6.ai-assistant",{"title":266,"icon":267,"path":268,"stem":269,"children":270,"page":26},"Integrate","i-lucide-plug","\u002Fintegrate","4.integrate",[271,275,305,359,385,423,445,471,493,523,569],{"title":272,"path":273,"stem":274},"Integrate overview","\u002Fintegrate\u002Foverview","4.integrate\u002F01.overview",{"title":276,"icon":277,"path":278,"stem":279,"children":280,"page":26},"Basics","i-lucide-book-open","\u002Fintegrate\u002Fbasics","4.integrate\u002F02.basics",[281,285,289,293,297,301],{"title":282,"path":283,"stem":284},"Persistence","\u002Fintegrate\u002Fbasics\u002Fpersistence","4.integrate\u002F02.basics\u002F1.persistence",{"title":286,"path":287,"stem":288},"Host config","\u002Fintegrate\u002Fbasics\u002Fhost-config","4.integrate\u002F02.basics\u002F2.host-config",{"title":290,"path":291,"stem":292},"Server + Vite","\u002Fintegrate\u002Fbasics\u002Fserver-vite","4.integrate\u002F02.basics\u002F3.server-vite",{"title":294,"path":295,"stem":296},"Meta-frameworks (SSR \u002F CSR)","\u002Fintegrate\u002Fbasics\u002Fmeta-ssr","4.integrate\u002F02.basics\u002F4.meta-ssr",{"title":298,"path":299,"stem":300},"Native \u002F iframe bridge","\u002Fintegrate\u002Fbasics\u002Fnative-bridge","4.integrate\u002F02.basics\u002F5.native-bridge",{"title":302,"path":303,"stem":304},"Chrome & host","\u002Fintegrate\u002Fbasics\u002Fchrome-and-host","4.integrate\u002F02.basics\u002F6.chrome-and-host",{"title":306,"icon":307,"path":308,"stem":309,"children":310,"page":26},"Frontend","i-lucide-monitor","\u002Fintegrate\u002Ffrontend","4.integrate\u002F03.frontend",[311,315,319,323,327,331,335,339,343,347,351,355],{"title":312,"path":313,"stem":314},"React","\u002Fintegrate\u002Ffrontend\u002Freact","4.integrate\u002F03.frontend\u002F01.react",{"title":316,"path":317,"stem":318},"Vue 2","\u002Fintegrate\u002Ffrontend\u002Fvue2","4.integrate\u002F03.frontend\u002F02.vue2",{"title":320,"path":321,"stem":322},"Vue 3","\u002Fintegrate\u002Ffrontend\u002Fvue3","4.integrate\u002F03.frontend\u002F03.vue3",{"title":324,"path":325,"stem":326},"Angular","\u002Fintegrate\u002Ffrontend\u002Fangular","4.integrate\u002F03.frontend\u002F04.angular",{"title":328,"path":329,"stem":330},"Svelte","\u002Fintegrate\u002Ffrontend\u002Fsvelte","4.integrate\u002F03.frontend\u002F05.svelte",{"title":332,"path":333,"stem":334},"Solid.js","\u002Fintegrate\u002Ffrontend\u002Fsolid","4.integrate\u002F03.frontend\u002F06.solid",{"title":336,"path":337,"stem":338},"Preact","\u002Fintegrate\u002Ffrontend\u002Fpreact","4.integrate\u002F03.frontend\u002F07.preact",{"title":340,"path":341,"stem":342},"Lit","\u002Fintegrate\u002Ffrontend\u002Flit","4.integrate\u002F03.frontend\u002F08.lit",{"title":344,"path":345,"stem":346},"Qwik","\u002Fintegrate\u002Ffrontend\u002Fqwik","4.integrate\u002F03.frontend\u002F09.qwik",{"title":348,"path":349,"stem":350},"jQuery","\u002Fintegrate\u002Ffrontend\u002Fjquery","4.integrate\u002F03.frontend\u002F10.jquery",{"title":352,"path":353,"stem":354},"Alpine.js","\u002Fintegrate\u002Ffrontend\u002Falpine","4.integrate\u002F03.frontend\u002F11.alpine",{"title":356,"path":357,"stem":358},"Backbone.js","\u002Fintegrate\u002Ffrontend\u002Fbackbone","4.integrate\u002F03.frontend\u002F12.backbone",{"title":360,"icon":361,"path":362,"stem":363,"children":364,"page":26},"Meta-frameworks","i-lucide-layers","\u002Fintegrate\u002Fmeta-frameworks","4.integrate\u002F04.meta-frameworks",[365,369,373,377,381],{"title":366,"path":367,"stem":368},"Next.js","\u002Fintegrate\u002Fmeta-frameworks\u002Fnext","4.integrate\u002F04.meta-frameworks\u002F1.next",{"title":370,"path":371,"stem":372},"Nuxt 3 \u002F 4","\u002Fintegrate\u002Fmeta-frameworks\u002Fnuxt","4.integrate\u002F04.meta-frameworks\u002F2.nuxt",{"title":374,"path":375,"stem":376},"SvelteKit","\u002Fintegrate\u002Fmeta-frameworks\u002Fsveltekit","4.integrate\u002F04.meta-frameworks\u002F3.sveltekit",{"title":378,"path":379,"stem":380},"Remix","\u002Fintegrate\u002Fmeta-frameworks\u002Fremix","4.integrate\u002F04.meta-frameworks\u002F4.remix",{"title":382,"path":383,"stem":384},"Astro","\u002Fintegrate\u002Fmeta-frameworks\u002Fastro","4.integrate\u002F04.meta-frameworks\u002F5.astro",{"title":386,"icon":387,"path":388,"stem":389,"children":390,"page":26},"Node \u002F edge","i-simple-icons-nodedotjs","\u002Fintegrate\u002Fnode","4.integrate\u002F05.node",[391,395,399,403,407,411,415,419],{"title":392,"path":393,"stem":394},"Express.js","\u002Fintegrate\u002Fnode\u002Fexpress","4.integrate\u002F05.node\u002F1.express",{"title":396,"path":397,"stem":398},"NestJS","\u002Fintegrate\u002Fnode\u002Fnestjs","4.integrate\u002F05.node\u002F2.nestjs",{"title":400,"path":401,"stem":402},"Fastify","\u002Fintegrate\u002Fnode\u002Ffastify","4.integrate\u002F05.node\u002F3.fastify",{"title":404,"path":405,"stem":406},"Hono","\u002Fintegrate\u002Fnode\u002Fhono","4.integrate\u002F05.node\u002F4.hono",{"title":408,"path":409,"stem":410},"Koa","\u002Fintegrate\u002Fnode\u002Fkoa","4.integrate\u002F05.node\u002F5.koa",{"title":412,"path":413,"stem":414},"Bun","\u002Fintegrate\u002Fnode\u002Fbun","4.integrate\u002F05.node\u002F6.bun",{"title":416,"path":417,"stem":418},"Deno","\u002Fintegrate\u002Fnode\u002Fdeno","4.integrate\u002F05.node\u002F7.deno",{"title":420,"path":421,"stem":422},"AdonisJS","\u002Fintegrate\u002Fnode\u002Fadonis","4.integrate\u002F05.node\u002F8.adonis",{"title":424,"icon":425,"path":426,"stem":427,"children":428,"page":26},"Python","i-simple-icons-python","\u002Fintegrate\u002Fpython","4.integrate\u002F06.python",[429,433,437,441],{"title":430,"path":431,"stem":432},"FastAPI","\u002Fintegrate\u002Fpython\u002Ffastapi","4.integrate\u002F06.python\u002F1.fastapi",{"title":434,"path":435,"stem":436},"Django","\u002Fintegrate\u002Fpython\u002Fdjango","4.integrate\u002F06.python\u002F2.django",{"title":438,"path":439,"stem":440},"Python Flask","\u002Fintegrate\u002Fpython\u002Fpython-flask","4.integrate\u002F06.python\u002F3.python-flask",{"title":442,"path":443,"stem":444},"Litestar","\u002Fintegrate\u002Fpython\u002Flitestar","4.integrate\u002F06.python\u002F4.litestar",{"title":446,"icon":447,"path":448,"stem":449,"children":450,"page":26},"PHP","i-simple-icons-php","\u002Fintegrate\u002Fphp","4.integrate\u002F07.php",[451,455,459,463,467],{"title":452,"path":453,"stem":454},"Laravel","\u002Fintegrate\u002Fphp\u002Flaravel","4.integrate\u002F07.php\u002F1.laravel",{"title":456,"path":457,"stem":458},"Symfony","\u002Fintegrate\u002Fphp\u002Fsymfony","4.integrate\u002F07.php\u002F2.symfony",{"title":460,"path":461,"stem":462},"Slim","\u002Fintegrate\u002Fphp\u002Fslim","4.integrate\u002F07.php\u002F3.slim",{"title":464,"path":465,"stem":466},"CakePHP","\u002Fintegrate\u002Fphp\u002Fcakephp","4.integrate\u002F07.php\u002F4.cakephp",{"title":468,"path":469,"stem":470},"CodeIgniter","\u002Fintegrate\u002Fphp\u002Fcodeigniter","4.integrate\u002F07.php\u002F5.codeigniter",{"title":472,"icon":473,"path":474,"stem":475,"children":476,"page":26},"Go","i-simple-icons-go","\u002Fintegrate\u002Fgo","4.integrate\u002F08.go",[477,481,485,489],{"title":478,"path":479,"stem":480},"Go Gin","\u002Fintegrate\u002Fgo\u002Fgo-gin","4.integrate\u002F08.go\u002F1.go-gin",{"title":482,"path":483,"stem":484},"Go Echo","\u002Fintegrate\u002Fgo\u002Fgo-echo","4.integrate\u002F08.go\u002F2.go-echo",{"title":486,"path":487,"stem":488},"Go Fiber","\u002Fintegrate\u002Fgo\u002Fgo-fiber","4.integrate\u002F08.go\u002F3.go-fiber",{"title":490,"path":491,"stem":492},"Go Chi","\u002Fintegrate\u002Fgo\u002Fgo-chi","4.integrate\u002F08.go\u002F4.go-chi",{"title":494,"icon":495,"path":496,"stem":497,"children":498,"page":26},"Rust","i-simple-icons-rust","\u002Fintegrate\u002Frust","4.integrate\u002F09.rust",[499,503,507,511,515,519],{"title":500,"path":501,"stem":502},"Rust Axum","\u002Fintegrate\u002Frust\u002Frust-axum","4.integrate\u002F09.rust\u002F1.rust-axum",{"title":504,"path":505,"stem":506},"Rust Actix-web","\u002Fintegrate\u002Frust\u002Frust-actix","4.integrate\u002F09.rust\u002F2.rust-actix",{"title":508,"path":509,"stem":510},"Rust Rocket","\u002Fintegrate\u002Frust\u002Frust-rocket","4.integrate\u002F09.rust\u002F3.rust-rocket",{"title":512,"path":513,"stem":514},"Rust Warp","\u002Fintegrate\u002Frust\u002Frust-warp","4.integrate\u002F09.rust\u002F4.rust-warp",{"title":516,"path":517,"stem":518},"Rust Poem","\u002Fintegrate\u002Frust\u002Frust-poem","4.integrate\u002F09.rust\u002F5.rust-poem",{"title":520,"path":521,"stem":522},"Rust Loco","\u002Fintegrate\u002Frust\u002Frust-loco","4.integrate\u002F09.rust\u002F6.rust-loco",{"title":524,"icon":525,"path":526,"stem":527,"children":528,"page":26},"JVM \u002F .NET \u002F other","i-lucide-coffee","\u002Fintegrate\u002Fjvm-dotnet","4.integrate\u002F10.jvm-dotnet",[529,533,537,541,545,549,553,557,561,565],{"title":530,"path":531,"stem":532},"Spring Boot","\u002Fintegrate\u002Fjvm-dotnet\u002Fspring","4.integrate\u002F10.jvm-dotnet\u002F01.spring",{"title":534,"path":535,"stem":536},"Quarkus","\u002Fintegrate\u002Fjvm-dotnet\u002Fquarkus","4.integrate\u002F10.jvm-dotnet\u002F02.quarkus",{"title":538,"path":539,"stem":540},"Micronaut","\u002Fintegrate\u002Fjvm-dotnet\u002Fmicronaut","4.integrate\u002F10.jvm-dotnet\u002F03.micronaut",{"title":542,"path":543,"stem":544},"Kotlin Spring Boot","\u002Fintegrate\u002Fjvm-dotnet\u002Fkotlin-spring","4.integrate\u002F10.jvm-dotnet\u002F04.kotlin-spring",{"title":546,"path":547,"stem":548},"Ktor","\u002Fintegrate\u002Fjvm-dotnet\u002Fktor","4.integrate\u002F10.jvm-dotnet\u002F05.ktor",{"title":550,"path":551,"stem":552},"ASP.NET Core","\u002Fintegrate\u002Fjvm-dotnet\u002Faspnet-core","4.integrate\u002F10.jvm-dotnet\u002F06.aspnet-core",{"title":554,"path":555,"stem":556},"Blazor","\u002Fintegrate\u002Fjvm-dotnet\u002Fblazor","4.integrate\u002F10.jvm-dotnet\u002F07.blazor",{"title":558,"path":559,"stem":560},"Phoenix","\u002Fintegrate\u002Fjvm-dotnet\u002Fphoenix","4.integrate\u002F10.jvm-dotnet\u002F08.phoenix",{"title":562,"path":563,"stem":564},"Ruby on Rails","\u002Fintegrate\u002Fjvm-dotnet\u002Frails","4.integrate\u002F10.jvm-dotnet\u002F09.rails",{"title":566,"path":567,"stem":568},"HTMX host","\u002Fintegrate\u002Fjvm-dotnet\u002Fhtmx","4.integrate\u002F10.jvm-dotnet\u002F10.htmx",{"title":570,"icon":571,"path":572,"stem":573,"children":574,"page":26},"Desktop & mobile hosts","i-lucide-smartphone","\u002Fintegrate\u002Fhosts","4.integrate\u002F11.hosts",[575,579,583,587,591],{"title":576,"path":577,"stem":578},"Flutter","\u002Fintegrate\u002Fhosts\u002Fflutter","4.integrate\u002F11.hosts\u002F1.flutter",{"title":580,"path":581,"stem":582},"Electron","\u002Fintegrate\u002Fhosts\u002Felectron","4.integrate\u002F11.hosts\u002F2.electron",{"title":584,"path":585,"stem":586},"Tauri","\u002Fintegrate\u002Fhosts\u002Ftauri","4.integrate\u002F11.hosts\u002F3.tauri",{"title":588,"path":589,"stem":590},"Wails","\u002Fintegrate\u002Fhosts\u002Fwails","4.integrate\u002F11.hosts\u002F4.wails",{"title":592,"path":593,"stem":594},"Capacitor","\u002Fintegrate\u002Fhosts\u002Fcapacitor","4.integrate\u002F11.hosts\u002F5.capacitor",{"title":596,"icon":597,"path":598,"stem":599,"children":600,"page":26},"Architecture","i-lucide-cpu","\u002Farchitecture","5.architecture",[601,605,609,613,617,621],{"title":602,"path":603,"stem":604},"Document model","\u002Farchitecture\u002Fdocument-model","5.architecture\u002F1.document-model",{"title":606,"path":607,"stem":608},"SDK reference","\u002Farchitecture\u002Fsdk","5.architecture\u002F2.sdk",{"title":610,"path":611,"stem":612},"View runtime","\u002Farchitecture\u002Fview","5.architecture\u002F3.view",{"title":614,"path":615,"stem":616},"Authoring plugins","\u002Farchitecture\u002Fauthoring-plugins","5.architecture\u002F4.authoring-plugins",{"title":618,"path":619,"stem":620},"Mermaid","\u002Farchitecture\u002Fmermaid","5.architecture\u002F5.mermaid",{"title":622,"path":623,"stem":624},"Publishing packages","\u002Farchitecture\u002Fpublishing-packages","5.architecture\u002F6.publishing-packages",{"title":626,"path":627,"stem":628},"Changelog","\u002Fchangelog","9.changelog",{"id":630,"title":37,"body":631,"description":1747,"extension":1748,"links":1749,"meta":1750,"navigation":699,"path":38,"seo":1751,"stem":39,"__hash__":1752},"docs\u002F2.editors\u002F2.markdown.md",{"type":632,"value":633,"toc":1742},"minimark",[634,637,642,932,936,1111,1117,1121,1127,1738],[635,636],"markdown-editor-component",{},[638,639,641],"h2",{"id":640},"launch","Launch",[643,644,649],"pre",{"className":645,"code":646,"language":647,"meta":648,"style":648},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { Editor, createDefaultPlugins } from 'on-codemerge\u002Fmarkdown';\n\nconst editor = new Editor(document.getElementById('md-editor')!, {\n  chrome: 'bar',\n  plugins: createDefaultPlugins(),\n});\n\neditor.setText('# Hello\\n');\neditor.on('docChanged', () => {\n  console.log(editor.getJSON());\n  console.log(editor.getText());\n  console.log(editor.getHTML());\n});\n","ts","",[650,651,652,694,701,748,768,783,793,798,825,854,879,901,923],"code",{"__ignoreMap":648},[653,654,657,661,665,669,672,675,678,681,684,688,691],"span",{"class":655,"line":656},"line",1,[653,658,660],{"class":659},"s7zQu","import",[653,662,664],{"class":663},"sMK4o"," {",[653,666,668],{"class":667},"sTEyZ"," Editor",[653,670,671],{"class":663},",",[653,673,674],{"class":667}," createDefaultPlugins",[653,676,677],{"class":663}," }",[653,679,680],{"class":659}," from",[653,682,683],{"class":663}," '",[653,685,687],{"class":686},"sfazB","on-codemerge\u002Fmarkdown",[653,689,690],{"class":663},"'",[653,692,693],{"class":663},";\n",[653,695,697],{"class":655,"line":696},2,[653,698,700],{"emptyLinePlaceholder":699},true,"\n",[653,702,704,708,711,714,717,720,723,726,729,732,734,737,739,742,745],{"class":655,"line":703},3,[653,705,707],{"class":706},"spNyl","const",[653,709,710],{"class":667}," editor ",[653,712,713],{"class":663},"=",[653,715,716],{"class":663}," new",[653,718,668],{"class":719},"s2Zo4",[653,721,722],{"class":667},"(document",[653,724,725],{"class":663},".",[653,727,728],{"class":719},"getElementById",[653,730,731],{"class":667},"(",[653,733,690],{"class":663},[653,735,736],{"class":686},"md-editor",[653,738,690],{"class":663},[653,740,741],{"class":667},")",[653,743,744],{"class":663},"!,",[653,746,747],{"class":663}," {\n",[653,749,751,755,758,760,763,765],{"class":655,"line":750},4,[653,752,754],{"class":753},"swJcz","  chrome",[653,756,757],{"class":663},":",[653,759,683],{"class":663},[653,761,762],{"class":686},"bar",[653,764,690],{"class":663},[653,766,767],{"class":663},",\n",[653,769,771,774,776,778,781],{"class":655,"line":770},5,[653,772,773],{"class":753},"  plugins",[653,775,757],{"class":663},[653,777,674],{"class":719},[653,779,780],{"class":667},"()",[653,782,767],{"class":663},[653,784,786,789,791],{"class":655,"line":785},6,[653,787,788],{"class":663},"}",[653,790,741],{"class":667},[653,792,693],{"class":663},[653,794,796],{"class":655,"line":795},7,[653,797,700],{"emptyLinePlaceholder":699},[653,799,801,804,806,809,811,813,816,819,821,823],{"class":655,"line":800},8,[653,802,803],{"class":667},"editor",[653,805,725],{"class":663},[653,807,808],{"class":719},"setText",[653,810,731],{"class":667},[653,812,690],{"class":663},[653,814,815],{"class":686},"# Hello",[653,817,818],{"class":667},"\\n",[653,820,690],{"class":663},[653,822,741],{"class":667},[653,824,693],{"class":663},[653,826,828,830,832,835,837,839,842,844,846,849,852],{"class":655,"line":827},9,[653,829,803],{"class":667},[653,831,725],{"class":663},[653,833,834],{"class":719},"on",[653,836,731],{"class":667},[653,838,690],{"class":663},[653,840,841],{"class":686},"docChanged",[653,843,690],{"class":663},[653,845,671],{"class":663},[653,847,848],{"class":663}," ()",[653,850,851],{"class":706}," =>",[653,853,747],{"class":663},[653,855,857,860,862,865,867,869,871,874,877],{"class":655,"line":856},10,[653,858,859],{"class":667},"  console",[653,861,725],{"class":663},[653,863,864],{"class":719},"log",[653,866,731],{"class":753},[653,868,803],{"class":667},[653,870,725],{"class":663},[653,872,873],{"class":719},"getJSON",[653,875,876],{"class":753},"())",[653,878,693],{"class":663},[653,880,882,884,886,888,890,892,894,897,899],{"class":655,"line":881},11,[653,883,859],{"class":667},[653,885,725],{"class":663},[653,887,864],{"class":719},[653,889,731],{"class":753},[653,891,803],{"class":667},[653,893,725],{"class":663},[653,895,896],{"class":719},"getText",[653,898,876],{"class":753},[653,900,693],{"class":663},[653,902,904,906,908,910,912,914,916,919,921],{"class":655,"line":903},12,[653,905,859],{"class":667},[653,907,725],{"class":663},[653,909,864],{"class":719},[653,911,731],{"class":753},[653,913,803],{"class":667},[653,915,725],{"class":663},[653,917,918],{"class":719},"getHTML",[653,920,876],{"class":753},[653,922,693],{"class":663},[653,924,926,928,930],{"class":655,"line":925},13,[653,927,788],{"class":663},[653,929,741],{"class":667},[653,931,693],{"class":663},[638,933,935],{"id":934},"notes","Notes",[937,938,939,959,974,1000,1007,1025,1034,1061,1083,1097],"ul",{},[940,941,942,943,946,947,950,951,954,955,958],"li",{},"SoT is a prose ",[650,944,945],{},"doc"," (paragraph, heading, lists, ",[650,948,949],{},"callout",", ",[650,952,953],{},"mermaid",", …) — same kernel model as WYSIWYG, MD-shaped subset. Legacy ",[650,956,957],{},"doc → markdown.text"," blob is rejected.",[940,960,961,962,969,970,973],{},"Live preview projects HTML ",[963,964,965,966],"strong",{},"from ",[650,967,968],{},"state.doc"," (",[650,971,972],{},"projectPreviewHtml",") — no second Markdown parse on each keystroke. Source-editor debounce is the only MD→tree path; preview paint is coalesced separately so typing stays responsive.",[940,975,976,979,980,983,984,987,988,991,992,994,995,725],{},[963,977,978],{},"Remote preview:"," ",[650,981,982],{},"preview: { url, headers?, debounceMs? }"," POSTs ",[650,985,986],{},"{ markdown }"," and paints returned ",[650,989,990],{},"text\u002Fhtml"," in the right pane (server owns custom blocks). Local projector remains the default; ",[650,993,918],{}," \u002F publish stay local. See ",[996,997,999],"a",{"href":998},"\u002Fplugins\u002Fdata\u002Fmarkdown#remote-preview-preview","Markdown Plugin",[940,1001,1002,1003,1006],{},"Desktop: drag the middle ",[963,1004,1005],{},"gutter"," (or ←\u002F→ when focused) to resize source vs preview; double-click resets to 50\u002F50.",[940,1008,1009,1010,1013,1014,1017,1018,1013,1021,1024],{},"Toolbar ",[963,1011,1012],{},"Insert"," \u002F ",[963,1015,1016],{},"Turn into"," mutate kernel state (",[650,1019,1020],{},"insert_node",[650,1022,1023],{},"set_attrs","); CM reserializes from SoT.",[940,1026,1027,979,1030,1033],{},[963,1028,1029],{},"Custom callouts:",[650,1031,1032],{},"elements: [{ id, label, toPreviewHtml }]"," (merged with info\u002Fwarn\u002Ferror) — auto Insert \u002F Turn into entries.",[940,1035,1036,979,1039,1042,1043,1013,1046,1049,1050,1053,1054,1057,1058,1060],{},[963,1037,1038],{},"Custom toolbar:",[650,1040,1041],{},"toolbar: { menus?, items? }"," — sole source of domain bar buttons (",[650,1044,1045],{},"command",[650,1047,1048],{},"run","). Omit → ",[650,1051,1052],{},"defaultMdToolbar({ elements })",". Undo\u002Fredo toolbar is built into the editor. Empty bar → ",[650,1055,1056],{},"{ menus: [], items: [] }"," (see ",[996,1059,999],{"href":192},").",[940,1062,1063,1065,1066,1069,1070,1073,1074,1076,1077,1080,1081,725],{},[650,1064,918],{}," uses the same projector as the right pane; mermaid hosts hydrate to inline SVG (",[650,1067,1068],{},"data-node=\"mermaid\"",") through ",[650,1071,1072],{},"@codemerge\u002Fmermaid"," (subset — may differ from upstream Mermaid; see ",[996,1075,618],{"href":619},"). ",[650,1078,1079],{},"setHTML"," converts HTML → Markdown (lossy) then ",[650,1082,808],{},[940,1084,1085,1013,1088,1091,1092,1013,1094,1096],{},[650,1086,1087],{},"getMarkdown",[650,1089,1090],{},"setMarkdown"," stay stubs — use ",[650,1093,896],{},[650,1095,808],{}," for Markdown interchange.",[940,1098,1099,1100,1103,1104,979,1107,1110],{},"WYSIWYG embeds use ",[650,1101,1102],{},"MarkdownPlugin({ surface: 'atom' })"," and register ",[963,1105,1106],{},"only",[650,1108,1109],{},"md_embed"," (no prose node collision with Typography).",[1112,1113,1114,1115,725],"p",{},"Compare surfaces: ",[996,1116,15],{"href":16},[638,1118,1120],{"id":1119},"custom-toolbar","Custom toolbar",[1112,1122,1123,1126],{},[650,1124,1125],{},"toolbar"," replaces the default preset (same idea as picking plugins in WYSIWYG). Extend the preset explicitly:",[643,1128,1130],{"className":645,"code":1129,"language":647,"meta":648,"style":648},"import {\n  Editor,\n  createMdElementRegistry,\n  defaultMdToolbar,\n  runInsertMarkdown,\n} from 'on-codemerge\u002Fmarkdown';\n\nconst elements = [\n  {\n    id: 'tip',\n    label: 'Tip',\n    toPreviewHtml: (block, bodyHtml) =>\n      `\u003Caside class=\"ocm-md-callout\" data-node=\"callout\">${bodyHtml}\u003C\u002Faside>`,\n  },\n];\nconst registry = createMdElementRegistry(elements);\nconst base = defaultMdToolbar({ elements: registry });\n\nnew Editor(host, {\n  chrome: 'bar',\n  elements,\n  toolbar: {\n    menus: [...(base.menus ?? []), { id: 'md-tools', label: 'Tools', order: 20 }],\n    items: [\n      ...(base.items ?? []),\n      {\n        id: 'md-stamp',\n        label: 'Stamp',\n        menu: 'md-insert',\n        run: runInsertMarkdown(() => `\u003C!-- stamped -->\\n`),\n      },\n      {\n        id: 'md-normalize',\n        label: 'Normalize',\n        menu: 'md-tools',\n        run: ({ editor }) => {\n          editor.setText(`${editor.getText().trim()}\\n`);\n        },\n      },\n    ],\n  },\n});\n",[650,1131,1132,1138,1145,1152,1159,1166,1180,1184,1196,1201,1217,1233,1256,1280,1286,1294,1312,1343,1348,1363,1378,1386,1396,1470,1480,1499,1505,1522,1539,1556,1587,1593,1598,1614,1630,1645,1665,1705,1711,1716,1724,1729],{"__ignoreMap":648},[653,1133,1134,1136],{"class":655,"line":656},[653,1135,660],{"class":659},[653,1137,747],{"class":663},[653,1139,1140,1143],{"class":655,"line":696},[653,1141,1142],{"class":667},"  Editor",[653,1144,767],{"class":663},[653,1146,1147,1150],{"class":655,"line":703},[653,1148,1149],{"class":667},"  createMdElementRegistry",[653,1151,767],{"class":663},[653,1153,1154,1157],{"class":655,"line":750},[653,1155,1156],{"class":667},"  defaultMdToolbar",[653,1158,767],{"class":663},[653,1160,1161,1164],{"class":655,"line":770},[653,1162,1163],{"class":667},"  runInsertMarkdown",[653,1165,767],{"class":663},[653,1167,1168,1170,1172,1174,1176,1178],{"class":655,"line":785},[653,1169,788],{"class":663},[653,1171,680],{"class":659},[653,1173,683],{"class":663},[653,1175,687],{"class":686},[653,1177,690],{"class":663},[653,1179,693],{"class":663},[653,1181,1182],{"class":655,"line":795},[653,1183,700],{"emptyLinePlaceholder":699},[653,1185,1186,1188,1191,1193],{"class":655,"line":800},[653,1187,707],{"class":706},[653,1189,1190],{"class":667}," elements ",[653,1192,713],{"class":663},[653,1194,1195],{"class":667}," [\n",[653,1197,1198],{"class":655,"line":827},[653,1199,1200],{"class":663},"  {\n",[653,1202,1203,1206,1208,1210,1213,1215],{"class":655,"line":856},[653,1204,1205],{"class":753},"    id",[653,1207,757],{"class":663},[653,1209,683],{"class":663},[653,1211,1212],{"class":686},"tip",[653,1214,690],{"class":663},[653,1216,767],{"class":663},[653,1218,1219,1222,1224,1226,1229,1231],{"class":655,"line":881},[653,1220,1221],{"class":753},"    label",[653,1223,757],{"class":663},[653,1225,683],{"class":663},[653,1227,1228],{"class":686},"Tip",[653,1230,690],{"class":663},[653,1232,767],{"class":663},[653,1234,1235,1238,1240,1242,1246,1248,1251,1253],{"class":655,"line":903},[653,1236,1237],{"class":719},"    toPreviewHtml",[653,1239,757],{"class":663},[653,1241,969],{"class":663},[653,1243,1245],{"class":1244},"sHdIc","block",[653,1247,671],{"class":663},[653,1249,1250],{"class":1244}," bodyHtml",[653,1252,741],{"class":663},[653,1254,1255],{"class":706}," =>\n",[653,1257,1258,1261,1264,1267,1270,1272,1275,1278],{"class":655,"line":925},[653,1259,1260],{"class":663},"      `",[653,1262,1263],{"class":686},"\u003Caside class=\"ocm-md-callout\" data-node=\"callout\">",[653,1265,1266],{"class":663},"${",[653,1268,1269],{"class":667},"bodyHtml",[653,1271,788],{"class":663},[653,1273,1274],{"class":686},"\u003C\u002Faside>",[653,1276,1277],{"class":663},"`",[653,1279,767],{"class":663},[653,1281,1283],{"class":655,"line":1282},14,[653,1284,1285],{"class":663},"  },\n",[653,1287,1289,1292],{"class":655,"line":1288},15,[653,1290,1291],{"class":667},"]",[653,1293,693],{"class":663},[653,1295,1297,1299,1302,1304,1307,1310],{"class":655,"line":1296},16,[653,1298,707],{"class":706},[653,1300,1301],{"class":667}," registry ",[653,1303,713],{"class":663},[653,1305,1306],{"class":719}," createMdElementRegistry",[653,1308,1309],{"class":667},"(elements)",[653,1311,693],{"class":663},[653,1313,1315,1317,1320,1322,1325,1327,1330,1333,1335,1337,1339,1341],{"class":655,"line":1314},17,[653,1316,707],{"class":706},[653,1318,1319],{"class":667}," base ",[653,1321,713],{"class":663},[653,1323,1324],{"class":719}," defaultMdToolbar",[653,1326,731],{"class":667},[653,1328,1329],{"class":663},"{",[653,1331,1332],{"class":753}," elements",[653,1334,757],{"class":663},[653,1336,1301],{"class":667},[653,1338,788],{"class":663},[653,1340,741],{"class":667},[653,1342,693],{"class":663},[653,1344,1346],{"class":655,"line":1345},18,[653,1347,700],{"emptyLinePlaceholder":699},[653,1349,1351,1354,1356,1359,1361],{"class":655,"line":1350},19,[653,1352,1353],{"class":663},"new",[653,1355,668],{"class":719},[653,1357,1358],{"class":667},"(host",[653,1360,671],{"class":663},[653,1362,747],{"class":663},[653,1364,1366,1368,1370,1372,1374,1376],{"class":655,"line":1365},20,[653,1367,754],{"class":753},[653,1369,757],{"class":663},[653,1371,683],{"class":663},[653,1373,762],{"class":686},[653,1375,690],{"class":663},[653,1377,767],{"class":663},[653,1379,1381,1384],{"class":655,"line":1380},21,[653,1382,1383],{"class":667},"  elements",[653,1385,767],{"class":663},[653,1387,1389,1392,1394],{"class":655,"line":1388},22,[653,1390,1391],{"class":753},"  toolbar",[653,1393,757],{"class":663},[653,1395,747],{"class":663},[653,1397,1399,1402,1404,1407,1410,1413,1415,1418,1421,1424,1426,1428,1431,1433,1435,1438,1440,1442,1445,1447,1449,1451,1453,1455,1458,1460,1464,1466,1468],{"class":655,"line":1398},23,[653,1400,1401],{"class":753},"    menus",[653,1403,757],{"class":663},[653,1405,1406],{"class":667}," [",[653,1408,1409],{"class":663},"...",[653,1411,1412],{"class":667},"(base",[653,1414,725],{"class":663},[653,1416,1417],{"class":667},"menus ",[653,1419,1420],{"class":663},"??",[653,1422,1423],{"class":667}," [])",[653,1425,671],{"class":663},[653,1427,664],{"class":663},[653,1429,1430],{"class":753}," id",[653,1432,757],{"class":663},[653,1434,683],{"class":663},[653,1436,1437],{"class":686},"md-tools",[653,1439,690],{"class":663},[653,1441,671],{"class":663},[653,1443,1444],{"class":753}," label",[653,1446,757],{"class":663},[653,1448,683],{"class":663},[653,1450,236],{"class":686},[653,1452,690],{"class":663},[653,1454,671],{"class":663},[653,1456,1457],{"class":753}," order",[653,1459,757],{"class":663},[653,1461,1463],{"class":1462},"sbssI"," 20",[653,1465,677],{"class":663},[653,1467,1291],{"class":667},[653,1469,767],{"class":663},[653,1471,1473,1476,1478],{"class":655,"line":1472},24,[653,1474,1475],{"class":753},"    items",[653,1477,757],{"class":663},[653,1479,1195],{"class":667},[653,1481,1483,1486,1488,1490,1493,1495,1497],{"class":655,"line":1482},25,[653,1484,1485],{"class":663},"      ...",[653,1487,1412],{"class":667},[653,1489,725],{"class":663},[653,1491,1492],{"class":667},"items ",[653,1494,1420],{"class":663},[653,1496,1423],{"class":667},[653,1498,767],{"class":663},[653,1500,1502],{"class":655,"line":1501},26,[653,1503,1504],{"class":663},"      {\n",[653,1506,1508,1511,1513,1515,1518,1520],{"class":655,"line":1507},27,[653,1509,1510],{"class":753},"        id",[653,1512,757],{"class":663},[653,1514,683],{"class":663},[653,1516,1517],{"class":686},"md-stamp",[653,1519,690],{"class":663},[653,1521,767],{"class":663},[653,1523,1525,1528,1530,1532,1535,1537],{"class":655,"line":1524},28,[653,1526,1527],{"class":753},"        label",[653,1529,757],{"class":663},[653,1531,683],{"class":663},[653,1533,1534],{"class":686},"Stamp",[653,1536,690],{"class":663},[653,1538,767],{"class":663},[653,1540,1542,1545,1547,1549,1552,1554],{"class":655,"line":1541},29,[653,1543,1544],{"class":753},"        menu",[653,1546,757],{"class":663},[653,1548,683],{"class":663},[653,1550,1551],{"class":686},"md-insert",[653,1553,690],{"class":663},[653,1555,767],{"class":663},[653,1557,1559,1562,1564,1567,1569,1571,1573,1576,1579,1581,1583,1585],{"class":655,"line":1558},30,[653,1560,1561],{"class":753},"        run",[653,1563,757],{"class":663},[653,1565,1566],{"class":719}," runInsertMarkdown",[653,1568,731],{"class":667},[653,1570,780],{"class":663},[653,1572,851],{"class":706},[653,1574,1575],{"class":663}," `",[653,1577,1578],{"class":686},"\u003C!-- stamped -->",[653,1580,818],{"class":667},[653,1582,1277],{"class":663},[653,1584,741],{"class":667},[653,1586,767],{"class":663},[653,1588,1590],{"class":655,"line":1589},31,[653,1591,1592],{"class":663},"      },\n",[653,1594,1596],{"class":655,"line":1595},32,[653,1597,1504],{"class":663},[653,1599,1601,1603,1605,1607,1610,1612],{"class":655,"line":1600},33,[653,1602,1510],{"class":753},[653,1604,757],{"class":663},[653,1606,683],{"class":663},[653,1608,1609],{"class":686},"md-normalize",[653,1611,690],{"class":663},[653,1613,767],{"class":663},[653,1615,1617,1619,1621,1623,1626,1628],{"class":655,"line":1616},34,[653,1618,1527],{"class":753},[653,1620,757],{"class":663},[653,1622,683],{"class":663},[653,1624,1625],{"class":686},"Normalize",[653,1627,690],{"class":663},[653,1629,767],{"class":663},[653,1631,1633,1635,1637,1639,1641,1643],{"class":655,"line":1632},35,[653,1634,1544],{"class":753},[653,1636,757],{"class":663},[653,1638,683],{"class":663},[653,1640,1437],{"class":686},[653,1642,690],{"class":663},[653,1644,767],{"class":663},[653,1646,1648,1650,1652,1655,1658,1661,1663],{"class":655,"line":1647},36,[653,1649,1561],{"class":719},[653,1651,757],{"class":663},[653,1653,1654],{"class":663}," ({",[653,1656,1657],{"class":1244}," editor",[653,1659,1660],{"class":663}," })",[653,1662,851],{"class":706},[653,1664,747],{"class":663},[653,1666,1668,1671,1673,1675,1677,1680,1682,1684,1686,1688,1690,1693,1695,1697,1699,1701,1703],{"class":655,"line":1667},37,[653,1669,1670],{"class":667},"          editor",[653,1672,725],{"class":663},[653,1674,808],{"class":719},[653,1676,731],{"class":753},[653,1678,1679],{"class":663},"`${",[653,1681,803],{"class":667},[653,1683,725],{"class":663},[653,1685,896],{"class":719},[653,1687,780],{"class":667},[653,1689,725],{"class":663},[653,1691,1692],{"class":719},"trim",[653,1694,780],{"class":667},[653,1696,788],{"class":663},[653,1698,818],{"class":667},[653,1700,1277],{"class":663},[653,1702,741],{"class":753},[653,1704,693],{"class":663},[653,1706,1708],{"class":655,"line":1707},38,[653,1709,1710],{"class":663},"        },\n",[653,1712,1714],{"class":655,"line":1713},39,[653,1715,1592],{"class":663},[653,1717,1719,1722],{"class":655,"line":1718},40,[653,1720,1721],{"class":667},"    ]",[653,1723,767],{"class":663},[653,1725,1727],{"class":655,"line":1726},41,[653,1728,1285],{"class":663},[653,1730,1732,1734,1736],{"class":655,"line":1731},42,[653,1733,788],{"class":663},[653,1735,741],{"class":667},[653,1737,693],{"class":663},[1739,1740,1741],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":648,"searchDepth":696,"depth":703,"links":1743},[1744,1745,1746],{"id":640,"depth":696,"text":641},{"id":934,"depth":696,"text":935},{"id":1119,"depth":696,"text":1120},"Dual-pane Markdown product (on-codemerge\u002Fmarkdown): source on the left, sanitized HTML preview on the right. Source of truth is a prose JSON tree (getJSON \u002F setJSON). Markdown and HTML are interchange boundaries (getText \u002F setText, getHTML \u002F setHTML).","md",null,{},{"title":37,"description":1747},"3xNLvuoes6AtPwxMnQv2SMU7oxFfEedO9hzHB-JsuE4",[1754,1756],{"title":33,"path":34,"stem":35,"description":1755,"children":-1},"Tree + Raw editor for plain JSON, published as on-codemerge\u002Fjson. Thin app entry uses a shell ViewPort and JsonPlugin({ surface: 'workspace' }), which mounts the Tree\u002FRaw UI into contentTarget. Plain JSON interchange via getText \u002F setText.",{"title":41,"path":42,"stem":43,"description":1757,"children":-1},"Plain-text source product published as on-codemerge\u002Fcode. Thin app entry uses a shell ViewPort and CodeBlockPlugin({ surface: 'workspace' }), which mounts the shared source-editor contour (gutter + universal structural highlight) into contentTarget. Interchange via getText \u002F setText.",1794129103626]