[{"data":1,"prerenderedAt":911},["ShallowReactive",2],{"quirekit-doc:\u002Fen\u002Fplugins\u002Fcustom":3,"quirekit-source:core\u002Fcreate.ts":379,"mdc-1xjqp4-key":380},{"id":4,"title":5,"body":6,"description":369,"extension":370,"keywords":371,"locale":372,"meta":373,"navigation":83,"order":113,"path":374,"section":375,"seo":376,"stem":377,"__hash__":378},"docs\u002Fplugins\u002Fcustom.en.md","Custom plugins",{"type":7,"value":8,"toc":363},"minimark",[9,19,26,33,38,49,191,205,211,215,222,296,314,318,321,325,328,332,343,347,359],[10,11,12,13,18],"p",{},"This page defines shared Core behavior. Classic and Block can install it through extensions, provided its commands exist and the selected View is validated. Product controls use their own adapter contracts; see ",[14,15,17],"a",{"href":16},"\u002Fen\u002Fplugins\u002Fcompatibility","editor integration",".",[10,20,21,22,18],{},"Suppose you want a keyboard shortcut that makes the current text bold. This adds behavior without introducing a document structure, so it uses ",[23,24,25],"code",{},"Extension",[10,27,28,29,18],{},"This chapter adds a custom shortcut to the editor from ",[14,30,32],{"href":31},"\u002Fen\u002Fguide\u002Fquick-start","Quick start",[34,35,37],"h2",{"id":36},"_1-define-the-shortcut","1. Define the shortcut",[10,39,40,41,44,45,48],{},"Create ",[23,42,43],{},"shortcuts.ts",". Return a map of keys to handlers from ",[23,46,47],{},"addKeyboardShortcuts()",":",[50,51,56],"pre",{"className":52,"code":53,"filename":43,"language":54,"meta":55,"style":55},"language-ts shiki shiki-themes github-light github-light github-dark","import { Extension } from '@quirekit\u002Fcore'\n\nexport const writingShortcuts = Extension.create({\n  name: 'writingShortcuts',\n  addKeyboardShortcuts() {\n    return {\n      'Mod-Shift-b': () => this.editor?.commands.toggleBold() ?? false,\n    }\n  },\n})\n","ts","",[23,57,58,78,85,111,123,132,141,173,179,185],{"__ignoreMap":55},[59,60,63,67,71,74],"span",{"class":61,"line":62},"line",1,[59,64,66],{"class":65},"sDD9d","import",[59,68,70],{"class":69},"sVPnS"," { Extension } ",[59,72,73],{"class":65},"from",[59,75,77],{"class":76},"s-HEn"," '@quirekit\u002Fcore'\n",[59,79,81],{"class":61,"line":80},2,[59,82,84],{"emptyLinePlaceholder":83},true,"\n",[59,86,88,91,94,98,101,104,108],{"class":61,"line":87},3,[59,89,90],{"class":65},"export",[59,92,93],{"class":65}," const",[59,95,97],{"class":96},"sUNQB"," writingShortcuts",[59,99,100],{"class":65}," =",[59,102,103],{"class":69}," Extension.",[59,105,107],{"class":106},"sgQzM","create",[59,109,110],{"class":69},"({\n",[59,112,114,117,120],{"class":61,"line":113},4,[59,115,116],{"class":69},"  name: ",[59,118,119],{"class":76},"'writingShortcuts'",[59,121,122],{"class":69},",\n",[59,124,126,129],{"class":61,"line":125},5,[59,127,128],{"class":106},"  addKeyboardShortcuts",[59,130,131],{"class":69},"() {\n",[59,133,135,138],{"class":61,"line":134},6,[59,136,137],{"class":65},"    return",[59,139,140],{"class":69}," {\n",[59,142,144,147,150,153,156,159,162,165,168,171],{"class":61,"line":143},7,[59,145,146],{"class":76},"      'Mod-Shift-b'",[59,148,149],{"class":69},": () ",[59,151,152],{"class":65},"=>",[59,154,155],{"class":96}," this",[59,157,158],{"class":69},".editor?.commands.",[59,160,161],{"class":106},"toggleBold",[59,163,164],{"class":69},"() ",[59,166,167],{"class":65},"??",[59,169,170],{"class":96}," false",[59,172,122],{"class":69},[59,174,176],{"class":61,"line":175},8,[59,177,178],{"class":69},"    }\n",[59,180,182],{"class":61,"line":181},9,[59,183,184],{"class":69},"  },\n",[59,186,188],{"class":61,"line":187},10,[59,189,190],{"class":69},"})\n",[10,192,193,196,197,200,201,204],{},[23,194,195],{},"Mod"," means Command on macOS and Ctrl elsewhere. The handler invokes the existing ",[23,198,199],{},"toggleBold()"," command. Its return value tells the editor whether the key was handled; ",[23,202,203],{},"false"," lets other shortcuts try it.",[10,206,207,210],{},[23,208,209],{},"name"," identifies this extension within the editor; it is not an npm package name. StarterKit supplies bold. The shortcut only triggers that capability and shares its document and undo history.",[34,212,214],{"id":213},"_2-add-it-to-the-editor","2. Add it to the editor",[10,216,217,218,221],{},"Import the extension in the file that creates Editor and add it to the existing ",[23,219,220],{},"extensions"," list:",[50,223,226],{"className":52,"code":224,"filename":225,"language":54,"meta":55,"style":55},"import { writingShortcuts } from '.\u002Fshortcuts'\n\nconst editor = new Editor({\n  element,\n  mode: 'dom',\n  extensions: [StarterKit, DomViewExtension, writingShortcuts],\n  content: '\u003Cp>Select text and try the new shortcut.\u003C\u002Fp>',\n})\n","When creating the editor",[23,227,228,240,244,262,267,277,282,292],{"__ignoreMap":55},[59,229,230,232,235,237],{"class":61,"line":62},[59,231,66],{"class":65},[59,233,234],{"class":69}," { writingShortcuts } ",[59,236,73],{"class":65},[59,238,239],{"class":76}," '.\u002Fshortcuts'\n",[59,241,242],{"class":61,"line":80},[59,243,84],{"emptyLinePlaceholder":83},[59,245,246,249,252,254,257,260],{"class":61,"line":87},[59,247,248],{"class":65},"const",[59,250,251],{"class":96}," editor",[59,253,100],{"class":65},[59,255,256],{"class":65}," new",[59,258,259],{"class":106}," Editor",[59,261,110],{"class":69},[59,263,264],{"class":61,"line":113},[59,265,266],{"class":69},"  element,\n",[59,268,269,272,275],{"class":61,"line":125},[59,270,271],{"class":69},"  mode: ",[59,273,274],{"class":76},"'dom'",[59,276,122],{"class":69},[59,278,279],{"class":61,"line":134},[59,280,281],{"class":69},"  extensions: [StarterKit, DomViewExtension, writingShortcuts],\n",[59,283,284,287,290],{"class":61,"line":143},[59,285,286],{"class":69},"  content: ",[59,288,289],{"class":76},"'\u003Cp>Select text and try the new shortcut.\u003C\u002Fp>'",[59,291,122],{"class":69},[59,293,294],{"class":61,"line":175},[59,295,190],{"class":69},[10,297,298,299,302,303,302,306,309,310,313],{},"This continues to use the ",[23,300,301],{},"Editor",", ",[23,304,305],{},"StarterKit",[23,307,308],{},"DomViewExtension"," imports and ",[23,311,312],{},"element"," from Quick start. Install the extension once; no separate keyboard listener is needed on the host.",[34,315,317],{"id":316},"live-effect","Live effect",[10,319,320],{},"Select text below and press Command+Shift+B on macOS or Ctrl+Shift+B elsewhere, then undo. The button invokes the same bold command.",[322,323],"docs-demo",{"name":324},"core\u002Feditor",[10,326,327],{},"Use Node or Mark for new persistent content, defining attributes, parsing and serialization. Add separate Canvas or DOCX contributions when needed; a behavior extension does not automatically support every backend.",[34,329,331],{"id":330},"complete-files","Complete files",[10,333,334,335,338,339,342],{},"In the example, ",[23,336,337],{},"core\u002Fshortcuts.ts"," defines the shortcut and ",[23,340,341],{},"core\u002Fcreate.ts"," creates and mounts the editor. Select a file when you need its complete imports or initial content:",[344,345],"docs-recipe",{"name":346},"core\u002Fcreate",[10,348,349,350,354,355,18],{},"For persistent custom content and multiple backends, continue to ",[14,351,353],{"href":352},"\u002Fen\u002Fbuild\u002Fextension","the complete content extension",". For ribbon, panels and file services, see ",[14,356,358],{"href":357},"\u002Fen\u002Fbuild\u002Fproduct-plugin","product plugins",[360,361,362],"style",{},"html pre.shiki code .sDD9d, html code.shiki .sDD9d{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVPnS, html code.shiki .sVPnS{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s-HEn, html code.shiki .s-HEn{--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sUNQB, html code.shiki .sUNQB{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sgQzM, html code.shiki .sgQzM{--shiki-default:#6F42C1;--shiki-light:#6F42C1;--shiki-dark:#B392F0}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 .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 .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);}",{"title":55,"searchDepth":80,"depth":80,"links":364},[365,366,367,368],{"id":36,"depth":80,"text":37},{"id":213,"depth":80,"text":214},{"id":316,"depth":80,"text":317},{"id":330,"depth":80,"text":331},"Connect your own behavior to Core without a second editing state.","md",null,"en",{},"\u002Fen\u002Fplugins\u002Fcustom","Content and formatting",{"title":5,"description":369},"plugins\u002Fcustom.en","T9tYBT2EIfY-BFjsa93ulNNWCEp1_aqCfTNSOJgqQyw","import { Editor } from \"@quirekit\u002Fcore\";\nimport { StarterKit } from \"@quirekit\u002Fstarter-kit\";\nimport { DomViewExtension } from \"@quirekit\u002Fdom-view\";\nimport { writingShortcuts } from \".\u002Fshortcuts\";\n\n\u002F**\n * Mounts a minimal editor with the Tiptap-style Core API and an explicit native DOM view.\n * @param element - Browser-owned mount target.\n * @param locale - Language for initial sample copy only.\n * @returns The caller-owned editor; destroy it when its host unmounts.\n *\u002F\nexport function createExampleEditor(element: HTMLElement, locale: \"zh-CN\" | \"en\"): Editor {\n  return new Editor({\n    element,\n    mode: \"dom\",\n    extensions: [StarterKit, DomViewExtension, writingShortcuts],\n    content: { type: \"doc\", content: [\n      { type: \"heading\", attrs: { level: 2 }, content: [{ type: \"text\", text: locale === \"en\" ? \"Start with your words.\" : \"从你写下的文字开始。\" }] },\n      { type: \"paragraph\", content: [{ type: \"text\", text: locale === \"en\" ? \"Select some text, make it bold, or add a new paragraph. This is a real QuireKit Core editor.\" : \"选择一段文字，加粗，或另起一段。这里运行的是真实的 QuireKit Core 编辑器。\" }] },\n    ] },\n  });\n}\n",{"data":381,"body":382},{},{"type":383,"children":384},"root",[385,906],{"type":312,"tag":50,"props":386,"children":388},{"className":52,"code":387,"language":54,"meta":55,"style":55},"import { Editor } from \"@quirekit\u002Fcore\";\nimport { StarterKit } from \"@quirekit\u002Fstarter-kit\";\nimport { DomViewExtension } from \"@quirekit\u002Fdom-view\";\nimport { writingShortcuts } from \".\u002Fshortcuts\";\n\n\u002F**\n * Mounts a minimal editor with the Tiptap-style Core API and an explicit native DOM view.\n * @param element - Browser-owned mount target.\n * @param locale - Language for initial sample copy only.\n * @returns The caller-owned editor; destroy it when its host unmounts.\n *\u002F\nexport function createExampleEditor(element: HTMLElement, locale: \"zh-CN\" | \"en\"): Editor {\n  return new Editor({\n    element,\n    mode: \"dom\",\n    extensions: [StarterKit, DomViewExtension, writingShortcuts],\n    content: { type: \"doc\", content: [\n      { type: \"heading\", attrs: { level: 2 }, content: [{ type: \"text\", text: locale === \"en\" ? \"Start with your words.\" : \"从你写下的文字开始。\" }] },\n      { type: \"paragraph\", content: [{ type: \"text\", text: locale === \"en\" ? \"Select some text, make it bold, or add a new paragraph. This is a real QuireKit Core editor.\" : \"选择一段文字，加粗，或另起一段。这里运行的是真实的 QuireKit Core 编辑器。\" }] },\n    ] },\n  });\n}\n\n",[389],{"type":312,"tag":23,"props":390,"children":391},{"__ignoreMap":55},[392,422,447,472,496,503,512,520,543,564,581,590,673,694,703,721,730,749,823,879,888,897],{"type":312,"tag":59,"props":393,"children":394},{"class":61,"line":62},[395,401,407,411,417],{"type":312,"tag":59,"props":396,"children":398},{"style":397},"--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#F97583",[399],{"type":400,"value":66},"text",{"type":312,"tag":59,"props":402,"children":404},{"style":403},"--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#E1E4E8",[405],{"type":400,"value":406}," { Editor } ",{"type":312,"tag":59,"props":408,"children":409},{"style":397},[410],{"type":400,"value":73},{"type":312,"tag":59,"props":412,"children":414},{"style":413},"--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#9ECBFF",[415],{"type":400,"value":416}," \"@quirekit\u002Fcore\"",{"type":312,"tag":59,"props":418,"children":419},{"style":403},[420],{"type":400,"value":421},";\n",{"type":312,"tag":59,"props":423,"children":424},{"class":61,"line":80},[425,429,434,438,443],{"type":312,"tag":59,"props":426,"children":427},{"style":397},[428],{"type":400,"value":66},{"type":312,"tag":59,"props":430,"children":431},{"style":403},[432],{"type":400,"value":433}," { StarterKit } ",{"type":312,"tag":59,"props":435,"children":436},{"style":397},[437],{"type":400,"value":73},{"type":312,"tag":59,"props":439,"children":440},{"style":413},[441],{"type":400,"value":442}," \"@quirekit\u002Fstarter-kit\"",{"type":312,"tag":59,"props":444,"children":445},{"style":403},[446],{"type":400,"value":421},{"type":312,"tag":59,"props":448,"children":449},{"class":61,"line":87},[450,454,459,463,468],{"type":312,"tag":59,"props":451,"children":452},{"style":397},[453],{"type":400,"value":66},{"type":312,"tag":59,"props":455,"children":456},{"style":403},[457],{"type":400,"value":458}," { DomViewExtension } ",{"type":312,"tag":59,"props":460,"children":461},{"style":397},[462],{"type":400,"value":73},{"type":312,"tag":59,"props":464,"children":465},{"style":413},[466],{"type":400,"value":467}," \"@quirekit\u002Fdom-view\"",{"type":312,"tag":59,"props":469,"children":470},{"style":403},[471],{"type":400,"value":421},{"type":312,"tag":59,"props":473,"children":474},{"class":61,"line":113},[475,479,483,487,492],{"type":312,"tag":59,"props":476,"children":477},{"style":397},[478],{"type":400,"value":66},{"type":312,"tag":59,"props":480,"children":481},{"style":403},[482],{"type":400,"value":234},{"type":312,"tag":59,"props":484,"children":485},{"style":397},[486],{"type":400,"value":73},{"type":312,"tag":59,"props":488,"children":489},{"style":413},[490],{"type":400,"value":491}," \".\u002Fshortcuts\"",{"type":312,"tag":59,"props":493,"children":494},{"style":403},[495],{"type":400,"value":421},{"type":312,"tag":59,"props":497,"children":498},{"class":61,"line":125},[499],{"type":312,"tag":59,"props":500,"children":501},{"emptyLinePlaceholder":83},[502],{"type":400,"value":84},{"type":312,"tag":59,"props":504,"children":505},{"class":61,"line":134},[506],{"type":312,"tag":59,"props":507,"children":509},{"style":508},"--shiki-default:#6A737D;--shiki-light:#6A737D;--shiki-dark:#6A737D",[510],{"type":400,"value":511},"\u002F**\n",{"type":312,"tag":59,"props":513,"children":514},{"class":61,"line":143},[515],{"type":312,"tag":59,"props":516,"children":517},{"style":508},[518],{"type":400,"value":519}," * Mounts a minimal editor with the Tiptap-style Core API and an explicit native DOM view.\n",{"type":312,"tag":59,"props":521,"children":522},{"class":61,"line":175},[523,528,533,538],{"type":312,"tag":59,"props":524,"children":525},{"style":508},[526],{"type":400,"value":527}," * ",{"type":312,"tag":59,"props":529,"children":530},{"style":397},[531],{"type":400,"value":532},"@param",{"type":312,"tag":59,"props":534,"children":535},{"style":403},[536],{"type":400,"value":537}," element",{"type":312,"tag":59,"props":539,"children":540},{"style":508},[541],{"type":400,"value":542}," - Browser-owned mount target.\n",{"type":312,"tag":59,"props":544,"children":545},{"class":61,"line":181},[546,550,554,559],{"type":312,"tag":59,"props":547,"children":548},{"style":508},[549],{"type":400,"value":527},{"type":312,"tag":59,"props":551,"children":552},{"style":397},[553],{"type":400,"value":532},{"type":312,"tag":59,"props":555,"children":556},{"style":403},[557],{"type":400,"value":558}," locale",{"type":312,"tag":59,"props":560,"children":561},{"style":508},[562],{"type":400,"value":563}," - Language for initial sample copy only.\n",{"type":312,"tag":59,"props":565,"children":566},{"class":61,"line":187},[567,571,576],{"type":312,"tag":59,"props":568,"children":569},{"style":508},[570],{"type":400,"value":527},{"type":312,"tag":59,"props":572,"children":573},{"style":397},[574],{"type":400,"value":575},"@returns",{"type":312,"tag":59,"props":577,"children":578},{"style":508},[579],{"type":400,"value":580}," The caller-owned editor; destroy it when its host unmounts.\n",{"type":312,"tag":59,"props":582,"children":584},{"class":61,"line":583},11,[585],{"type":312,"tag":59,"props":586,"children":587},{"style":508},[588],{"type":400,"value":589}," *\u002F\n",{"type":312,"tag":59,"props":591,"children":593},{"class":61,"line":592},12,[594,598,603,609,614,619,623,628,632,637,641,646,651,656,661,665,669],{"type":312,"tag":59,"props":595,"children":596},{"style":397},[597],{"type":400,"value":90},{"type":312,"tag":59,"props":599,"children":600},{"style":397},[601],{"type":400,"value":602}," function",{"type":312,"tag":59,"props":604,"children":606},{"style":605},"--shiki-default:#6F42C1;--shiki-light:#6F42C1;--shiki-dark:#B392F0",[607],{"type":400,"value":608}," createExampleEditor",{"type":312,"tag":59,"props":610,"children":611},{"style":403},[612],{"type":400,"value":613},"(",{"type":312,"tag":59,"props":615,"children":617},{"style":616},"--shiki-default:#E36209;--shiki-light:#E36209;--shiki-dark:#FFAB70",[618],{"type":400,"value":312},{"type":312,"tag":59,"props":620,"children":621},{"style":397},[622],{"type":400,"value":48},{"type":312,"tag":59,"props":624,"children":625},{"style":605},[626],{"type":400,"value":627}," HTMLElement",{"type":312,"tag":59,"props":629,"children":630},{"style":403},[631],{"type":400,"value":302},{"type":312,"tag":59,"props":633,"children":634},{"style":616},[635],{"type":400,"value":636},"locale",{"type":312,"tag":59,"props":638,"children":639},{"style":397},[640],{"type":400,"value":48},{"type":312,"tag":59,"props":642,"children":643},{"style":413},[644],{"type":400,"value":645}," \"zh-CN\"",{"type":312,"tag":59,"props":647,"children":648},{"style":397},[649],{"type":400,"value":650}," |",{"type":312,"tag":59,"props":652,"children":653},{"style":413},[654],{"type":400,"value":655}," \"en\"",{"type":312,"tag":59,"props":657,"children":658},{"style":403},[659],{"type":400,"value":660},")",{"type":312,"tag":59,"props":662,"children":663},{"style":397},[664],{"type":400,"value":48},{"type":312,"tag":59,"props":666,"children":667},{"style":605},[668],{"type":400,"value":259},{"type":312,"tag":59,"props":670,"children":671},{"style":403},[672],{"type":400,"value":140},{"type":312,"tag":59,"props":674,"children":676},{"class":61,"line":675},13,[677,682,686,690],{"type":312,"tag":59,"props":678,"children":679},{"style":397},[680],{"type":400,"value":681},"  return",{"type":312,"tag":59,"props":683,"children":684},{"style":397},[685],{"type":400,"value":256},{"type":312,"tag":59,"props":687,"children":688},{"style":605},[689],{"type":400,"value":259},{"type":312,"tag":59,"props":691,"children":692},{"style":403},[693],{"type":400,"value":110},{"type":312,"tag":59,"props":695,"children":697},{"class":61,"line":696},14,[698],{"type":312,"tag":59,"props":699,"children":700},{"style":403},[701],{"type":400,"value":702},"    element,\n",{"type":312,"tag":59,"props":704,"children":706},{"class":61,"line":705},15,[707,712,717],{"type":312,"tag":59,"props":708,"children":709},{"style":403},[710],{"type":400,"value":711},"    mode: ",{"type":312,"tag":59,"props":713,"children":714},{"style":413},[715],{"type":400,"value":716},"\"dom\"",{"type":312,"tag":59,"props":718,"children":719},{"style":403},[720],{"type":400,"value":122},{"type":312,"tag":59,"props":722,"children":724},{"class":61,"line":723},16,[725],{"type":312,"tag":59,"props":726,"children":727},{"style":403},[728],{"type":400,"value":729},"    extensions: [StarterKit, DomViewExtension, writingShortcuts],\n",{"type":312,"tag":59,"props":731,"children":733},{"class":61,"line":732},17,[734,739,744],{"type":312,"tag":59,"props":735,"children":736},{"style":403},[737],{"type":400,"value":738},"    content: { type: ",{"type":312,"tag":59,"props":740,"children":741},{"style":413},[742],{"type":400,"value":743},"\"doc\"",{"type":312,"tag":59,"props":745,"children":746},{"style":403},[747],{"type":400,"value":748},", content: [\n",{"type":312,"tag":59,"props":750,"children":752},{"class":61,"line":751},18,[753,758,763,768,774,779,784,789,794,798,803,808,813,818],{"type":312,"tag":59,"props":754,"children":755},{"style":403},[756],{"type":400,"value":757},"      { type: ",{"type":312,"tag":59,"props":759,"children":760},{"style":413},[761],{"type":400,"value":762},"\"heading\"",{"type":312,"tag":59,"props":764,"children":765},{"style":403},[766],{"type":400,"value":767},", attrs: { level: ",{"type":312,"tag":59,"props":769,"children":771},{"style":770},"--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#79B8FF",[772],{"type":400,"value":773},"2",{"type":312,"tag":59,"props":775,"children":776},{"style":403},[777],{"type":400,"value":778}," }, content: [{ type: ",{"type":312,"tag":59,"props":780,"children":781},{"style":413},[782],{"type":400,"value":783},"\"text\"",{"type":312,"tag":59,"props":785,"children":786},{"style":403},[787],{"type":400,"value":788},", text: locale ",{"type":312,"tag":59,"props":790,"children":791},{"style":397},[792],{"type":400,"value":793},"===",{"type":312,"tag":59,"props":795,"children":796},{"style":413},[797],{"type":400,"value":655},{"type":312,"tag":59,"props":799,"children":800},{"style":397},[801],{"type":400,"value":802}," ?",{"type":312,"tag":59,"props":804,"children":805},{"style":413},[806],{"type":400,"value":807}," \"Start with your words.\"",{"type":312,"tag":59,"props":809,"children":810},{"style":397},[811],{"type":400,"value":812}," :",{"type":312,"tag":59,"props":814,"children":815},{"style":413},[816],{"type":400,"value":817}," \"从你写下的文字开始。\"",{"type":312,"tag":59,"props":819,"children":820},{"style":403},[821],{"type":400,"value":822}," }] },\n",{"type":312,"tag":59,"props":824,"children":826},{"class":61,"line":825},19,[827,831,836,841,845,849,853,857,861,866,870,875],{"type":312,"tag":59,"props":828,"children":829},{"style":403},[830],{"type":400,"value":757},{"type":312,"tag":59,"props":832,"children":833},{"style":413},[834],{"type":400,"value":835},"\"paragraph\"",{"type":312,"tag":59,"props":837,"children":838},{"style":403},[839],{"type":400,"value":840},", content: [{ type: ",{"type":312,"tag":59,"props":842,"children":843},{"style":413},[844],{"type":400,"value":783},{"type":312,"tag":59,"props":846,"children":847},{"style":403},[848],{"type":400,"value":788},{"type":312,"tag":59,"props":850,"children":851},{"style":397},[852],{"type":400,"value":793},{"type":312,"tag":59,"props":854,"children":855},{"style":413},[856],{"type":400,"value":655},{"type":312,"tag":59,"props":858,"children":859},{"style":397},[860],{"type":400,"value":802},{"type":312,"tag":59,"props":862,"children":863},{"style":413},[864],{"type":400,"value":865}," \"Select some text, make it bold, or add a new paragraph. This is a real QuireKit Core editor.\"",{"type":312,"tag":59,"props":867,"children":868},{"style":397},[869],{"type":400,"value":812},{"type":312,"tag":59,"props":871,"children":872},{"style":413},[873],{"type":400,"value":874}," \"选择一段文字，加粗，或另起一段。这里运行的是真实的 QuireKit Core 编辑器。\"",{"type":312,"tag":59,"props":876,"children":877},{"style":403},[878],{"type":400,"value":822},{"type":312,"tag":59,"props":880,"children":882},{"class":61,"line":881},20,[883],{"type":312,"tag":59,"props":884,"children":885},{"style":403},[886],{"type":400,"value":887},"    ] },\n",{"type":312,"tag":59,"props":889,"children":891},{"class":61,"line":890},21,[892],{"type":312,"tag":59,"props":893,"children":894},{"style":403},[895],{"type":400,"value":896},"  });\n",{"type":312,"tag":59,"props":898,"children":900},{"class":61,"line":899},22,[901],{"type":312,"tag":59,"props":902,"children":903},{"style":403},[904],{"type":400,"value":905},"}\n",{"type":312,"tag":360,"props":907,"children":908},{},[909],{"type":400,"value":910},"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 .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 .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);}",1793045208529]