[{"data":1,"prerenderedAt":142},["ShallowReactive",2],{"content:project:static-blog":3},{"id":4,"title":5,"body":6,"cover":124,"date":125,"demoUrl":124,"description":126,"draft":127,"extension":128,"meta":129,"navigation":130,"path":131,"repoUrl":124,"seo":132,"status":133,"stem":134,"tags":135,"updated":124,"__hash__":141},"projects\u002Fprojects\u002Fstatic-blog.md","个人静态博客（本项目）",{"type":7,"value":8,"toc":114},"minimark",[9,13,17,20,70,73,84,87,96,99],[10,11,12],"h2",{"id":12},"为什么自己写",[14,15,16],"p",{},"试过几个现成方案之后，留下的诉求只有三条：内容必须是仓库里的 Markdown、页面必须是搜索引擎能直接读到的静态 HTML、部署必须只是一堆文件。",[10,18,19],{"id":19},"技术构成",[21,22,23,31,46,52,58,64],"ul",{},[24,25,26,30],"li",{},[27,28,29],"strong",{},"Nuxt 4","：路由、SEO 元信息、组件拆分。构建产物是静态文件，运行时不需要 Node。",[24,32,33,36,37,41,42,45],{},[27,34,35],{},"Nuxt Content 3","：",[38,39,40],"code",{},"content\u002F"," 目录直接当数据源，schema 用 TypeScript 定义在 ",[38,43,44],{},"content.config.ts","。",[24,47,48,51],{},[27,49,50],{},"Tailwind CSS 4","：设计令牌写在 CSS 变量里，明暗主题只切一个 class。",[24,53,54,57],{},[27,55,56],{},"ECharts 6","：首页的分类分布与年度发布统计，数据由内容构建时聚合。",[24,59,60,63],{},[27,61,62],{},"Pagefind","：纯静态全文索引，支持中文分词。",[24,65,66,69],{},[27,67,68],{},"Giscus","：评论放在 GitHub Discussions，站点本身不存任何用户数据。",[10,71,72],{"id":72},"刻意没做的",[21,74,75,78,81],{},[24,76,77],{},"后台管理界面：任何需要登录的服务端接口都会让「静态部署」这个前提失效。写作入口换成 Pages CMS，它直接改仓库文件。",[24,79,80],{},"浏览量统计：没有埋点就没有数字，宁可不显示。",[24,82,83],{},"第三方地图服务：旅行地图只用省级边界数据本地渲染，不接高德的 key 与配额。",[10,85,86],{"id":86},"已经做完的",[21,88,89],{},[24,90,91,92,95],{},"旅行地图与游记：",[38,93,94],{},"\u002Ftravel"," 一张中国省级地图，去过的省份高亮；\n一篇 Markdown 就是一趟旅行，地图高亮、悬停照片轮播、省份面板和游记详情页全部由它派生。",[10,97,98],{"id":98},"接下来的计划",[100,101,102,105,108,111],"ol",{},[24,103,104],{},"把 RSS 订阅补上（需要固定生成的 feed 文件）；",[24,106,107],{},"给文章加上「本文代码对应的仓库提交」链接；",[24,109,110],{},"重新梳理标签体系，现在有三类内容共用一套标签，粒度偏粗；",[24,112,113],{},"这个仓库推到 GitHub 之后，把本页的源码地址补回来。",{"title":115,"searchDepth":116,"depth":116,"links":117},"",3,[118,120,121,122,123],{"id":12,"depth":119,"text":12},2,{"id":19,"depth":119,"text":19},{"id":72,"depth":119,"text":72},{"id":86,"depth":119,"text":86},{"id":98,"depth":119,"text":98},null,"2026-09-20","Nuxt 4 + Nuxt Content 生成的纯静态博客，支持 Markdown 与网页编辑器两种写作方式，部署到一台装了 Nginx 的服务器。",false,"md",{},true,"\u002Fprojects\u002Fstatic-blog",{"title":5,"description":126},"maintenance","projects\u002Fstatic-blog",[136,137,138,139,140],"Nuxt","TypeScript","Tailwind CSS","Pages CMS","静态站点","RRmWur4uvQ_iH9V382iThrjnH8JOriweI8F5W7YhEdQ",1792063306706]