[{"data":1,"prerenderedAt":1978},["ShallowReactive",2],{"navigation":3,"\u002Fplugins\u002Fblocks\u002Fcode-block":629,"\u002Fplugins\u002Fblocks\u002Fcode-block-surround":1973},[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":631,"body":632,"description":1966,"extension":1967,"links":1968,"meta":1969,"navigation":1970,"path":132,"seo":1971,"stem":133,"__hash__":1972},"docs\u002F3.plugins\u002F3.blocks\u002F05.code-block.md","Code Block Plugin",{"type":633,"value":634,"toc":1950},"minimark",[635,672,680,685,696,701,713,717,722,996,1021,1025,1167,1184,1188,1341,1366,1370,1647,1699,1713,1717,1746,1756,1760,1813,1817,1820,1834,1844,1895,1905,1909,1946],[636,637,638,659],"ul",{},[639,640,641,650,651,654,655,658],"li",{},[642,643,644,645,649],"strong",{},"WYSIWYG (",[646,647,648],"code",{},"surface: 'atom'",")"," — Insert menu embeds a ",[646,652,653],{},"code_block"," atom. Edit via modal hosting the shared source editor (widget is not contenteditable). Shipped in ",[646,656,657],{},"createDefaultPlugins()",".",[639,660,661,667,668,671],{},[642,662,663,664,649],{},"Code app (",[646,665,666],{},"surface: 'workspace'"," — full-height source editor that owns the document (",[646,669,670],{},"on-codemerge\u002Fcode",").",[673,674,675,676,679],"p",{},"Language is free-text ",[642,677,678],{},"metadata"," (fence \u002F status \u002F download). Paint always uses one shared internal structural ruleset — the same contour as JSON Raw \u002F Markdown source (not a separate public npm package).",[681,682,684],"h2",{"id":683},"demo-wysiwyg-embed","Demo (WYSIWYG embed)",[673,686,687,688,691,692,695],{},"Live code-block atom. ",[642,689,690],{},"Insert → Code block"," \u002F ",[646,693,694],{},"Mod-Alt-Q"," opens the modal; double-click or context menu edits.",[697,698],"editor-component",{":active-plugins":699,":show-results":700},"[\"CodeBlockPlugin\"]","false",[702,703,704],"blockquote",{},[673,705,706,707,710,711,658],{},"Full Code-only app: ",[708,709,41],"a",{"href":42}," · compare surfaces: ",[708,712,15],{"href":16},[681,714,716],{"id":715},"basic-usage","Basic usage",[718,719,721],"h3",{"id":720},"atom-inside-wysiwyg","Atom (inside WYSIWYG)",[723,724,729],"pre",{"className":725,"code":726,"language":727,"meta":728,"style":728},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { Editor, CodeBlockPlugin, createDefaultPlugins } from 'on-codemerge';\nimport 'on-codemerge\u002Findex.css';\nimport 'on-codemerge\u002Fpublic.css';\n\n\u002F\u002F Included in createDefaultPlugins() as CodeBlockPlugin({ surface: 'atom' })\nconst editor = new Editor(host, {\n  plugins: createDefaultPlugins(),\n});\n\n\u002F\u002F Or alone:\nnew Editor(host, {\n  plugins: [CodeBlockPlugin({ surface: 'atom', features: { toolbar: true } })],\n});\n\neditor.command('insertCodeBlock');\n","ts","",[646,730,731,778,792,806,813,820,847,865,875,880,886,900,958,967,972],{"__ignoreMap":728},[732,733,736,740,744,748,751,754,756,759,762,765,768,772,775],"span",{"class":734,"line":735},"line",1,[732,737,739],{"class":738},"s7zQu","import",[732,741,743],{"class":742},"sMK4o"," {",[732,745,747],{"class":746},"sTEyZ"," Editor",[732,749,750],{"class":742},",",[732,752,753],{"class":746}," CodeBlockPlugin",[732,755,750],{"class":742},[732,757,758],{"class":746}," createDefaultPlugins",[732,760,761],{"class":742}," }",[732,763,764],{"class":738}," from",[732,766,767],{"class":742}," '",[732,769,771],{"class":770},"sfazB","on-codemerge",[732,773,774],{"class":742},"'",[732,776,777],{"class":742},";\n",[732,779,781,783,785,788,790],{"class":734,"line":780},2,[732,782,739],{"class":738},[732,784,767],{"class":742},[732,786,787],{"class":770},"on-codemerge\u002Findex.css",[732,789,774],{"class":742},[732,791,777],{"class":742},[732,793,795,797,799,802,804],{"class":734,"line":794},3,[732,796,739],{"class":738},[732,798,767],{"class":742},[732,800,801],{"class":770},"on-codemerge\u002Fpublic.css",[732,803,774],{"class":742},[732,805,777],{"class":742},[732,807,809],{"class":734,"line":808},4,[732,810,812],{"emptyLinePlaceholder":811},true,"\n",[732,814,816],{"class":734,"line":815},5,[732,817,819],{"class":818},"sHwdD","\u002F\u002F Included in createDefaultPlugins() as CodeBlockPlugin({ surface: 'atom' })\n",[732,821,823,827,830,833,836,839,842,844],{"class":734,"line":822},6,[732,824,826],{"class":825},"spNyl","const",[732,828,829],{"class":746}," editor ",[732,831,832],{"class":742},"=",[732,834,835],{"class":742}," new",[732,837,747],{"class":838},"s2Zo4",[732,840,841],{"class":746},"(host",[732,843,750],{"class":742},[732,845,846],{"class":742}," {\n",[732,848,850,854,857,859,862],{"class":734,"line":849},7,[732,851,853],{"class":852},"swJcz","  plugins",[732,855,856],{"class":742},":",[732,858,758],{"class":838},[732,860,861],{"class":746},"()",[732,863,864],{"class":742},",\n",[732,866,868,871,873],{"class":734,"line":867},8,[732,869,870],{"class":742},"}",[732,872,649],{"class":746},[732,874,777],{"class":742},[732,876,878],{"class":734,"line":877},9,[732,879,812],{"emptyLinePlaceholder":811},[732,881,883],{"class":734,"line":882},10,[732,884,885],{"class":818},"\u002F\u002F Or alone:\n",[732,887,889,892,894,896,898],{"class":734,"line":888},11,[732,890,891],{"class":742},"new",[732,893,747],{"class":838},[732,895,841],{"class":746},[732,897,750],{"class":742},[732,899,846],{"class":742},[732,901,903,905,907,910,913,916,919,922,924,926,929,931,933,936,938,940,943,945,949,951,953,956],{"class":734,"line":902},12,[732,904,853],{"class":852},[732,906,856],{"class":742},[732,908,909],{"class":746}," [",[732,911,912],{"class":838},"CodeBlockPlugin",[732,914,915],{"class":746},"(",[732,917,918],{"class":742},"{",[732,920,921],{"class":852}," surface",[732,923,856],{"class":742},[732,925,767],{"class":742},[732,927,928],{"class":770},"atom",[732,930,774],{"class":742},[732,932,750],{"class":742},[732,934,935],{"class":852}," features",[732,937,856],{"class":742},[732,939,743],{"class":742},[732,941,942],{"class":852}," toolbar",[732,944,856],{"class":742},[732,946,948],{"class":947},"sfNiH"," true",[732,950,761],{"class":742},[732,952,761],{"class":742},[732,954,955],{"class":746},")]",[732,957,864],{"class":742},[732,959,961,963,965],{"class":734,"line":960},13,[732,962,870],{"class":742},[732,964,649],{"class":746},[732,966,777],{"class":742},[732,968,970],{"class":734,"line":969},14,[732,971,812],{"emptyLinePlaceholder":811},[732,973,975,978,980,983,985,987,990,992,994],{"class":734,"line":974},15,[732,976,977],{"class":746},"editor",[732,979,658],{"class":742},[732,981,982],{"class":838},"command",[732,984,915],{"class":746},[732,986,774],{"class":742},[732,988,989],{"class":770},"insertCodeBlock",[732,991,774],{"class":742},[732,993,649],{"class":746},[732,995,777],{"class":742},[673,997,998,999,1001,1002,1005,1006,1009,1010,691,1013,1016,1017,1020],{},"Document node: ",[646,1000,653],{}," atom with ",[646,1003,1004],{},"{ language: string; code: string }"," (",[646,1007,1008],{},"CodeBlockAttrs","). In the editor: read-only widget + modal source editor. ",[642,1011,1012],{},"Published HTML",[646,1014,1015],{},"getHTML()",": ",[646,1018,1019],{},"\u003Cpre data-language=\"…\">\u003Ccode>…\u003C\u002Fcode>\u003C\u002Fpre>"," with structural highlight spans.",[718,1022,1024],{"id":1023},"workspace-code-only-app","Workspace (Code-only app)",[723,1026,1028],{"className":725,"code":1027,"language":727,"meta":728,"style":728},"import { Editor, createDefaultPlugins } from 'on-codemerge\u002Fcode';\n\nconst editor = new Editor(host, {\n  chrome: 'bar',\n  plugins: createDefaultPlugins(), \u002F\u002F CodeBlockPlugin({ surface: 'workspace' })\n});\n\neditor.setText('const x = 1;\\n');\nconsole.log(editor.getText());\n",[646,1029,1030,1054,1058,1076,1092,1107,1115,1119,1144],{"__ignoreMap":728},[732,1031,1032,1034,1036,1038,1040,1042,1044,1046,1048,1050,1052],{"class":734,"line":735},[732,1033,739],{"class":738},[732,1035,743],{"class":742},[732,1037,747],{"class":746},[732,1039,750],{"class":742},[732,1041,758],{"class":746},[732,1043,761],{"class":742},[732,1045,764],{"class":738},[732,1047,767],{"class":742},[732,1049,670],{"class":770},[732,1051,774],{"class":742},[732,1053,777],{"class":742},[732,1055,1056],{"class":734,"line":780},[732,1057,812],{"emptyLinePlaceholder":811},[732,1059,1060,1062,1064,1066,1068,1070,1072,1074],{"class":734,"line":794},[732,1061,826],{"class":825},[732,1063,829],{"class":746},[732,1065,832],{"class":742},[732,1067,835],{"class":742},[732,1069,747],{"class":838},[732,1071,841],{"class":746},[732,1073,750],{"class":742},[732,1075,846],{"class":742},[732,1077,1078,1081,1083,1085,1088,1090],{"class":734,"line":808},[732,1079,1080],{"class":852},"  chrome",[732,1082,856],{"class":742},[732,1084,767],{"class":742},[732,1086,1087],{"class":770},"bar",[732,1089,774],{"class":742},[732,1091,864],{"class":742},[732,1093,1094,1096,1098,1100,1102,1104],{"class":734,"line":815},[732,1095,853],{"class":852},[732,1097,856],{"class":742},[732,1099,758],{"class":838},[732,1101,861],{"class":746},[732,1103,750],{"class":742},[732,1105,1106],{"class":818}," \u002F\u002F CodeBlockPlugin({ surface: 'workspace' })\n",[732,1108,1109,1111,1113],{"class":734,"line":822},[732,1110,870],{"class":742},[732,1112,649],{"class":746},[732,1114,777],{"class":742},[732,1116,1117],{"class":734,"line":849},[732,1118,812],{"emptyLinePlaceholder":811},[732,1120,1121,1123,1125,1128,1130,1132,1135,1138,1140,1142],{"class":734,"line":867},[732,1122,977],{"class":746},[732,1124,658],{"class":742},[732,1126,1127],{"class":838},"setText",[732,1129,915],{"class":746},[732,1131,774],{"class":742},[732,1133,1134],{"class":770},"const x = 1;",[732,1136,1137],{"class":746},"\\n",[732,1139,774],{"class":742},[732,1141,649],{"class":746},[732,1143,777],{"class":742},[732,1145,1146,1149,1151,1154,1157,1159,1162,1165],{"class":734,"line":877},[732,1147,1148],{"class":746},"console",[732,1150,658],{"class":742},[732,1152,1153],{"class":838},"log",[732,1155,1156],{"class":746},"(editor",[732,1158,658],{"class":742},[732,1160,1161],{"class":838},"getText",[732,1163,1164],{"class":746},"())",[732,1166,777],{"class":742},[673,1168,1169,1170,1173,1174,1005,1177,1180,1181,658],{},"SoT node: ",[646,1171,1172],{},"code_source"," with ",[646,1175,1176],{},"{ text: string; language: string }",[646,1178,1179],{},"CodeSourceAttrs","). Seed with ",[646,1182,1183],{},"emptyEditorDoc(text?, language?)",[681,1185,1187],{"id":1186},"options","Options",[723,1189,1191],{"className":725,"code":1190,"language":727,"meta":728,"style":728},"CodeBlockPlugin({\n  surface: 'workspace' | 'atom', \u002F\u002F default 'atom'\n  \u002F** Sole source of workspace bar buttons. Omit → defaultCodeToolbar(). *\u002F\n  toolbar?: { menus?: …; items?: … },\n  \u002F** Atom Insert placement (`PluginToolbarOpts`). `menu: null` → bar. *\u002F\n  menu?: string | null,\n  group?: string,\n  order?: number,\n  features?: {\n    toolbar?: boolean; \u002F\u002F Insert button (atom only); default true\n  },\n});\n",[646,1192,1193,1202,1230,1235,1261,1266,1282,1294,1306,1315,1328,1333],{"__ignoreMap":728},[732,1194,1195,1197,1199],{"class":734,"line":735},[732,1196,912],{"class":838},[732,1198,915],{"class":746},[732,1200,1201],{"class":742},"{\n",[732,1203,1204,1207,1209,1211,1214,1216,1219,1221,1223,1225,1227],{"class":734,"line":780},[732,1205,1206],{"class":852},"  surface",[732,1208,856],{"class":742},[732,1210,767],{"class":742},[732,1212,1213],{"class":770},"workspace",[732,1215,774],{"class":742},[732,1217,1218],{"class":742}," |",[732,1220,767],{"class":742},[732,1222,928],{"class":770},[732,1224,774],{"class":742},[732,1226,750],{"class":742},[732,1228,1229],{"class":818}," \u002F\u002F default 'atom'\n",[732,1231,1232],{"class":734,"line":794},[732,1233,1234],{"class":818},"  \u002F** Sole source of workspace bar buttons. Omit → defaultCodeToolbar(). *\u002F\n",[732,1236,1237,1240,1242,1244,1247,1249,1252,1255,1258],{"class":734,"line":808},[732,1238,1239],{"class":746},"  toolbar?",[732,1241,856],{"class":742},[732,1243,743],{"class":742},[732,1245,1246],{"class":746}," menus?",[732,1248,856],{"class":742},[732,1250,1251],{"class":746}," …; items",[732,1253,1254],{"class":742},"?:",[732,1256,1257],{"class":746}," … ",[732,1259,1260],{"class":742},"},\n",[732,1262,1263],{"class":734,"line":815},[732,1264,1265],{"class":818},"  \u002F** Atom Insert placement (`PluginToolbarOpts`). `menu: null` → bar. *\u002F\n",[732,1267,1268,1271,1273,1276,1279],{"class":734,"line":822},[732,1269,1270],{"class":746},"  menu?",[732,1272,856],{"class":742},[732,1274,1275],{"class":746}," string ",[732,1277,1278],{"class":742},"|",[732,1280,1281],{"class":742}," null,\n",[732,1283,1284,1287,1289,1292],{"class":734,"line":849},[732,1285,1286],{"class":746},"  group?",[732,1288,856],{"class":742},[732,1290,1291],{"class":746}," string",[732,1293,864],{"class":742},[732,1295,1296,1299,1301,1304],{"class":734,"line":867},[732,1297,1298],{"class":746},"  order?",[732,1300,856],{"class":742},[732,1302,1303],{"class":746}," number",[732,1305,864],{"class":742},[732,1307,1308,1311,1313],{"class":734,"line":877},[732,1309,1310],{"class":746},"  features?",[732,1312,856],{"class":742},[732,1314,846],{"class":742},[732,1316,1317,1320,1322,1325],{"class":734,"line":882},[732,1318,1319],{"class":746},"    toolbar?",[732,1321,856],{"class":742},[732,1323,1324],{"class":746}," boolean; ",[732,1326,1327],{"class":818},"\u002F\u002F Insert button (atom only); default true\n",[732,1329,1330],{"class":734,"line":888},[732,1331,1332],{"class":742},"  },\n",[732,1334,1335,1337,1339],{"class":734,"line":902},[732,1336,870],{"class":742},[732,1338,649],{"class":746},[732,1340,777],{"class":742},[673,1342,1343,1344,1347,1348,691,1351,1353,1354,1356,1357,691,1360,691,1363,658],{},"Workspace bar buttons never come from feature flags — configure ",[646,1345,1346],{},"toolbar"," (or use ",[646,1349,1350],{},"defaultCodeToolbar",[646,1352,657],{},"). Atom chrome never runs on ",[646,1355,666],{},"; atom Insert uses ",[646,1358,1359],{},"menu",[646,1361,1362],{},"group",[646,1364,1365],{},"order",[718,1367,1369],{"id":1368},"custom-toolbar","Custom toolbar",[723,1371,1373],{"className":725,"code":1372,"language":727,"meta":728,"style":728},"import { defaultCodeToolbar } from 'on-codemerge\u002Fcode';\n\nconst base = defaultCodeToolbar();\nCodeBlockPlugin({\n  surface: 'workspace',\n  toolbar: {\n    menus: base.menus,\n    items: [\n      ...(base.items ?? []),\n      {\n        id: 'code-ping',\n        label: 'Ping',\n        menu: 'edit',\n        run: ({ editor, workspace }) => {\n          editor.notify('ok');\n          workspace?.focus();\n        },\n      },\n    ],\n  },\n});\n",[646,1374,1375,1396,1400,1415,1423,1437,1446,1463,1473,1494,1499,1515,1531,1547,1574,1597,1613,1619,1625,1633,1638],{"__ignoreMap":728},[732,1376,1377,1379,1381,1384,1386,1388,1390,1392,1394],{"class":734,"line":735},[732,1378,739],{"class":738},[732,1380,743],{"class":742},[732,1382,1383],{"class":746}," defaultCodeToolbar",[732,1385,761],{"class":742},[732,1387,764],{"class":738},[732,1389,767],{"class":742},[732,1391,670],{"class":770},[732,1393,774],{"class":742},[732,1395,777],{"class":742},[732,1397,1398],{"class":734,"line":780},[732,1399,812],{"emptyLinePlaceholder":811},[732,1401,1402,1404,1407,1409,1411,1413],{"class":734,"line":794},[732,1403,826],{"class":825},[732,1405,1406],{"class":746}," base ",[732,1408,832],{"class":742},[732,1410,1383],{"class":838},[732,1412,861],{"class":746},[732,1414,777],{"class":742},[732,1416,1417,1419,1421],{"class":734,"line":808},[732,1418,912],{"class":838},[732,1420,915],{"class":746},[732,1422,1201],{"class":742},[732,1424,1425,1427,1429,1431,1433,1435],{"class":734,"line":815},[732,1426,1206],{"class":852},[732,1428,856],{"class":742},[732,1430,767],{"class":742},[732,1432,1213],{"class":770},[732,1434,774],{"class":742},[732,1436,864],{"class":742},[732,1438,1439,1442,1444],{"class":734,"line":822},[732,1440,1441],{"class":852},"  toolbar",[732,1443,856],{"class":742},[732,1445,846],{"class":742},[732,1447,1448,1451,1453,1456,1458,1461],{"class":734,"line":849},[732,1449,1450],{"class":852},"    menus",[732,1452,856],{"class":742},[732,1454,1455],{"class":746}," base",[732,1457,658],{"class":742},[732,1459,1460],{"class":746},"menus",[732,1462,864],{"class":742},[732,1464,1465,1468,1470],{"class":734,"line":867},[732,1466,1467],{"class":852},"    items",[732,1469,856],{"class":742},[732,1471,1472],{"class":746}," [\n",[732,1474,1475,1478,1481,1483,1486,1489,1492],{"class":734,"line":877},[732,1476,1477],{"class":742},"      ...",[732,1479,1480],{"class":746},"(base",[732,1482,658],{"class":742},[732,1484,1485],{"class":746},"items ",[732,1487,1488],{"class":742},"??",[732,1490,1491],{"class":746}," [])",[732,1493,864],{"class":742},[732,1495,1496],{"class":734,"line":882},[732,1497,1498],{"class":742},"      {\n",[732,1500,1501,1504,1506,1508,1511,1513],{"class":734,"line":888},[732,1502,1503],{"class":852},"        id",[732,1505,856],{"class":742},[732,1507,767],{"class":742},[732,1509,1510],{"class":770},"code-ping",[732,1512,774],{"class":742},[732,1514,864],{"class":742},[732,1516,1517,1520,1522,1524,1527,1529],{"class":734,"line":902},[732,1518,1519],{"class":852},"        label",[732,1521,856],{"class":742},[732,1523,767],{"class":742},[732,1525,1526],{"class":770},"Ping",[732,1528,774],{"class":742},[732,1530,864],{"class":742},[732,1532,1533,1536,1538,1540,1543,1545],{"class":734,"line":960},[732,1534,1535],{"class":852},"        menu",[732,1537,856],{"class":742},[732,1539,767],{"class":742},[732,1541,1542],{"class":770},"edit",[732,1544,774],{"class":742},[732,1546,864],{"class":742},[732,1548,1549,1552,1554,1557,1561,1563,1566,1569,1572],{"class":734,"line":969},[732,1550,1551],{"class":838},"        run",[732,1553,856],{"class":742},[732,1555,1556],{"class":742}," ({",[732,1558,1560],{"class":1559},"sHdIc"," editor",[732,1562,750],{"class":742},[732,1564,1565],{"class":1559}," workspace",[732,1567,1568],{"class":742}," })",[732,1570,1571],{"class":825}," =>",[732,1573,846],{"class":742},[732,1575,1576,1579,1581,1584,1586,1588,1591,1593,1595],{"class":734,"line":974},[732,1577,1578],{"class":746},"          editor",[732,1580,658],{"class":742},[732,1582,1583],{"class":838},"notify",[732,1585,915],{"class":852},[732,1587,774],{"class":742},[732,1589,1590],{"class":770},"ok",[732,1592,774],{"class":742},[732,1594,649],{"class":852},[732,1596,777],{"class":742},[732,1598,1600,1603,1606,1609,1611],{"class":734,"line":1599},16,[732,1601,1602],{"class":746},"          workspace",[732,1604,1605],{"class":742},"?.",[732,1607,1608],{"class":838},"focus",[732,1610,861],{"class":852},[732,1612,777],{"class":742},[732,1614,1616],{"class":734,"line":1615},17,[732,1617,1618],{"class":742},"        },\n",[732,1620,1622],{"class":734,"line":1621},18,[732,1623,1624],{"class":742},"      },\n",[732,1626,1628,1631],{"class":734,"line":1627},19,[732,1629,1630],{"class":746},"    ]",[732,1632,864],{"class":742},[732,1634,1636],{"class":734,"line":1635},20,[732,1637,1332],{"class":742},[732,1639,1641,1643,1645],{"class":734,"line":1640},21,[732,1642,870],{"class":742},[732,1644,649],{"class":746},[732,1646,777],{"class":742},[1648,1649,1650,1663],"table",{},[1651,1652,1653],"thead",{},[1654,1655,1656,1660],"tr",{},[1657,1658,1659],"th",{},"Field",[1657,1661,1662],{},"Role",[1664,1665,1666,1683],"tbody",{},[1654,1667,1668,1673],{},[1669,1670,1671],"td",{},[646,1672,982],{},[1669,1674,1675,1676,1679,1680],{},"SDK ",[646,1677,1678],{},"ToolbarButton.command"," → ",[646,1681,1682],{},"onCommand",[1654,1684,1685,1690],{},[1669,1686,1687],{},[646,1688,1689],{},"run",[1669,1691,1692,1693,1696,1697],{},"Deferred click (",[646,1694,1695],{},"{ editor, workspace }",") — prefer ",[646,1698,1689],{},[673,1700,1701,1702,1705,1706,1709,1710,658],{},"Default workspace menus: ",[642,1703,1704],{},"Edit"," (copy \u002F select all \u002F clear \u002F indent \u002F outdent) and ",[642,1707,1708],{},"File"," (download \u002F upload). Undo\u002Fredo toolbar is built into ",[646,1711,1712],{},"\u002Feditor",[681,1714,1716],{"id":1715},"commands","Commands",[1648,1718,1719,1731],{},[1651,1720,1721],{},[1654,1722,1723,1726,1729],{},[1657,1724,1725],{},"Command",[1657,1727,1728],{},"Surface",[1657,1730,1662],{},[1664,1732,1733],{},[1654,1734,1735,1739,1741],{},[1669,1736,1737],{},[646,1738,989],{},[1669,1740,928],{},[1669,1742,1743,1744],{},"Open modal → insert ",[646,1745,653],{},[673,1747,1748,1749,691,1752,1755],{},"Edit and copy use the atom context menu \u002F widget header — there are no separate ",[646,1750,1751],{},"editCodeBlock",[646,1753,1754],{},"copyCodeBlock"," commands.",[681,1757,1759],{"id":1758},"keyboard","Keyboard",[1648,1761,1762,1773],{},[1651,1763,1764],{},[1654,1765,1766,1769,1771],{},[1657,1767,1768],{},"Shortcut",[1657,1770,1728],{},[1657,1772,1725],{},[1664,1774,1775,1787,1803],{},[1654,1776,1777,1781,1783],{},[1669,1778,1779],{},[646,1780,694],{},[1669,1782,928],{},[1669,1784,1785],{},[646,1786,989],{},[1654,1788,1789,1797,1800],{},[1669,1790,1791,691,1794],{},[646,1792,1793],{},"Mod-z",[646,1795,1796],{},"Mod-y",[1669,1798,1799],{},"workspace (focused source)",[1669,1801,1802],{},"Local source-buffer undo\u002Fredo",[1654,1804,1805,1808,1810],{},[1669,1806,1807],{},"Toolbar History",[1669,1809,1213],{},[1669,1811,1812],{},"Kernel SoT undo\u002Fredo after commit",[681,1814,1816],{"id":1815},"context-menu-atom","Context menu (atom)",[673,1818,1819],{},"Right-click a code block:",[636,1821,1822,1828],{},[639,1823,1824,1827],{},[642,1825,1826],{},"Edit Code Block"," — open modal (source editor)",[639,1829,1830,1833],{},[642,1831,1832],{},"Copy Code"," — clipboard",[681,1835,1837,1838,691,1841,649],{"id":1836},"html-boundary-gethtml-sethtml","HTML boundary (",[646,1839,1840],{},"getHTML",[646,1842,1843],{},"setHTML",[723,1845,1849],{"className":1846,"code":1847,"language":1848,"meta":728,"style":728},"language-html shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cpre data-language=\"javascript\">\u003Ccode>console.log(\"Hello World\");\u003C\u002Fcode>\u003C\u002Fpre>\n","html",[646,1850,1851],{"__ignoreMap":728},[732,1852,1853,1856,1858,1861,1863,1866,1869,1871,1874,1876,1879,1882,1885,1887,1890,1892],{"class":734,"line":735},[732,1854,1855],{"class":742},"\u003C",[732,1857,723],{"class":852},[732,1859,1860],{"class":825}," data-language",[732,1862,832],{"class":742},[732,1864,1865],{"class":742},"\"",[732,1867,1868],{"class":770},"javascript",[732,1870,1865],{"class":742},[732,1872,1873],{"class":742},">\u003C",[732,1875,646],{"class":852},[732,1877,1878],{"class":742},">",[732,1880,1881],{"class":746},"console.log(\"Hello World\");",[732,1883,1884],{"class":742},"\u003C\u002F",[732,1886,646],{"class":852},[732,1888,1889],{"class":742},">\u003C\u002F",[732,1891,723],{"class":852},[732,1893,1894],{"class":742},">\n",[673,1896,1897,1900,1901,1904],{},[646,1898,1899],{},"data-language"," is metadata only — highlight does not switch grammars. Live chrome (",[646,1902,1903],{},".code-block"," header \u002F copy button) is view-only and is not the HTML export shape.",[681,1906,1908],{"id":1907},"troubleshooting","Troubleshooting",[1910,1911,1912,1919,1922,1935],"ol",{},[639,1913,1914,1915,1918],{},"Highlighting missing — ensure published \u002F editor CSS includes shared ",[646,1916,1917],{},".token.*"," styles from the source-editor contour.",[639,1920,1921],{},"Edit does nothing — use the context menu \u002F modal; the widget itself is not contenteditable.",[639,1923,1924,1925,1928,1929,691,1932,1934],{},"Workspace throws on mount — seed ",[646,1926,1927],{},"emptyEditorDoc()"," and use ",[646,1930,1931],{},"createShellView",[646,1933,670],{}," (not a prose CE host).",[639,1936,1937,1938,1941,1942,1945],{},"Document not updating — listen to ",[646,1939,1940],{},"editor.on('docChanged')","; ",[646,1943,1944],{},"getText()"," flushes the debounce window.",[1947,1948,1949],"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 .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}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 pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}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}",{"title":728,"searchDepth":780,"depth":794,"links":1951},[1952,1953,1957,1960,1961,1962,1963,1965],{"id":683,"depth":780,"text":684},{"id":715,"depth":780,"text":716,"children":1954},[1955,1956],{"id":720,"depth":794,"text":721},{"id":1023,"depth":794,"text":1024},{"id":1186,"depth":780,"text":1187,"children":1958},[1959],{"id":1368,"depth":794,"text":1369},{"id":1715,"depth":780,"text":1716},{"id":1758,"depth":780,"text":1759},{"id":1815,"depth":780,"text":1816},{"id":1836,"depth":780,"text":1964},"HTML boundary (getHTML \u002F setHTML)",{"id":1907,"depth":780,"text":1908},"CodeBlockPlugin is the shared code surface for both editors:","md",null,{},{"title":131},{"title":631,"description":1966},"mJLK_Tbt8sTDdgF3ZE_8nxgGFas1zMlY-ao8WkzF7RI",[1974,1976],{"title":127,"path":128,"stem":129,"description":1975,"children":-1},"The Templates Plugin provides template management capabilities for the on-CodeMerge editor, allowing users to create, save, and apply content templates for faster document creation.",{"title":135,"path":136,"stem":137,"description":1977,"children":-1},"Insert via Insert → Math or Mod-Shift-m. Expressions use a TeX subset; the editor renders MathML (no KaTeX).",1794129105357]