[{"data":1,"prerenderedAt":278},["ShallowReactive",2],{"quirekit-doc:\u002Fconcepts\u002Fdocument":3},{"id":4,"title":5,"body":6,"description":266,"extension":267,"keywords":268,"locale":269,"meta":270,"navigation":271,"order":272,"path":273,"section":274,"seo":275,"stem":276,"__hash__":277},"docs\u002Fconcepts\u002Fdocument.zh-CN.md","文档与 Schema",{"type":7,"value":8,"toc":260},"minimark",[9,13,18,149,156,162,166,169,172,176,179,182,242,256],[10,11,12],"p",{},"QuireKit 把正文保存为文档树。例如一段加粗的“Hello”，包含三层节点：整份文档、段落、文字。粗体是文字上的格式，不是另一个段落。",[14,15,17],"h2",{"id":16},"节点标记和属性","节点、标记和属性",[19,20,26],"pre",{"className":21,"code":22,"filename":23,"language":24,"meta":25,"style":25},"language-json shiki shiki-themes github-light github-light github-dark","{\n  \"type\": \"doc\",\n  \"content\": [{\n    \"type\": \"paragraph\",\n    \"content\": [{\n      \"type\": \"text\",\n      \"text\": \"Hello\",\n      \"marks\": [{ \"type\": \"bold\" }]\n    }]\n  }]\n}\n","一段加粗文字","json","",[27,28,29,38,55,64,77,85,98,111,131,137,143],"code",{"__ignoreMap":25},[30,31,34],"span",{"class":32,"line":33},"line",1,[30,35,37],{"class":36},"sVPnS","{\n",[30,39,41,45,48,52],{"class":32,"line":40},2,[30,42,44],{"class":43},"sUNQB","  \"type\"",[30,46,47],{"class":36},": ",[30,49,51],{"class":50},"s-HEn","\"doc\"",[30,53,54],{"class":36},",\n",[30,56,58,61],{"class":32,"line":57},3,[30,59,60],{"class":43},"  \"content\"",[30,62,63],{"class":36},": [{\n",[30,65,67,70,72,75],{"class":32,"line":66},4,[30,68,69],{"class":43},"    \"type\"",[30,71,47],{"class":36},[30,73,74],{"class":50},"\"paragraph\"",[30,76,54],{"class":36},[30,78,80,83],{"class":32,"line":79},5,[30,81,82],{"class":43},"    \"content\"",[30,84,63],{"class":36},[30,86,88,91,93,96],{"class":32,"line":87},6,[30,89,90],{"class":43},"      \"type\"",[30,92,47],{"class":36},[30,94,95],{"class":50},"\"text\"",[30,97,54],{"class":36},[30,99,101,104,106,109],{"class":32,"line":100},7,[30,102,103],{"class":43},"      \"text\"",[30,105,47],{"class":36},[30,107,108],{"class":50},"\"Hello\"",[30,110,54],{"class":36},[30,112,114,117,120,123,125,128],{"class":32,"line":113},8,[30,115,116],{"class":43},"      \"marks\"",[30,118,119],{"class":36},": [{ ",[30,121,122],{"class":43},"\"type\"",[30,124,47],{"class":36},[30,126,127],{"class":50},"\"bold\"",[30,129,130],{"class":36}," }]\n",[30,132,134],{"class":32,"line":133},9,[30,135,136],{"class":36},"    }]\n",[30,138,140],{"class":32,"line":139},10,[30,141,142],{"class":36},"  }]\n",[30,144,146],{"class":32,"line":145},11,[30,147,148],{"class":36},"}\n",[10,150,151,152,155],{},"节点（Node）表达结构，如段落、标题和列表。标记（Mark）表达文字格式，如粗体和链接。属性（",[27,153,154],{},"attrs","）保存附加信息，例如标题的级别或链接的地址。",[10,157,158,161],{},[27,159,160],{},"content"," 是子节点数组。因此列表可以包含列表项，列表项里再包含段落；这种层级本身就是文档的一部分。",[14,163,165],{"id":164},"schema-是内容规则","Schema 是内容规则",[10,167,168],{},"Schema 由已安装的节点和标记扩展组成，规定允许哪些节点、每种节点能包含什么、有哪些属性与格式。StarterKit 已经提供常用规则，普通文章可以从它开始。",[10,170,171],{},"增加一种业务结构时，先定义 Node，再提供相应的命令与显示方式。只在界面里画一个提示框，不会让它自动进入可保存的文档。",[14,173,175],{"id":174},"同一份内容多种显示方式","同一份内容，多种显示方式",[10,177,178],{},"JSON 描述文字和结构，DOM、Canvas、SVG 则是显示方式。屏幕坐标和选区高亮属于视图；它们不需要存进正文。自定义节点的 HTML 输出也不会自动提供 Canvas 布局。",[14,180,181],{"id":181},"常用读写入口",[183,184,185,198],"table",{},[186,187,188],"thead",{},[189,190,191,195],"tr",{},[192,193,194],"th",{},"想做什么",[192,196,197],{},"调用什么",[199,200,201,212,222,232],"tbody",{},[189,202,203,207],{},[204,205,206],"td",{},"保存产品自己的结构化内容",[204,208,209],{},[27,210,211],{},"editor.getJSON()",[189,213,214,217],{},[204,215,216],{},"输出 HTML",[204,218,219],{},[27,220,221],{},"editor.getHTML()",[189,223,224,227],{},[204,225,226],{},"替换普通正文",[204,228,229],{},[27,230,231],{},"editor.commands.setContent(content)",[189,233,234,237],{},[204,235,236],{},"恢复包含顶层属性的完整文档",[204,238,239],{},[27,240,241],{},"editor.commands.replaceDocument(content)",[10,243,244,245,250,251,255],{},"读取旧内容时，要安装相容的扩展，并检查模型版本与 Schema。无法识别的内容应报错或迁移，保留原始文件。具体步骤见",[246,247,249],"a",{"href":248},"\u002Fguide\u002Fpersistence","保存与恢复","；文章与 Word 模型的选择见",[246,252,254],{"href":253},"\u002Fbuild\u002Fmodel","文档模型","。",[257,258,259],"style",{},"html pre.shiki code .sVPnS, html code.shiki .sVPnS{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sUNQB, html code.shiki .sUNQB{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s-HEn, html code.shiki .s-HEn{--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#9ECBFF}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":25,"searchDepth":40,"depth":40,"links":261},[262,263,264,265],{"id":16,"depth":40,"text":17},{"id":164,"depth":40,"text":165},{"id":174,"depth":40,"text":175},{"id":181,"depth":40,"text":181},"用一段加粗文字理解节点、标记、属性和内容规则。","md",null,"zh-CN",{},true,0,"\u002Fconcepts\u002Fdocument","核心概念",{"title":5,"description":266},"concepts\u002Fdocument.zh-CN","nXpWeTUVJiG9MkH5G9wJ9yAueCxauqUk8S_AzkjkrcI",1793045209086]