[{"data":1,"prerenderedAt":58},["ShallowReactive",2],{"articles":3,"article:demo\u002Ftypst-syntax":37},{"articles":4},[5,9,13,17,21,25,29,33],{"slug":6,"title":7,"description":8},"demo\u002Ftypst-syntax","Typst 语法样板","用于验证博客 Typst 子集的样板：标题、段落、列表、代码块、表格和网格。",{"slug":10,"title":11,"description":12},"ai\u002Ftokenizer","Tokenizer 定义与实现","Tokenizer 的学习笔记：定义、基本概念与实现。",{"slug":14,"title":15,"description":16},"code\u002Fjavascript\u002Fnpm-pnpm","Node.js 包管理：从单个包到 Workspace","一份面向初学者的 npm 与 pnpm 学习笔记。",{"slug":18,"title":19,"description":20},"code\u002Frust\u002Fcargo","Cargo：从单个包到 Workspace","一份面向初学者的 Cargo 学习笔记。",{"slug":22,"title":23,"description":24},"notes\u002Fopensuse","OpenSUSE 折腾指南","得益于OpenSUSE的Yast，安装过程可以说是相当的舒服，全部图形化操作，是我在安装过许多Linux发行版中，最方便最舒服的。这里就不详细写出安装步骤了（其实是我没有记录过程），但会提供官方文档。",{"slug":26,"title":27,"description":28},"notes\u002Fwin-deepin-dualboot","Windows + Deepin 双系统的安装与使用","说实话我受够了Windows的环境搭建，想要精简就极度繁琐，想要方便就得用宇宙IDE，占十几二十多GB存储。因此，Linux就是最好的选择，除非你需要写Win或Mac的软件等特定情况。",{"slug":30,"title":31,"description":32},"notes\u002Fpicgo-smms","Obsidian 或 Typora + Picgo + smms 实现图片自动上传",">typora写作是很舒服，但是到了图片上传我简直太难了。上一篇博客我说我图床用的是imgchr，现在我屈服了，玩博客用imgchr简直是魔鬼好吧，图片上传完了，居然是乱序上传，导致我很难改图片地址。",{"slug":34,"title":35,"description":36},"notes\u002Fhexo-blog","github + hexo博客搭建教程","托更了很久，我一点不好意思都没有手动滑稽，我想应该没有人等着我的教程的吧。之所以这时才做这教程，是因为我准备开启新项目了，如果还不填坑的话，坑就越来越多，然后就不想填了。为了避免这种情况，所以我决定先",{"slug":6,"title":7,"description":8,"authors":38,"keywords":40,"date":44,"updated":45,"visible":46,"headings":47,"bodyHtml":56,"plainText":57},[39],"司空绝洛",[41,42,43],"typst","demo","样板","2026-09-11","2026-09-12",true,[48,51,54],{"level":49,"text":7,"id":50},2,"typst-语法样板",{"level":52,"text":53,"id":53},3,"基本结构",{"level":52,"text":55,"id":55},"表格与网格","\u003Cp>这是一篇用于验证博客 Typst 子集的样板文章，只使用最基本的结构：标题、段落、列表、代码块、表格、网格、对齐和图片。文章刻意不包含纸面布局指令，网页上的渲染行为由前端决定。\u003C\u002Fp>\u003Ch3 id=\"基本结构\">基本结构\u003C\u002Fh3>\u003Cp>段落之间以空行分隔，行内支持\u003Cstrong>强调\u003C\u002Fstrong>与\u003Ccode>等宽\u003C\u002Fcode>两种标记。列表用于枚举要点：\u003C\u002Fp>\u003Cul>\u003Cli>一个标题与两个小节；\u003C\u002Fli>\u003Cli>三段短小的说明文字；\u003C\u002Fli>\u003Cli>一个代码块、一个表格和一个网格。\u003C\u002Fli>\u003C\u002Ful>\u003Cp>编译本文可以使用：\u003C\u002Fp>\u003Cpre>\u003Ccode data-lang=\"sh\">\u003Cspan style=\"color: #4b69c6\">typst\u003C\u002Fspan> compile content\u002Fdemo\u002Ftypst-syntax.typ\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3 id=\"表格与网格\">表格与网格\u003C\u002Fh3>\u003Cp>表格适合呈现成对的数据：\u003C\u002Fp>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>\u003Cstrong>语言\u003C\u002Fstrong>\u003C\u002Fth>\u003Cth>\u003Cstrong>职责\u003C\u002Fstrong>\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>Typst\u003C\u002Ftd>\u003Ctd>内容源语法\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Rust\u003C\u002Ftd>\u003Ctd>解析与结构转换\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Vue\u003C\u002Ftd>\u003Ctd>网页渲染\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Cp>网格用于左右并排的独立内容：\u003C\u002Fp>\u003Cdiv class=\"blog-grid\" data-cols=\"2\">\u003Cdiv class=\"blog-cell\">\u003Cstrong>子集校验\u003C\u002Fstrong>：只接受博客需要的语法。\u003C\u002Fdiv>\u003Cdiv class=\"blog-cell\">\u003Cstrong>前端渲染\u003C\u002Fstrong>：布局细节交给 CSS。\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cp>图片由官方导出内嵌，博客改为内容寻址缓存：\u003C\u002Fp>\u003Cimg src=\"\u002Fimg\u002F7f06a4681a9c55a2a4f71d472e1612e1.png\" alt=\"六个渐变色块组成的示例图\" width=\"960\" height=\"360\" style=\"display: block\">\u003Cp>对齐用于居中或靠边的独立内容：\u003C\u002Fp>\u003Cdiv class=\"blog-align\" data-align=\"center\">一份居中的引文或题记。\u003C\u002Fdiv>\u003Cdiv class=\"blog-align\" data-align=\"right\">—— 右对齐的署名\u003C\u002Fdiv>","这是一篇用于验证博客 Typst 子集的样板文章，只使用最基本的结构：标题、段落、列表、代码块、表格、网格、对齐和图片。文章刻意不包含纸面布局指令，网页上的渲染行为由前端决定。基本结构段落之间以空行分隔，行内支持强调与等宽两种标记。列表用于枚举要点：一个标题与两个小节；三段短小的说明文字；一个代码块、一个表格和一个网格。编译本文可以使用：typst compile content\u002Fdemo\u002Ftypst-syntax.typ表格与网格表格适合呈现成对的数据：语言职责Typst内容源语法Rust解析与结构转换Vue网页渲染网格用于左右并排的独立内容：子集校验：只接受博客需要的语法。前端渲染：布局细节交给 CSS。图片由官方导出内嵌，博客改为内容寻址缓存：对齐用于居中或靠边的独立内容：一份居中的引文或题记。—— 右对齐的署名",1789407125075]