PageSourceSearch

https://blocksuite.io/

html blocksuite.io collected 2026-10-08 05:49:20 UTC 33,456 bytes, 30 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-US" dir="ltr">
3  <head>
4    <meta charset="utf-8">
5    <meta name="viewport" content="width=device-width,initial-scale=1">
6    <title>BlockSuite | Content Editing Tech Stack</title>
7    <meta name="description" content="Content Editing Tech Stack for the Web">
8    <meta name="generator" content="VitePress v1.6.4">
9    <link rel="preload stylesheet" href="/assets/style.CnncR-bW.css" as="style">
10    <link rel="preload stylesheet" href="/vp-icons.css" as="style">
11    
12    
12<script type="module" src="/assets/app.EoS0B4CX.js"></script>
12
13    <link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
14    <link rel="modulepreload" href="/assets/chunks/theme.CuO_wThf.js">
15    <link rel="modulepreload" href="/assets/chunks/framework.BwFckQZU.js">
16    <link rel="modulepreload" href="/assets/index.md.DE9f-_uL.lean.js">
17    <link rel="icon" type="image/png" sizes="32x32" href="https://raw.githubusercontent.com/toeverything/blocksuite/master/assets/logo.svg">
18    <meta property="twitter:card" content="summary_large_image">
19    <meta property="twitter:image" content="https://raw.githubusercontent.com/toeverything/blocksuite/master/packages/docs/images/blocksuite-cover.jpg">
20    <meta property="og:image" content="https://raw.githubusercontent.com/toeverything/blocksuite/master/packages/docs/images/blocksuite-cover.jpg">
21    
21<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
21
22    
22<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
22
23  </head>
24  <body>
25    <div id="app"><div class="Layout" data-v-a9a9e638><!--[--><!--]--><!--[--><span tabindex="-1" data-v-492508fc></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-492508fc>Skip to content</a><!--]--><!----><header class="VPNav" data-v-a9a9e638 data-v-f1e365da><div class="VPNavBar" data-v-f1e365da data-v-822684d1><div class="wrapper" data-v-822684d1><div class="container" data-v-822684d1><div class="title" data-v-822684d1><div class="VPNavBarTitle" data-v-822684d1 data-v-0f4f798b><a class="title" href="/" data-v-0f4f798b><!--[--><!--]--><!----><span data-v-0f4f798b>BlockSuite</span><!--[--><!--]--></a></div></div><div class="content" data-v-822684d1><div class="content-body" data-v-822684d1><!--[--><!--]--><div class="VPNavBarSearch search" data-v-822684d1><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-822684d1 data-v-e6d46098><span id="main-nav-aria-label" class="visually-hidden" data-v-e6d46098> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/components/overview.html" tabindex="0" data-v-e6d46098 data-v-956ec74c><!--[--><span data-v-956ec74c>Components</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/guide/overview.html" tabindex="0" data-v-e6d46098 data-v-956ec74c><!--[--><span data-v-956ec74c>Framework</span><!--]--></a><!--]--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://try-blocksuite.vercel.app/?init" target="_blank" rel="noreferrer" tabindex="0" data-v-e6d46098 data-v-956ec74c><!--[--><span data-v-956ec74c>Playground</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-e6d46098 data-v-04f5c5e9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-04f5c5e9><span class="text" data-v-04f5c5e9><!----><span data-v-04f5c5e9>More</span><span class="vpi-chevron-down text-icon" data-v-04f5c5e9></span></span></button><div class="menu" data-v-04f5c5e9><div class="VPMenu" data-v-04f5c5e9 data-v-7dd3104a><div class="items" data-v-7dd3104a><!--[--><!--[--><div class="VPMenuLink" data-v-7dd3104a data-v-acbfed09><a class="VPLink link" href="/blog/" data-v-acbfed09><!--[--><span data-v-acbfed09>Blog</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-7dd3104a data-v-acbfed09><a class="VPLink link" href="/api/" data-v-acbfed09><!--[--><span data-v-acbfed09>API</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-7dd3104a data-v-acbfed09><a class="VPLink link vp-external-link-icon" href="https://github.com/toeverything/blocksuite/releases" target="_blank" rel="noreferrer" data-v-acbfed09><!--[--><span data-v-acbfed09>Releases</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-822684d1 data-v-af096f4a><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-af096f4a data-v-e40a8bb6 data-v-4a1c76db><span class="check" data-v-4a1c76db><span class="icon" data-v-4a1c76db><!--[--><span class="vpi-sun sun" data-v-e40a8bb6></span><span class="vpi-moon moon" data-v-e40a8bb6></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-822684d1 data-v-164c457f data-v-ee7a9424><!--[--><a class="VPSocialLink no-icon" href="https://github.com/toeverything/blocksuite" aria-label="github" target="_blank" rel="noopener" data-v-ee7a9424 data-v-d26d30cb><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://twitter.com/AffineDev" aria-label target="_blank" rel="noopener" data-v-ee7a9424 data-v-d26d30cb><svg role="img" xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewB
25ox="0 0 512 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2023 Fonticons, Inc.--><path fill="#777777" d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-822684d1 data-v-925effce data-v-04f5c5e9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-04f5c5e9><span class="vpi-more-horizontal icon" data-v-04f5c5e9></span></button><div class="menu" data-v-04f5c5e9><div class="VPMenu" data-v-04f5c5e9 data-v-7dd3104a><!----><!--[--><!--[--><!----><div class="group" data-v-925effce><div class="item appearance" data-v-925effce><p class="label" data-v-925effce>Appearance</p><div class="appearance-action" data-v-925effce><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-925effce data-v-e40a8bb6 data-v-4a1c76db><span class="check" data-v-4a1c76db><span class="icon" data-v-4a1c76db><!--[--><span class="vpi-sun sun" data-v-e40a8bb6></span><span class="vpi-moon moon" data-v-e40a8bb6></span><!--]--></span></span></button></div></div></div><div class="group" data-v-925effce><div class="item social-links" data-v-925effce><div class="VPSocialLinks social-links-list" data-v-925effce data-v-ee7a9424><!--[--><a class="VPSocialLink no-icon" href="https://github.com/toeverything/blocksuite" aria-label="github" target="_blank" rel="noopener" data-v-ee7a9424 data-v-d26d30cb><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://twitter.com/AffineDev" aria-label target="_blank" rel="noopener" data-v-ee7a9424 data-v-d26d30cb><svg role="img" xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewB
25ox="0 0 512 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2023 Fonticons, Inc.--><path fill="#777777" d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/></svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-822684d1 data-v-5dea55bf><span class="container" data-v-5dea55bf><span class="top" data-v-5dea55bf></span><span class="middle" data-v-5dea55bf></span><span class="bottom" data-v-5dea55bf></span></span></button></div></div></div></div><div class="divider" data-v-822684d1><div class="divider-line" data-v-822684d1></div></div></div><!----></header><!----><!----><div class="VPContent is-home" id="VPContent" data-v-a9a9e638 data-v-91765379><div class="VPHome" data-v-91765379 data-v-e40e30de><!--[--><!--]--><div class="VPHero has-image VPHomeHero" data-v-e40e30de data-v-3d256e5e><div class="container" data-v-3d256e5e><div class="main" data-v-3d256e5e><!--[--><!--]--><!--[--><h1 class="heading" data-v-3d256e5e><span class="name clip" data-v-3d256e5e>BlockSuite</span><span class="text" data-v-3d256e5e>Content Editing Tech Stack for the Web</span></h1><p class="tagline" data-v-3d256e5e>BlockSuite is a toolkit for building editors and collaborative applications.</p><!--]--><!--[--><!--]--><div class="actions" data-v-3d256e5e><!--[--><div class="action" data-v-3d256e5e><a class="VPButton medium brand" href="/guide/quick-start.html" data-v-3d256e5e data-v-906d7fb4>Get Started</a></div><div class="action" data-v-3d256e5e><a class="VPButton medium alt" href="/guide/overview.html" data-v-3d256e5e data-v-906d7fb4>Learn More</a></div><!--]--></div><!--[--><!--]--></div><div class="image" data-v-3d256e5e><div class="image-container" data-v-3d256e5e><div class="image-bg" data-v-3d256e5e></div><!--[--><!--[--><!--[--><!--[--><!--[--><img style="width:70%;height:100%;margin:auto;opacity:0.8;" src="https://raw.githubusercontent.com/toeverything/blocksuite/master/assets/logo.svg"><!--]--><!--]--><!--]--><!--]--><!--]--></div></div></div></div><!--[--><!--]--><!--[--><!--]--><div class="VPFeatures VPHomeFeatures" data-v-e40e30de data-v-d0a190d7><div class="container" data-v-d0a190d7><div class="items" data-v-d0a190d7><!--[--><div class="grid-3 item" data-v-d0a190d7><a class="VPLink link no-icon VPFeature" href="/guide/overview.html" data-v-d0a190d7 data-v-f5e9645b><!--[--><article class="box" data-v-f5e9645b><!----><h2 class="title" data-v-f5e9645b>🧩 Headless Editor Framework</h2><p class="details" data-v-f5e9645b>BlockSuite provides a vanilla framework for building various editors, enabling the design of diverse editing interfaces.</p><div class="link-text" data-v-f5e9645b><p class="link-text-value" data-v-f5e9645b>Learn More <span class="vpi-arrow-right link-text-icon" data-v-f5e9645b></span></p></div></article><!--]--></a></div><div class="grid-3 item" data-v-d0a190d7><a class="VPLink link no-icon VPFeature" href="/components/overview.html" data-v-d0a190d7 data-v-f5e9645b><!--[--><article class="box" data-v-f5e9645b><!----><h2 class="title" data-v-f5e9645b>🎨 Extensive Components</h2><p class="details" data-v-f5e9645b>Based on the framework, BlockSuite ships components for building complex editor UIs, which are highly interoperable.</p><div class="link-text" data-v-f5e9645b><p class="link-text-value" data-v-f5e9645b>Learn More <span class="vpi-arrow-right link-text-icon" data-v-f5e9645b></span></p></div></article><!--]--></a></div><div class="grid-3 item" data-v-d0a190d7><a class="VPLink link no-icon VPFeature" href="/blog/crdt-native-data-flow.html" data-v-d0a190d7 data-v-f5e9645b><!--[--><article class="box" data-v-f5e9645b><!----><h2 class="title" data-v-f5e9645b>🧬 Collaborative at Core</h2><p class="details" data-v-f5e9645b>Natively powered by CRDT, BlockSuite supports document streaming and conflict resolution at its heart, ready for collaboration inherently.</p><div class="link-text" data-v-f5e9645b><p class="link-text-value" data-v-f5e9645b>
25Learn More <span class="vpi-arrow-right link-text-icon" data-v-f5e9645b></span></p></div></article><!--]--></a></div><!--]--></div></div></div><!--[--><!--]--><div class="vp-doc container" style="" data-v-e40e30de data-v-7a48a447><!--[--><div style="position:relative;" data-v-e40e30de><div></div></div><!--]--></div></div></div><footer class="VPFooter" data-v-a9a9e638 data-v-c970a860><div class="container" data-v-c970a860><!----><p class="copyright" data-v-c970a860>Copyright © 2022-present Toeverything</p></div></footer><!--[--><!--]--></div></div>
26    
26<script>window.__VP_HASH_MAP__=JSON.parse("{\"api_@blocksuite_affine-block-attachment.md\":\"Cs5syj4P\",\"api_@blocksuite_affine-block-bookmark.md\":\"8lNU359p\",\"api_@blocksuite_affine-block-callout.md\":\"C2s28_GE\",\"api_@blocksuite_affine-block-code.md\":\"yez6S2LW\",\"api_@blocksuite_affine-block-data-view.md\":\"DEwsp4EI\",\"api_@blocksuite_affine-block-database.md\":\"CrCgRq5m\",\"api_@blocksuite_affine-block-divider.md\":\"4teMHDYY\",\"api_@blocksuite_affine-block-edgeless-text.md\":\"DMlfoy2Q\",\"api_@blocksuite_affine-block-embed-doc.md\":\"BPdLXuXJ\",\"api_@blocksuite_affine-block-embed.md\":\"Dd5ixEcu\",\"api_@blocksuite_affine-block-frame.md\":\"DCY1S73X\",\"api_@blocksuite_affine-block-image.md\":\"BViBgZQd\",\"api_@blocksuite_affine-block-latex.md\":\"BquvIcmW\",\"api_@blocksuite_affine-block-list.md\":\"CST_zxMr\",\"api_@blocksuite_affine-block-note.md\":\"BvbRSmw2\",\"api_@blocksuite_affine-block-paragraph.md\":\"Ck0jncQ7\",\"api_@blocksuite_affine-block-root.md\":\"vbxbvHoX\",\"api_@blocksuite_affine-block-surface-ref.md\":\"JSjxvLmT\",\"api_@blocksuite_affine-block-surface.md\":\"yGzgJGFG\",\"api_@blocksuite_affine-block-table.md\":\"CKUmc1jw\",\"api_@blocksuite_affine-components.md\":\"kWzH8y5C\",\"api_@blocksuite_affine-ext-loader.md\":\"DX5YtQ54\",\"api_@blocksuite_affine-foundation.md\":\"1SaYhOGJ\",\"api_@blocksuite_affine-fragment-adapter-panel.md\":\"WEycwPK3\",\"api_@blocksuite_affine-fragment-doc-title.md\":\"CFcbsFHe\",\"api_@blocksuite_affine-fragment-frame-panel.md\":\"nKVTFgNl\",\"api_@blocksuite_affine-fragment-outline.md\":\"Dd6taO2o\",\"api_@blocksuite_affine-gfx-brush.md\":\"DsXnVmZ0\",\"api_@blocksuite_affine-gfx-connector.md\":\"yDDiFiwQ\",\"api_@blocksuite_affine-gfx-group.md\":\"B-Zq5S68\",\"api_@blocksuite_affine-gfx-link.md\":\"DqGf2Kyn\",\"api_@blocksuite_affine-gfx-mindmap.md\":\"CX1CSBDy\",\"api_@blocksuite_affine-gfx-note.md\":\"CJQ5NuYQ\",\"api_@blocksuite_affine-gfx-pointer.md\":\"4_22QUlz\",\"api_@blocksuite_affine-gfx-shape.md\":\"CAMxCp9W\",\"api_@blocksuite_affine-gfx-template.md\":\"CK82GTvL\",\"api_@blocksuite_affine-gfx-text.md\":\"BKB1GfGj\",\"api_@blocksuite_affine-gfx-turbo-renderer.md\":\"jIgeoeLQ\",\"api_@blocksuite_affine-inline-comment.md\":\"CnZERZOX\",\"api_@blocksuite_affine-inline-footnote.md\":\"DTzIecc5\",\"api_@blocksuite_affine-inline-latex.md\":\"BVD-0BaT\",\"api_@blocksuite_affine-inline-link.md\":\"I909ohot\",\"api_@blocksuite_affine-inline-mention.md\":\"BCFW0ycI\",\"api_@blocksuite_affine-inline-preset.md\":\"CsRZTDc5\",\"api_@blocksuite_affine-inline-reference.md\":\"67IwLswV\",\"api_@blocksuite_affine-model.md\":\"C-VD20yh\",\"api_@blocksuite_affine-rich-text.md\":\"DSQFW50d\",\"api_@blocksuite_affine-shared.md\":\"BZ--6jhE\",\"api_@blocksuite_affine-widget-drag-handle.md\":\"BaPHjhou\",\"api_@blocksuite_affine-widget-edgeless-auto-connect.md\":\"Dzpa6WT3\",\"api_@blocksuite_affine-widget-edgeless-dragging-area.md\":\"D0iWHDpl\",\"api_@blocksuite_affine-widget-edgeless-selected-rect.md\":\"0rf4UUMi\",\"api_@blocksuite_affine-widget-edgeless-toolbar.md\":\"SyoDcN3-\",\"api_@blocksuite_affine-widget-edgeless-zoom-toolbar.md\":\"nfVZsET1\",\"api_@blocksuite_affine-widget-frame-title.md\":\"D5tDlesn\",\"api_@blocksuite_affine-widget-keyboard-toolbar.md\":\"DckFWBBi\",\"api_@blocksuite_affine-widget-linked-doc.md\":\"BjW60pLL\",\"api_@blocksuite_affine-widget-note-slicer.md\":\"3DAFcuO8\",\"api_@blocksuite_affine-widget-page-dragging-area.md\":\"CRZ0TjxQ\",\"api_@blocksuite_affine-widget-remote-selection.md\":\"DCB_0YiD\",\"api_@blocksuite_affine-widget-scroll-anchoring.md\":\"Bxzk2Cmo\",\"api_@blocksuite_affine-widget-slash-menu.md\":\"C01uu633\",\"api_@blocksuite_affine-widget-toolbar.md\":\"Cdm_Y6-_\",\"api_@blocksuite_affine-widget-viewport-overlay.md\":\"ClhUOVQs\",\"api_@blocksuite_affine.md\":\"CA7Azobd\",\"api_@blocksuite_data-view.md\":\"kmZ-JWN6\",\"api_@blocksuite_global.md\":\"CQXVsFKF\",\"api_@blocksuite_std_effects.md\":\"BbUmsmqF\",\"api_@blocksuite_std_gfx.md\":\"DdPswFHC\",\"api_@blocksuite_std_index-1.md\":\"Cck90F0e\",\"api_@blocksuite_std_index.md\":\"Bb3vB2Ni\",\"api_@blocksuite_store.md\":\"BnToTi11\",\"api_@blocksuite_sync.md\":\"y7FsX6mz\",\"api_index.md\":\"UXiojjj8\",\"blog_crdt-native-data-flow.md\":\"DXhtWJzg\",\"blog_document-centric.md\":\"Cj_fTZQk\",\"blog_index.md\":\"BMUHxgbG\",\"components_blocks_attachment-block.md\":\"sqGc3MXG\",\"components_blocks_code-block.md\":\"CqWpk66B\",\"components_blocks_database-block.md\":\"AfX2HWl9\",\"components_blocks_divider-block.md\":\"DkjL43wr\",\"components_blocks_embed-blocks.md\":\"De4c5noI\",\"components_blocks_frame-block.md\":\"DpGUF0Mg\",\"components_blocks_image-block.md\":\"B4hHI_FQ\",\"components_blocks_link-blocks.md\":\"J4-udT6-\",\"components_blocks_list-block.md\":\"Cl2WgrRg\",\"components_blocks_note-block.md\":\"oUFAf8t1\",\"components_blocks_paragraph-block.md\":\"1AlZi4x5\",\"components_blocks_root-block.md\":\"D8CstJmf\",\"components_blocks_surface-block.md\":\"BIuF0FhX\",\"components_editors_edgeless-data-structure.md\":\"D273wUW2\",\"components_editors_edgeless-editor.md\":\"CU6iMoyQ\",\"components_editors_page-editor.md\":\"BKzP1x4j\",\"components_fragments_b
26i-directional-link-panel.md\":\"DOe1mEtu\",\"components_fragments_copilot-panel.md\":\"BCbwqvj7\",\"components_fragments_doc-title.md\":\"BpXIl0wV\",\"components_fragments_frame-panel.md\":\"Dxtgoqfl\",\"components_fragments_outline-panel.md\":\"Do_NbqFS\",\"components_overview.md\":\"BVW6bz9b\",\"components_widgets_drag-handle.md\":\"CX97DDI_\",\"components_widgets_format-bar.md\":\"Crbf0s0t\",\"components_widgets_pie-menu.md\":\"CRARo0l_\",\"components_widgets_slash-menu.md\":\"BXAmkjr1\",\"guide_adapter.md\":\"DAIiB3bI\",\"guide_block-schema.md\":\"DCJWaDTY\",\"guide_block-service.md\":\"D_6cKkAl\",\"guide_block-spec.md\":\"BopMfQXU\",\"guide_block-view.md\":\"Dn-iEpX_\",\"guide_block-widgets.md\":\"DBLRziuC\",\"guide_command.md\":\"a5jHPk5E\",\"guide_component-types.md\":\"ybOUq883\",\"guide_data-synchronization.md\":\"CQCckZ4D\",\"guide_event.md\":\"DKjBu8rs\",\"guide_inline.md\":\"BpGeJGrQ\",\"guide_overview.md\":\"CFSZvTeQ\",\"guide_quick-start.md\":\"CYeRqZjj\",\"guide_selection.md\":\"BsZHcHA6\",\"guide_slot.md\":\"GldKLl1B\",\"guide_store.md\":\"C8pFCx2T\",\"guide_working-with-block-tree.md\":\"DKhOV5-V\",\"index.md\":\"DE9f-_uL\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"BlockSuite\",\"description\":\"Content Editing Tech Stack for the Web\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"outline\":[2,3],\"nav\":[{\"text\":\"Components\",\"link\":\"/components/overview\",\"activeMatch\":\"/components/*\"},{\"text\":\"Framework\",\"link\":\"/guide/overview\",\"activeMatch\":\"/guide/*\"},{\"text\":\"Playground\",\"link\":\"https://try-blocksuite.vercel.app/?init\"},{\"text\":\"More\",\"items\":[{\"text\":\"Blog\",\"link\":\"/blog/\",\"activeMatch\":\"/blog/*\"},{\"text\":\"API\",\"link\":\"/api/\",\"activeMatch\":\"/api/*\"},{\"text\":\"Releases\",\"link\":\"https://github.com/toeverything/blocksuite/releases\"}]}],\"sidebar\":{\"/guide/\":{\"base\":\"/\",\"items\":[{\"text\":\"Introduction\",\"items\":[{\"text\":\"Overview\",\"link\":\"guide/overview\"},{\"text\":\"Quick Start\",\"link\":\"guide/quick-start\"}]},{\"text\":\"Framework Guide\",\"items\":[{\"text\":\"Component Types\",\"link\":\"guide/component-types\"},{\"text\":\"Working with Block Tree\",\"link\":\"guide/working-with-block-tree\",\"
26items\":[{\"text\":\"Block Tree Basics\",\"link\":\"guide/working-with-block-tree#block-tree-basics\"},{\"text\":\"Block Tree in Editor\",\"link\":\"guide/working-with-block-tree#block-tree-in-editor\"},{\"text\":\"Selecting Blocks\",\"link\":\"guide/working-with-block-tree#selecting-blocks\"},{\"text\":\"Service and Commands\",\"link\":\"guide/working-with-block-tree#service-and-commands\"},{\"text\":\"Defining New Blocks\",\"link\":\"guide/working-with-block-tree#defining-new-blocks\"}]},{\"text\":\"Data Synchronization\",\"link\":\"guide/data-synchronization\"}]},{\"text\":\"Framework Handbook\",\"items\":[{\"text\":\"<code>block-std</code>\",\"items\":[{\"text\":\"Block Spec\",\"link\":\"guide/block-spec\",\"items\":[{\"text\":\"Block Schema\",\"link\":\"guide/block-schema\"},{\"text\":\"Block Service\",\"link\":\"guide/block-service\"},{\"text\":\"Block View\",\"link\":\"guide/block-view\"},{\"text\":\"Block Widgets\",\"link\":\"guide/block-widgets\"}]},{\"text\":\"Selection\",\"link\":\"guide/selection\"},{\"text\":\"Event\",\"link\":\"guide/event\"},{\"text\":\"Command\",\"link\":\"guide/command\"}]},{\"text\":\"<code>store</code>\",\"items\":[{\"text\":\"Doc\",\"link\":\"guide/store#doc\"},{\"text\":\"DocCollection\",\"link\":\"guide/store#doccollection\"},{\"text\":\"Slot\",\"link\":\"guide/slot\"},{\"text\":\"Adapter\",\"link\":\"guide/adapter\"}]},{\"text\":\"<code>inline</code>\",\"link\":\"guide/inline\"}]},{\"text\":\"Developing BlockSuite\",\"items\":[{\"text\":\"Building Packages\",\"link\":\"//github.com/toeverything/blocksuite/blob/master/BUILDING.md\"},{\"text\":\"Running Tests\",\"link\":\"//github.com/toeverything/blocksuite/blob/master/BUILDING.md#testing\"}]}]},\"/api/\":{\"base\":\"/\",\"items\":[{\"text\":\"API Reference\",\"items\":[{\"text\":\"@blocksuite/affine\",\"link\":\"api/@blocksuite/affine\"},{\"text\":\"@blocksuite/affine-block-attachment\",\"link\":\"api/@blocksuite/affine-block-attachment\"},{\"text\":\"@blocksuite/affine-block-bookmark\",\"link\":\"api/@blocksuite/affine-block-bookmark\"},{\"text\":\"@blocksuite/affine-block-callout\",\"link\":\"api/@blocksuite/affine-block-callout\"},{\"text\":\"@blocksuite/affine-block-code\",\"link\":\"api/@blocksuite/affine-block-code\"},{\"text\":\"@blocksuite/affine-block-data-view\",\"link\":\"api/@blocksuite/affine-block-data-view\"},{\"text\":\"@blocksuite/affine-block-database\",\"link\":\"api/@blocksuite/affine-block-database\"},{\"text\":\"@blocksuite/affine-block-divider\",\"link\":\"api/@blocksuite/affine-block-divider\"},{\"text\":\"@blocksuite/affine-block-edgeless-text\",\"link\":\"api/@blocksuite/affine-block-edgeless-text\"},{\"text\":\"@blocksuite/affine-block-embed\",\"link\":\"api/@blocksuite/affine-block-embed\"},{\"text\":\"@blocksuite/affine-block-embed-doc\",\"link\":\"api/@blocksuite/affine-block-embed-doc\"},{\"text\":\"@blocksuite/affine-block-frame\",\"link\":\"api/@blocksuite/affine-block-frame\"},{\"text\":\"@blocksuite/affine-block-image\",\"link\":\"api/@blocksuite/affine-block-image\"},{\"text\":\"@blocksuite/affine-block-latex\",\"link\":\"api/@blocksuite/affine-block-latex\"},{\"text\":\"@blocksuite/affine-block-list\",\"link\":\"api/@blocksuite/affine-block-list\"},{\"text\":\"@blocksuite/affine-block-note\",\"link\":\"api/@blocksuite/affine-block-note\"},{\"text\":\"@blocksuite/affine-block-paragraph\",\"link\":\"api/@blocksuite/affine-block-paragraph\"},{\"text\":\"@blocksuite/affine-block-root\",\"link\":\"api/@blocksuite/affine-block-root\"},{\"text\":\"@blocksuite/affine-block-surface\",\"link\":\"api/@blocksuite/affine-block-surface\"},{\"text\":\"@blocksuite/affine-block-surface-ref\",\"link\":\"api/@blocksuite/affine-block-surface-ref\"},{\"text\":\"@blocksuite/affine-block-table\",\"link\":\"api/@blocksuite/affine-block-table\"},{\"text\":\"@blocksuite/affine-components\",\"link\":\"api/@blocksuite/affine-components\"},{\"text\":\"@blocksuite/affine-ext-loader\",\"link\":\"api/@blocksuite/affine-ext-loader\"},{\"text\":\"@blocksuite/affine-foundation\",\"link\":\"api/@blocksuite/affine-foundation\"},{\"text\":\"@blocksuite/affine-fragment-adapter-panel\",\"link\":\"api/@blocksuite/affine-fragment-adapter-panel\"},{\"text\":\"@blocksuite/affine-fragment-doc-title\",\"link\":\"api/@blocksuite/affine-fragment-doc-title\"},{\"text\":\"@blocksuite/affine-fragment-frame-panel\",\"link\":\"api/@blocksuite/affine-fragment-frame-panel\"},{\"text\":\"@blocksuite/affine-fragment-outline\",\"link\":\"api/@blocksuite/affine-fragment-outline\"},{\"text\":\"@blocksuite/affine-gfx-brush\",\"link\":\"api/@blocksuite/affine-gfx-brush\"},{\"text\":\"@blocksuite/affine-gfx-connector\",\"link\":\"api/@blocksuite/affine-gfx-connector\"},{\"text\":\"@blocksuite/affine-gfx-group\",\"link\":\"api/@blocksuite/affine-gfx-group\"},{\"text\":\"@blocksuite/affine-gfx-link\",\"link\":\"api/@blocksuite/affine-gfx-link\"},{\"text\":\"@blocksuite/affine-gfx-mindmap\",\"link\":\"api/@blocksuite/affine-gfx-mindmap\"},{\"text\":\"@blocksuite/affine-gfx-note\",\"link\":\"api/@blocksuite/affine-gfx-note\"},{\"text\":\"@blocksuite/affine-gfx-pointer\",\"link\":\"api/@blocksuite/affine-gfx-pointer\"},{\"text\":\"@blocksuite/affine-gfx-shape\",\"link\":\"api/@blocksuite/affine-gfx-shape\"},{\"text\":\"@blocksuite/affine-gfx-template\",\"link\":\"api/@blocksuite/affine-gfx-template\"},{\"text\":\"@blocksuite/affine-gfx-text\",\"link\":\"api/@blocksuite/affine-gfx-text\"},{\"text\":\"@blocksuite/affine-gfx-turbo-renderer\",\"link\":\"api/@blocksuite/affine-gfx-turbo-renderer\"},{\"text\":\"@blocksuite/affine-inline-comment\",\"link\":\"api/@blocksuite/affine-inline-comment\"},{\"text\":\"@blocksuite/affine-inline-footnote\",\"link\":\"api/@blocksuite/affine-inline-footnote\"},{\"text\":\"@blocksuite/affine-inline-latex\",\"link\":\"api/@blocksuite/affine-inline-latex\"},{\"text\":\"@blocksuite/affine-inline-link\",\"link\":\"api/@blocksuite/affine-inline-link\"},{\"text\":\"@blocksuite/affine-inline-mention\",\"link\":\"api/@blocksuite/affine-inline-mention\"},{\"text\":\"@blocksuite/affine-inline-preset\",\"link\":\"api/@blocksuite/affine-inline-preset\"},{\"text\":\"@blocksuite/affine-inline-reference\",\"link\":\"api/@blocksuite/affine-inline-reference\"},{\"text\":\"@blocksuite/affine-model\",\"link\":\"api/@blocksuite/affine-model\"},{\"text\":\"@blocksuite/affine-rich-text\",\"link\":\"api/@blocksuite/affine-rich-text\"},{\"text\":\"@blocksuite/affine-shared\",\"link\":\"api/@blocksuite/affine-shared\"},{\"text\":\"@blocksuite/affine-widget-drag-handle\",\"link\":\"api/@blocksuite/affine-widget-drag-handle\"},{\"text\":\"@blocksuite/affine-widget-edgeless-auto-connect\",\"link\":\"api/@blocksuite/affine-widget-edgeless-auto-connect\"},{\"text\":\"@blocksuite/affine-widget-edgeless-dragging-area\",\"link\":\"api/@blocksuite/affine-widget-edgeless-dragging-area\"},{\"text\":\"@blocksuite/affine-widget-edgeless-selected-rect\",\"link\":\"api/@blocksuite/affine-widget-edgeless-selected-rect\"},{\"text\":\"@blocksuite/affine-widget-edgeless-toolbar\",\"link\":\"api/@blocksuite/affine-widget-edgeless-toolbar\"},{\"text\":\"@blocksuite/affine-widget-edgeless-zoom-toolbar\",\"link\":\"api/@blocksuite/affine-widget-edgeless-zoom-toolbar\"},{\"text\":\"@blocksuite/affine-widget-frame-title\",\"link\":\"api/@blocksuite/affine-widget-frame-title\"},{\"text\":\"@blocksuite/affine-widget-keyboard-toolbar\",\"link\":\"api/@blocksuite/affine-widget-keyboard-toolbar\"},{\"text\":\"@blocksuite/affine-widget-linked-doc\",\"link\":\"api/@blocksuite/affine-widget-linked-doc\"},{\"text\":\"@blocksuite/affine-widget-note-slicer\",\"link\":\"api/@blocksuite/affine-widget-note-slicer\"},{\"text\":\"@blocksuite/affine-widget-page-dragging-area\",\"link\":\"api/@blocksuite/affine-widget-page-dragging-area\"},{\"text\":\"@blocksuite/affine-widget-remote-selection\",\"link\":\"api/@blocksuite/affine-widget-remote-selection\"},{\"text\":\"@blocksuite/affine-widget-scroll-anchoring\",\"link\":\"api/@blocksuite/affine-widget-scroll-anchoring\"},{\"text\":\"@blocksuite/affine-widget-slash-menu\",\"link\":\"api/@blocksuite/affine-widget-slash-menu\"},{\"text\":\"@blocksuite/affine-widget-toolbar\",\"link\":\"api/@blocksuite/affine-widget-toolbar\"},{\"text\":\"@blocksuite/affine-widget-viewport-overlay\",\"link\":\"api/@blocksuite/affine-widget-viewport-overlay\"},{\"text\":\"@blocksuite/data-view\",\"link\":\"api/@blocksuite/data-view\"},{\"text\":\"@blocksuite/global\",\"link\":\"api/@blocksuite/global\"},{\"text\":\"@blocksuite/std\",\"link\":\"api/@blocksuite/std/index\"},{\"text\":\"@blocksuite/store\",\"link\":\"api/@blocksuite/store\"},{\"text\":\"@blocksuite/sync\",\"link\":\"api/@blocksuite/sync\"}]}]},\"/components/\":{\"base\":\"/\",\"items\":[{\"text\":\"Introduction\",\"items\":[{\"text\":\"Overview\",\"link\":\"components/overview\"}]},{\"text\":\"Editors\",\"items\":[{\"text\":\"📝 Page Editor\",\"link\":\"components/editors/page-editor\"},{\"text\":\"🎨 Edgeless Editor\",\"link\":\"components/editors/edgeless-editor\",\"items\":[{\"text\":\"Data Structure\",\"link\":\"components/editors/edgeless-data-structure\"}]}]},{\"text\":\"Blocks\",\"items\":[{\"text\":\"Regular Blocks\",\"items\":[{\"text\":\"Root Block\",\"link\":\"components/blocks/root-block\"},{\"text\":\"Note Block\",\"link\":\"components/blocks/note-block\"},{\"text\":\"Paragraph Block\",\"link\":\"components/blocks/paragraph-block\"},{\"text\":\"List Block\",\"link\":\"components/blocks/list-block\"},{\"text\":\"Code Block\",\"link\":\"components/blocks/code-block\"},{\"text\":\"Image Block\",\"link\":\"components/blocks/image-block\"},{\"text\":\"Attachment Block\",\"link\":\"components/blocks/attachment-block\"},{\"text\":\"Divider Block\",\"link\":\"components/blocks/divider-block\"}]},{\"text\":\"Advanced Blocks\",\"items\":[{\"text\":\"Surface Block\",\"link\":\"components/blocks/surface-block\"},{\"text\":\"Database Block\",\"link\":\"components/blocks/database-block\"},{\"text\":\"Frame Block\",\"link\":\"components/blocks/frame-block\"},{\"text\":\"Link Blocks\",\"link\":\"components/blocks/link-blocks\"},{\"text\":\"Embed Blocks\",\"link\":\"components/blocks/embed-blocks\"}]}]},{\"text\":\"Widgets 🚧\",\"items\":[{\"text\":\"Slash Menu\",\"link\":\"components/widgets/slash-menu\"},{\"text\":\"Format Bar\",\"link\":\"components/widgets/format-bar\"},{\"text\":\"Drag Handle\",\"link\":\"components/widgets/drag-handle\"}]},{\"text\":\"Fragments 🚧\",\"items\":[{\"text\":\"Doc Title\",\"link\":\"components/fragments/doc-title\"},{\"text\":\"Outline Panel\",\"link\":\"components/fragments/outline-panel\"},{\"text\":\"Frame Panel\",\"link\":\"components/fragments/frame-panel\"},{\"text\":\"Copilot Panel\",\"link\":\"components/fragments/copilot-panel\"},{\"text\":\"Bi-Directional Link Panel\",\"link\":\"components/fragments/bi-directional-link-panel\"}]}]}},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/toeverything/blocksuite\"},{\"icon\":{\"svg\":\"<svg role=\\\"img\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"16\\\" width=\\\"16\\\" viewBox=\\\"0 0 512 512\\\"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2023 Fonticons, Inc.--><path fill=\\\"#777777\\\" d=\\\"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z\\\"/></svg>\"},\"link\":\"https://twitter.com/AffineDev\"}],\"footer\":{\"copyright\":\"Copyright © 2022-present Toeverything\"},\"search\":{\"provider\":\"local\",\"options\":{}}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
26
27    
28  
28<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"62399b5cb5e54c00a096f55ef8a204c9","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 28
28
29<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a472dc99991f38bd',t:'MTc5MTQzODU2MA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
29</body>
30</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.