{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "野渡",
  "home_page_url": "https://vault-blog.example.com/",
  "feed_url": "https://vault-blog.example.com/feed.json",
  "description": "一个无人看守的渡口，思绪自由横渡",
  "items": [
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/29-plausible-隐私优先的-plausible-统计接入",
      "url": "https://vault-blog.example.com/vaultkit-包指南/29-plausible-隐私优先的-plausible-统计接入",
      "title": "plausible：隐私优先的 Plausible 统计接入",
      "summary": "@vaultkit/vitepress-plugin-plausible 为 VitePress 注入隐私优先的 Plausible 统计脚本。与姊妹包 @vaultkit/vitepress-plugin-umami 同款机制：纯构建期函数，把配置转换成一条 head 内联脚本条目，塞进 head 数组即可。",
      "date_modified": "2026-07-14T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "统计",
        "隐私"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/28-umami-隐私优先的-umami-统计接入",
      "url": "https://vault-blog.example.com/vaultkit-包指南/28-umami-隐私优先的-umami-统计接入",
      "title": "umami：隐私优先的 Umami 统计接入",
      "summary": "@vaultkit/vitepress-plugin-umami 为 VitePress 注入隐私优先的 Umami 统计脚本。它不是运行时组件，而是一个纯构建期函数：把 Umami 配置转换成一条 head 内联脚本条目，塞进 VitePress 的 head 数组即可。",
      "date_modified": "2026-07-13T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "统计",
        "隐私"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/27-og-image-无浏览器管线的逐页-og-分享图",
      "url": "https://vault-blog.example.com/vaultkit-包指南/27-og-image-无浏览器管线的逐页-og-分享图",
      "title": "og-image：无浏览器管线的逐页 OG 分享图",
      "summary": "@vaultkit/vitepress-plugin-og-image 在 VitePress buildEnd 钩子里为每个页面生成一张 Open Graph 分享图（1200 × 630 PNG）。管线是 satori（元素树 → SVG，纯计算）+ resvg（SVG → PNG），全程无浏览器——CI 里不需要…",
      "date_modified": "2026-07-12T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "VitePress",
        "SEO",
        "Satori"
      ]
    },
    {
      "id": "https://vault-blog.example.com/callout-语法测试",
      "url": "https://vault-blog.example.com/callout-语法测试",
      "title": "Callout 语法测试",
      "summary": "本文逐项测试 Obsidian Callouts 的全部语法形态，与 Obsidian 官方帮助页对齐。",
      "date_modified": "2026-07-11T00:00:00.000Z",
      "tags": [
        "Posts",
        "示例"
      ]
    },
    {
      "id": "https://vault-blog.example.com/markdown-语法示例",
      "url": "https://vault-blog.example.com/markdown-语法示例",
      "title": "Markdown 语法示例",
      "summary": "本文包含本站支持的全部书写语法：标准 Markdown、VitePress 扩展、Obsidian 专属语法，可作为写作速查（本文自身的 frontmatter 也演示了上方的属性面板）。",
      "date_modified": "2026-07-11T00:00:00.000Z",
      "tags": [
        "Posts",
        "示例",
        "行内标签",
        "嵌套/标签"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/26-robots-一分钟配好-robots-txt",
      "url": "https://vault-blog.example.com/vaultkit-包指南/26-robots-一分钟配好-robots-txt",
      "title": "robots：一分钟配好 robots.txt",
      "summary": "@vaultkit/vitepress-plugin-robots 是一个零配置的 robots.txt 生成器，在 VitePress buildEnd 钩子里调用：hostname 自动取自内置 sitemap 配置，缺省产出「全放行 + Sitemap: 指令」，需要时再用 rules 精细控制各家爬虫——包括屏…",
      "date_modified": "2026-07-11T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "VitePress",
        "SEO"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/25-llms-让站点对-ai-友好的-llms-txt",
      "url": "https://vault-blog.example.com/vaultkit-包指南/25-llms-让站点对-ai-友好的-llms-txt",
      "title": "llms：让站点对 AI 友好的 llms.txt",
      "summary": "@vaultkit/vitepress-plugin-llms 是一个在 VitePress buildEnd 钩子里调用的 llms.txt / llms-full.txt 生成器，遵循 llmstxt.org 约定：前者是给 LLM 看的站点索引（标题 + 摘要 + 链接），后者是全文汇编，AI 助手一次抓取就能把…",
      "date_modified": "2026-07-10T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "VitePress",
        "AI"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/24-feed-给博客配上-rss-与-json-feed",
      "url": "https://vault-blog.example.com/vaultkit-包指南/24-feed-给博客配上-rss-与-json-feed",
      "title": "feed：给博客配上 RSS 与 JSON Feed",
      "summary": "@vaultkit/vitepress-plugin-feed 是一个在 VitePress buildEnd 钩子里调用的 RSS + JSON Feed 生成器：一次调用同时产出 feed.xml（RSS 2.0）与 feed.json（JSON Feed 1.1），频道元数据全部从 site 配置与 sitema…",
      "date_modified": "2026-07-09T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "VitePress",
        "RSS"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/23-repo-platform-kit-仓库平台统一取数内核",
      "url": "https://vault-blog.example.com/vaultkit-包指南/23-repo-platform-kit-仓库平台统一取数内核",
      "title": "repo-platform-kit：仓库平台统一取数内核",
      "summary": "@vaultkit/repo-platform-kit 是代码托管平台（GitHub / CNB）的统一取数内核：URL 解析、raw 内容与仓库元数据的请求构造、认证策略、带韧性的 TTL 磁盘缓存、平台徽标常量，全部收敛在一个零依赖的 Node 库里。它本身不依赖 VitePress，是 repo-card、rem…",
      "date_modified": "2026-07-08T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "Node",
        "GitHub"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/22-remote-file-远程源码文件嵌入完全指南",
      "url": "https://vault-blog.example.com/vaultkit-包指南/22-remote-file-远程源码文件嵌入完全指南",
      "title": "remote-file：远程源码文件嵌入完全指南",
      "summary": "@vaultkit/vitepress-plugin-remote-file 提供 ::: remote-file 容器：构建期抓取 GitHub / CNB 仓库中的文件内容直接嵌入文章，免复制粘贴，随每次部署自动同步。嵌入产物带出处 chrome（平台徽标 + 可点路径链接 + ref / 行号徽标），代码本体走站…",
      "date_modified": "2026-07-07T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "嵌入",
        "GitHub"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/21-npm-card-npm-包信息卡完全指南",
      "url": "https://vault-blog.example.com/vaultkit-包指南/21-npm-card-npm-包信息卡完全指南",
      "title": "npm-card：npm 包信息卡完全指南",
      "summary": "@vaultkit/vitepress-plugin-npm-card 提供 ::: npm-card 容器：写包介绍、教程文章时一行嵌入 npm 包信息卡——版本、描述、周下载、解包体积、运行时依赖数、license、TS 类型徽标、keywords 一卡集齐。构建期从 npm registry 抓取元数据渲染为静态…",
      "date_modified": "2026-07-06T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "嵌入",
        "npm"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/20-repo-card-github-与-cnb-仓库卡片完全指南",
      "url": "https://vault-blog.example.com/vaultkit-包指南/20-repo-card-github-与-cnb-仓库卡片完全指南",
      "title": "repo-card：GitHub 与 CNB 仓库卡片完全指南",
      "summary": "@vaultkit/vitepress-plugin-repo-card 提供 ::: repo-card 容器：构建期抓取 GitHub / CNB 仓库元数据（名称、描述、语言、星叉、topics），渲染为静态卡片，零客户端 JS。动画全部 CSS——悬停浮起 + 品牌描边，lg 档另有光泽扫过，prefers-r…",
      "date_modified": "2026-07-05T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "嵌入",
        "GitHub"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/19-code-playground-codepen-与-stackblitz-嵌入完全指南",
      "url": "https://vault-blog.example.com/vaultkit-包指南/19-code-playground-codepen-与-stackblitz-嵌入完全指南",
      "title": "code-playground：CodePen 与 StackBlitz 嵌入完全指南",
      "summary": "@vaultkit/vitepress-plugin-code-playground 一个包提供两个容器：::: codepen 与 ::: stackblitz，分别对齐 CodePen Embed Builder 与 StackBlitz Embed URL options 官方文档，在 Markdown 里一行嵌…",
      "date_modified": "2026-07-04T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "嵌入",
        "Markdown"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/18-web-frame-浏览器窗口样式的网页嵌入",
      "url": "https://vault-blog.example.com/vaultkit-包指南/18-web-frame-浏览器窗口样式的网页嵌入",
      "title": "web-frame：浏览器窗口样式的网页嵌入",
      "summary": "@vaultkit/vitepress-plugin-web-frame 为 VitePress / markdown-it 提供 ::: web-frame 容器，把任意网页（或任意 Markdown 内容）装进一个「浏览器窗口」视觉里：三色圆点栏 + 圆角边框 + 柔和阴影，颜色取 VitePress --vp-c…",
      "date_modified": "2026-07-03T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "嵌入",
        "Markdown"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/17-bilibili-b-站视频嵌入完全指南",
      "url": "https://vault-blog.example.com/vaultkit-包指南/17-bilibili-b-站视频嵌入完全指南",
      "title": "bilibili：B 站视频嵌入完全指南",
      "summary": "@vaultkit/vitepress-plugin-bilibili 为 VitePress / markdown-it 提供 ::: bilibili 容器，一行 Markdown 嵌入哔哩哔哩官方外链播放器（player.bilibili.com）。它基于 markdown-it-container 在构建期直接…",
      "date_modified": "2026-07-02T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "嵌入",
        "视频",
        "Markdown"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/16-donate-文章赞赏卡",
      "url": "https://vault-blog.example.com/vaultkit-包指南/16-donate-文章赞赏卡",
      "title": "donate：文章赞赏卡",
      "summary": "@vaultkit/vitepress-plugin-donate 是文章尾部赞赏卡 Vue 组件：支付宝 / 微信收款码页签切换 + PayPal 外链，三渠道按配置门控——配了什么就显示什么，全缺时整卡消失，宿主连 v-if 都不用包。交互是居中的「赞赏」按钮点击展开面板（非模态），SSR 首帧收起态一致、无水合差…",
      "date_modified": "2026-07-01T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "VitePress",
        "Vue"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/15-copyright-文章版权声明卡",
      "url": "https://vault-blog.example.com/vaultkit-包指南/15-copyright-文章版权声明卡",
      "title": "copyright：文章版权声明卡",
      "summary": "@vaultkit/vitepress-plugin-copyright 是文章版权声明卡 Vue 组件，挂在正文之后——那是「转载须知」的标准位。卡片三行信息一目了然：文章标题 + 规范链接（带一键复制）、作者（可链到关于页）、许可协议（可链到协议原文），另可选一句转载须知整句。滚到本页末尾就能看到它的现场效果——本…",
      "date_modified": "2026-06-30T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "VitePress",
        "Vue"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/14-giscus-把评论区建在-github-discussions-上",
      "url": "https://vault-blog.example.com/vaultkit-包指南/14-giscus-把评论区建在-github-discussions-上",
      "title": "giscus：把评论区建在 GitHub Discussions 上",
      "summary": "@vaultkit/vitepress-plugin-giscus 是 giscus（基于 GitHub Discussions 的评论系统）的轻量 Vue 集成。它不引官方的 @giscus/vue——那层 web component 封装对这里的场景是纯开销——而是直接注入 giscus 官方 client.js，…",
      "date_modified": "2026-06-29T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "VitePress",
        "giscus",
        "评论系统"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/13-reading-time-中英分轨阅读时长统计",
      "url": "https://vault-blog.example.com/vaultkit-包指南/13-reading-time-中英分轨阅读时长统计",
      "title": "reading-time：中英分轨阅读时长统计",
      "summary": "@vaultkit/vitepress-plugin-reading-time 为 VitePress 提供阅读时长统计，架构是「一包两半」：构建期的 markdown-it 插件负责计数并写入 frontmatter，/client 子路径的可选 Vue 组件负责展示。核心卖点是中英分轨计数——中文语料按空格分词会把…",
      "date_modified": "2026-06-28T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "VitePress",
        "markdown-it"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/12-scroll-navigator-回顶部与到底部浮钮",
      "url": "https://vault-blog.example.com/vaultkit-包指南/12-scroll-navigator-回顶部与到底部浮钮",
      "title": "scroll-navigator：回顶部与到底部浮钮",
      "summary": "@vaultkit/vitepress-plugin-scroll-navigator 是右下角「回顶部 / 到底部」浮钮组 Vue 组件。它解决的是长文导航的两个高频动作：读完想回顶部看目录、想直接跳到文末的评论区。往下滚动本页，右下角出现的那对圆形浮钮就是它的现场演示——本站开箱内置。",
      "date_modified": "2026-06-27T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "VitePress",
        "Vue"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/11-reading-progress-顶部阅读进度条",
      "url": "https://vault-blog.example.com/vaultkit-包指南/11-reading-progress-顶部阅读进度条",
      "title": "reading-progress：顶部阅读进度条",
      "summary": "@vaultkit/vitepress-plugin-reading-progress 是一个页面顶部阅读进度条 Vue 组件：随滚动从左到右填充，让读者对「还剩多少」有直觉感知。零依赖、零配置即可用——现在就往下滚动本页，注意浏览器窗口最顶端那条与主题品牌色同色的细线，它就是本组件的现场演示。",
      "date_modified": "2026-06-26T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "VitePress",
        "Vue"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/10-image-preview-零依赖图片灯箱",
      "url": "https://vault-blog.example.com/vaultkit-包指南/10-image-preview-零依赖图片灯箱",
      "title": "image-preview：零依赖图片灯箱",
      "summary": "@vaultkit/vitepress-plugin-image-preview 是一个零运行时依赖的 VitePress 全屏图片查看器：点击正文图片即打开灯箱，支持滚轮缩放、1:1 复位、旋转、拖拽平移、同页画廊切换与下载，交互语义对齐 Element Plus Image Viewer。你现在就可以点击本站任意文…",
      "date_modified": "2026-06-25T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "VitePress",
        "Vue"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/09-contribution-graph-github-风格创作热力图",
      "url": "https://vault-blog.example.com/vaultkit-包指南/09-contribution-graph-github-风格创作热力图",
      "title": "contribution-graph：GitHub 风格创作热力图",
      "summary": "GitHub 个人主页那张绿格子贡献图，大概是开发者世界里最有辨识度的信息图。把同款语义搬到博客归档页——每个格子是一天，颜色深浅是当天发文量——写作节奏一眼可见。@vaultkit/vitepress-plugin-contribution-graph 就是这么一个组件：零依赖、纯 CSS Grid、SSR 安全，数…",
      "date_modified": "2026-06-24T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "Vue",
        "可视化"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/08-word-cloud-确定性布局的标签词云组件",
      "url": "https://vault-blog.example.com/vaultkit-包指南/08-word-cloud-确定性布局的标签词云组件",
      "title": "word-cloud：确定性布局的标签词云组件",
      "summary": "词云是标签页与归档页的经典一图流：词频权重一眼可读，还顺手当导航用。但大多数词云组件有个恼人的通病——每次刷新都洗牌，昨天在左上角的标签今天跑到右下角。@vaultkit/vitepress-plugin-word-cloud 用一个种子随机数生成器根治了这个问题：同一份词集，布局永远恒定。本站首页侧栏的「标签」词云就…",
      "date_modified": "2026-06-23T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "Vue",
        "可视化"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/07-content-toc-circuit-走线目录组件",
      "url": "https://vault-blog.example.com/vaultkit-包指南/07-content-toc-circuit-走线目录组件",
      "title": "content-toc：circuit 走线目录组件",
      "summary": "VitePress 默认的右侧大纲够用但寡淡：一根竖线加一段高亮。Nuxt UI 的 ContentToc 有个漂亮得多的 highlightVariant: circuit 变体——目录左侧是一条随缩进弯折的「电路板走线」，高亮段像电流一样随滚动在走线上流动。@vaultkit/vitepress-plugin-co…",
      "date_modified": "2026-06-22T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "Vue",
        "目录"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/06-local-graph-obsidian-风格关系图谱组件",
      "url": "https://vault-blog.example.com/vaultkit-包指南/06-local-graph-obsidian-风格关系图谱组件",
      "title": "local-graph：Obsidian 风格关系图谱组件",
      "summary": "双链笔记发布成网站后，最让人怀念的往往是 Obsidian 那张关系图谱。@vaultkit/vitepress-plugin-local-graph 把 Obsidian Publish 风格的 Interactive Graph 带进 VitePress：d3-force 力导向布局 + SVG 自渲染，节点半径随…",
      "date_modified": "2026-06-21T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "Vue",
        "可视化",
        "Obsidian"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/05-mindmap-标题大纲一键变思维导图",
      "url": "https://vault-blog.example.com/vaultkit-包指南/05-mindmap-标题大纲一键变思维导图",
      "title": "mindmap：标题大纲一键变思维导图",
      "summary": "长文章的结构，目录列表看得见层级、看不见形状。@vaultkit/vitepress-plugin-mindmap 把 VitePress 已渲染文章的标题层级一键变成可交互的思维导图：横向树状铺开、分支按深度着色、圆点折叠展开、点标题跳回正文——本站每篇文章侧栏的「思维导图」页签就是它，现场即可体验。",
      "date_modified": "2026-06-20T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "Vue",
        "可视化",
        "思维导图"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/04-obsidian-canvas-把-obsidian-白板嵌进文章",
      "url": "https://vault-blog.example.com/vaultkit-包指南/04-obsidian-canvas-把-obsidian-白板嵌进文章",
      "title": "obsidian-canvas：把 Obsidian 白板嵌进文章",
      "summary": "在 Obsidian 里画的白板（.canvas 文件，即开放格式 JSON Canvas），能不能像一张图片一样直接嵌进已发布的文章里？@vaultkit/vitepress-plugin-obsidian-canvas 的答案是：能，而且是构建期一次成型、客户端零运行时的静态嵌入——节点、连线、箭头、标签、颜色全部…",
      "date_modified": "2026-06-19T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "Obsidian",
        "可视化"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/03-nuxt-typography-card-callout-steps-排版容器完全指南",
      "url": "https://vault-blog.example.com/vaultkit-包指南/03-nuxt-typography-card-callout-steps-排版容器完全指南",
      "title": "nuxt-typography：card、callout、steps 排版容器完全指南",
      "summary": "技术博客写多了就会发现，光有正文和代码块不够用：推荐阅读要卡片、重点提示要色块、安装教程要步骤列表、长配置文件要能折叠。Nuxt 官方文档的 Prose 组件把这套排版语言打磨得很成熟，@vaultkit/vitepress-plugin-nuxt-typography 把它带进 VitePress：五种容器（card…",
      "date_modified": "2026-06-18T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "VitePress",
        "Markdown"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/02-markdown-it-obsidian-callouts-obsidian-callouts-语法完全指南",
      "url": "https://vault-blog.example.com/vaultkit-包指南/02-markdown-it-obsidian-callouts-obsidian-callouts-语法完全指南",
      "title": "markdown-it-obsidian-callouts：Obsidian Callouts 语法完全指南",
      "summary": "Callouts 是 Obsidian 里最常用的排版元素——一个 > 就能把提示、警告、示例从正文里凸显出来。但把笔记发布上网时，通用 Markdown 渲染器只会把它当成普通引用块。@vaultkit/markdown-it-obsidian-callouts 在任何 markdown-it ≥ 14 环境里补齐这…",
      "date_modified": "2026-06-17T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "Obsidian",
        "Markdown"
      ]
    },
    {
      "id": "https://vault-blog.example.com/vaultkit-包指南/01-vitepress-theme-vault-把-obsidian-库发布成博客的一站式主题",
      "url": "https://vault-blog.example.com/vaultkit-包指南/01-vitepress-theme-vault-把-obsidian-库发布成博客的一站式主题",
      "title": "vitepress-theme-vault：把 Obsidian 库发布成博客的一站式主题",
      "summary": "用 Obsidian 写作的人迟早会遇到同一个问题：笔记想发布成博客，但 vault 里的 双链、callouts、 嵌入这些方言语法，任何通用静态站点生成器都不认识；而且 vault 里混着日记、草稿、模板，绝不能整库上网。@vaultkit/vitepress-theme-vault 就是为这条链路而生的 Vite…",
      "date_modified": "2026-06-16T00:00:00.000Z",
      "tags": [
        "Posts",
        "VaultKit",
        "Obsidian",
        "VitePress"
      ]
    },
    {
      "id": "https://vault-blog.example.com/claude-code-skills-安装与更新说明",
      "url": "https://vault-blog.example.com/claude-code-skills-安装与更新说明",
      "title": "Claude Code Skills 安装与更新说明",
      "summary": "结论先行：Claude Code 目前最稳的 skill 使用方式分成两类： 直接放入约定目录：项目级 .claude/skills/，全局级 ~/.claude/skills/ 通过第三方工具或 plugin 做分发与安装 vercel-labs/skills 属于 社区 CLI 安装器，不是 Claude Code…",
      "date_modified": "2026-04-02T00:00:00.000Z",
      "tags": [
        "claude-code",
        "skills",
        "obsidian"
      ]
    },
    {
      "id": "https://vault-blog.example.com/claude-code-standards-commands-skills-分层与迁移清单",
      "url": "https://vault-blog.example.com/claude-code-standards-commands-skills-分层与迁移清单",
      "title": "Claude Code standards、commands、skills 分层与迁移清单",
      "summary": "这份笔记的目标不是立即改写 .claude 体系，而是先回答一个更基础的问题：哪些内容应该继续留在 standards/ 或 commands/，哪些内容才适合抽到 skills/。",
      "date_modified": "2026-04-02T00:00:00.000Z",
      "tags": [
        "Posts",
        "claude-code",
        "standards",
        "commands",
        "skills",
        "architecture"
      ]
    },
    {
      "id": "https://vault-blog.example.com/claude-code-上下文自动压缩配置指南",
      "url": "https://vault-blog.example.com/claude-code-上下文自动压缩配置指南",
      "title": "Claude Code 上下文自动压缩配置指南",
      "summary": ".claude/settings.json 没有 autoCompact 顶层键；自动压缩通过 env 中的环境变量配置。若公司将上下文上限控制为 200k，建议显式设置 CLAUDECODEAUTOCOMPACTWINDOW=200000。",
      "date_modified": "2026-04-02T00:00:00.000Z",
      "tags": [
        "claude-code",
        "obsidian",
        "context-management",
        "settings"
      ]
    },
    {
      "id": "https://vault-blog.example.com/claude-code-里安装-skills",
      "url": "https://vault-blog.example.com/claude-code-里安装-skills",
      "title": "Claude Code 里安装 skills",
      "summary": "Claude Code 目前安装 skills 的主线只有两种： 裸 skill：放进 ~/.claude/skills/ 或 <repo>/.claude/skills/ 可安装分发：把 skill 做进 plugin，再通过 plugin marketplace 安装 目前没有官方一等公民的 raw skill 安…",
      "date_modified": "2026-04-02T00:00:00.000Z",
      "tags": [
        "claude-code",
        "skills",
        "plugin",
        "workflow"
      ]
    },
    {
      "id": "https://vault-blog.example.com/cnb-流水线导出环境变量",
      "url": "https://vault-blog.example.com/cnb-流水线导出环境变量",
      "title": "CNB 流水线导出环境变量",
      "summary": "这篇文档只讲一件事：在 CNB 流水线里，怎么把前一个 stage 的结果传给后一个 stage。",
      "date_modified": "2026-03-30T00:00:00.000Z",
      "tags": [
        "Posts",
        "CNB",
        "CI/CD",
        "Environment Variables",
        "cnb",
        "ci",
        "env"
      ]
    },
    {
      "id": "https://vault-blog.example.com/cnb-rs-auth-gh-alignment",
      "url": "https://vault-blog.example.com/cnb-rs-auth-gh-alignment",
      "title": "cnb-rs-auth-gh-alignment",
      "summary": "本文档不是简单的变更摘要，而是一份偏设计说明性质的记录，目标是把这次 cnb-rs auth 改造讲清楚，方便您后续从下面几个角度审视：",
      "date_modified": "2026-03-22T00:00:00.000Z",
      "tags": []
    },
    {
      "id": "https://vault-blog.example.com/docsite-frameworks/01-mkdocs-material",
      "url": "https://vault-blog.example.com/docsite-frameworks/01-mkdocs-material",
      "title": "01_mkdocs_material",
      "summary": "MkDocs + Material 适合追求“高写作效率 + 低维护成本 + 稳定阅读体验”的技术文档项目，是多数个人知识库和中小团队文档站的稳妥基线。",
      "date_modified": "2026-03-12T00:00:00.000Z",
      "tags": []
    },
    {
      "id": "https://vault-blog.example.com/docsite-frameworks/02-docusaurus",
      "url": "https://vault-blog.example.com/docsite-frameworks/02-docusaurus",
      "title": "02_docusaurus",
      "summary": "Docusaurus 是面向“产品级文档门户”的 React 方案，强项是版本化、国际化、组件化扩展和生态完整度。",
      "date_modified": "2026-03-12T00:00:00.000Z",
      "tags": []
    },
    {
      "id": "https://vault-blog.example.com/docsite-frameworks/03-vitepress",
      "url": "https://vault-blog.example.com/docsite-frameworks/03-vitepress",
      "title": "03_vitepress",
      "summary": "VitePress 是面向技术文档与知识博客的轻量框架，核心优势是“Vite 速度 + Markdown 友好 + 足够灵活的主题扩展”。",
      "date_modified": "2026-03-12T00:00:00.000Z",
      "tags": []
    },
    {
      "id": "https://vault-blog.example.com/docsite-frameworks/04-starlight",
      "url": "https://vault-blog.example.com/docsite-frameworks/04-starlight",
      "title": "04_starlight",
      "summary": "Starlight 是 Astro 生态中的文档框架，优势在于现代内容体验、静态性能和与 Astro 内容平台能力的自然融合。",
      "date_modified": "2026-03-12T00:00:00.000Z",
      "tags": []
    },
    {
      "id": "https://vault-blog.example.com/docsite-frameworks/05-mdbook",
      "url": "https://vault-blog.example.com/docsite-frameworks/05-mdbook",
      "title": "05_mdbook",
      "summary": "mdBook 是 Rust 生态最成熟的书籍式文档工具，适合“按章节线性学习”的教程、课程和手册型内容。",
      "date_modified": "2026-03-12T00:00:00.000Z",
      "tags": []
    },
    {
      "id": "https://vault-blog.example.com/docsite-frameworks/06-zola",
      "url": "https://vault-blog.example.com/docsite-frameworks/06-zola",
      "title": "06_zola",
      "summary": "Zola 是 Rust 编写的通用静态站生成器，适合希望同时承载文档、博客、专题页面并追求高可塑性的内容平台。",
      "date_modified": "2026-03-12T00:00:00.000Z",
      "tags": []
    },
    {
      "id": "https://vault-blog.example.com/docsite-frameworks/readme",
      "url": "https://vault-blog.example.com/docsite-frameworks/readme",
      "title": "README",
      "summary": "更新时间：2026-03-11 用途：作为公开博客系列的主索引与选型手册。 阅读方式：先看本页第 3、4、5 章建立整体框架，再按需要进入单框架深度笔记。",
      "date_modified": "2026-03-12T00:00:00.000Z",
      "tags": []
    },
    {
      "id": "https://vault-blog.example.com/gitignore-与-gitattributes",
      "url": "https://vault-blog.example.com/gitignore-与-gitattributes",
      "title": ".gitignore 与 .gitattributes 详解",
      "summary": ".gitignore 控制哪些文件不被 Git 跟踪，.gitattributes 控制 Git 如何处理文件（换行符、diff、merge 策略等）。这两个文件是项目级配置的基础，跟随代码提交，确保团队一致。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/config",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-bisect",
      "url": "https://vault-blog.example.com/git-bisect",
      "title": "Git bisect 详解",
      "summary": "git bisect 是 Git 内置的二分查找工具，用于在提交历史中快速定位引入 bug 的那个提交。它通过不断将搜索范围缩小一半，在 O(log n) 的时间复杂度内找到问题提交——1000 个提交只需约 10 次测试。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/debug",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-branch-与分支管理",
      "url": "https://vault-blog.example.com/git-branch-与分支管理",
      "title": "Git branch 与分支管理详解",
      "summary": "分支是 Git 最核心的功能之一。git branch、git switch、git checkout 三个命令构成了分支管理的完整工具集。Git 2.23 之后，官方推荐使用 switch 切换分支、restore 恢复文件，替代万能但容易混淆的 checkout。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/branch",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-cherry-pick",
      "url": "https://vault-blog.example.com/git-cherry-pick",
      "title": "Git cherry-pick 详解",
      "summary": "git cherry-pick 是 Git 中用于将指定提交应用到当前分支的命令。它会复制一个提交的修改内容，在当前分支上创建一个新的提交。与 merge 和 rebase 不同，cherry-pick 只选取特定的提交，而非整个分支的所有提交。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/branch",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-clean-与仓库维护",
      "url": "https://vault-blog.example.com/git-clean-与仓库维护",
      "title": "Git clean 与仓库维护详解",
      "summary": "git clean 用于删除工作区中未跟踪的文件；git gc/git maintenance 用于仓库的垃圾回收和性能优化。前者清理工作区，后者清理 .git 目录。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/clean",
        "git/gc",
        "git/maintenance",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-config-与配置",
      "url": "https://vault-blog.example.com/git-config-与配置",
      "title": "Git config 与配置详解",
      "summary": "git config 是 Git 的配置管理命令，控制着 Git 的几乎所有行为——从用户身份、编辑器选择到合并策略、性能优化。掌握配置是高效使用 Git 的基础。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/config",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-filter-branch",
      "url": "https://vault-blog.example.com/git-filter-branch",
      "title": "Git filter-branch 详解",
      "summary": "git filter-branch 是 Git 提供的一个强大命令，用于批量重写仓库的提交历史。它可以修改提交中的文件内容、提交信息、作者信息等，常用于从历史记录中彻底删除敏感文件、修正提交者身份、拆分子目录为独立仓库等场景。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/history-rewrite",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-blame-与-reflog",
      "url": "https://vault-blog.example.com/git-blame-与-reflog",
      "title": "git filter-repo",
      "summary": "git filter-repo 是 Git 官方推荐的历史重写工具，用于替代已弃用的 git filter-branch 和 BFG Repo Cleaner。它基于 git fast-export / git fast-import 管道工作，速度极快，且在设计上规避了 filter-branch 的众多陷阱。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/history-rewrite",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-filter-repo",
      "url": "https://vault-blog.example.com/git-filter-repo",
      "title": "git filter-repo",
      "summary": "git filter-repo 是 Git 官方推荐的历史重写工具，用于替代已弃用的 git filter-branch 和 BFG Repo Cleaner。它基于 git fast-export / git fast-import 管道工作，速度极快，且在设计上规避了 filter-branch 的众多陷阱。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/history-rewrite",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-hooks",
      "url": "https://vault-blog.example.com/git-hooks",
      "title": "Git hooks 详解",
      "summary": "Git hooks 是在特定 Git 事件发生时自动执行的脚本。它们是 Git 内置的自动化机制，可以在提交、推送、合并等操作前后触发自定义逻辑，用于代码质量检查、规范强制、自动化测试等。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/hooks",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-lfs-与大文件管理",
      "url": "https://vault-blog.example.com/git-lfs-与大文件管理",
      "title": "Git LFS 与大文件管理详解",
      "summary": "Git 原生设计不适合管理大文件——每次 clone 都要下载完整历史中的每个版本。Git LFS（Large File Storage）通过将大文件存储在独立服务器来解决这个问题。sparse-checkout 和 partial clone 则从另一个角度优化——只下载需要的部分。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/lfs",
        "git/sparse-checkout",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-log-与-diff",
      "url": "https://vault-blog.example.com/git-log-与-diff",
      "title": "Git log 与 diff 详解",
      "summary": "git log 和 git diff 是 Git 中最常用的查看和分析命令。log 用于浏览提交历史，diff 用于对比代码差异。熟练掌握这两个命令的各种参数，可以极大提高代码审查和调试效率。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/inspect",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-merge",
      "url": "https://vault-blog.example.com/git-merge",
      "title": "Git merge 详解",
      "summary": "git merge 是 Git 中用于将一个分支的修改合并到另一个分支的核心命令。它是团队协作中最基本的操作之一，理解不同的合并策略和冲突解决方法是高效使用 Git 的关键。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/branch",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-rebase",
      "url": "https://vault-blog.example.com/git-rebase",
      "title": "Git rebase 详解",
      "summary": "git rebase 是 Git 中用于重新排列提交历史的强大命令。它的核心功能是将一系列提交「搬移」到另一个基础提交之上，从而产生一条线性的、更整洁的提交历史。它也可以用于交互式编辑提交（squash、reword、拆分等）。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/branch",
        "git/history-rewrite",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-remote-与远程操作",
      "url": "https://vault-blog.example.com/git-remote-与远程操作",
      "title": "Git remote 与远程操作详解",
      "summary": "git remote、git fetch、git pull、git push 是 Git 分布式协作的核心命令。理解它们之间的关系和各自的行为，是团队协作开发的基础。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/remote",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-reset",
      "url": "https://vault-blog.example.com/git-reset",
      "title": "Git reset 详解",
      "summary": "git reset 是 Git 中最常用的撤销操作命令，用于移动 HEAD 指针和当前分支引用，从而实现取消暂存、撤销提交、重置工作区等操作。它是理解 Git 内部工作原理的关键命令之一。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/undo",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-revert",
      "url": "https://vault-blog.example.com/git-revert",
      "title": "Git revert 详解",
      "summary": "git revert 是 Git 中最安全的撤销提交命令，它通过创建一个新的「反向提交」来抵消指定提交的修改，而不是删除提交历史。这使得它成为撤销已推送到远程的提交的首选方式。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/undo",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-stash",
      "url": "https://vault-blog.example.com/git-stash",
      "title": "Git stash 详解",
      "summary": "git stash 是 Git 中用于临时保存未提交修改的命令。它会将工作区和暂存区的修改保存到一个栈结构中，让工作区恢复到干净状态，方便你切换分支、拉取更新或处理紧急任务。之后可以随时恢复这些修改。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/workflow",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-submodule-与-subtree",
      "url": "https://vault-blog.example.com/git-submodule-与-subtree",
      "title": "Git submodule 与 subtree 详解",
      "summary": "git submodule 和 git subtree 是 Git 中管理子项目依赖的两种方案。它们解决同一个问题：如何在一个仓库中引用另一个仓库的代码，但设计理念和使用方式截然不同。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/subproject",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-tag",
      "url": "https://vault-blog.example.com/git-tag",
      "title": "Git tag 详解",
      "summary": "git tag 是 Git 中用于为特定提交打上永久标记的命令。标签通常用于标记发布版本（如 v1.0.0、v2.3.1），是版本管理和发布流程的核心工具。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/release",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git-worktree",
      "url": "https://vault-blog.example.com/git-worktree",
      "title": "Git worktree 详解",
      "summary": "git worktree 是 Git 提供的多工作目录管理工具，允许你从同一个仓库中同时检出多个分支到不同的目录。每个 worktree 都是一个独立的工作区，共享同一个 .git 对象数据库，但拥有独立的 HEAD、暂存区和工作文件。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "git/workflow",
        "学习笔记"
      ]
    },
    {
      "id": "https://vault-blog.example.com/git",
      "url": "https://vault-blog.example.com/git",
      "title": "Git 学习笔记汇总",
      "summary": "本文是 Git 系列笔记的知识地图（MOC），按主题分类汇总了所有 Git 相关笔记，方便快速导航和查阅。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "git",
        "学习笔记",
        "MOC"
      ]
    },
    {
      "id": "https://vault-blog.example.com/scoop",
      "url": "https://vault-blog.example.com/scoop",
      "title": "Scoop",
      "summary": "Scoop 是一个 Windows 命令行软件包管理器，灵感来自 Homebrew。它通过简洁的命令行界面安装和管理\"便携式\"应用程序，无需 UAC 弹窗提示、不污染系统 PATH、不修改 Windows 注册表。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "Apps",
        "windows",
        "scoop",
        "包管理",
        "命令行工具"
      ]
    },
    {
      "id": "https://vault-blog.example.com/windows-utf-8-编码设置",
      "url": "https://vault-blog.example.com/windows-utf-8-编码设置",
      "title": "Windows UTF-8 编码设置",
      "summary": "概述 Windows 系统默认使用 GBK（代码页 936）编码，这在处理多语言文本或与 Linux/macOS 协作时容易出现乱码问题。本文介绍多种将系统编码切换为 UTF-8 的方法，并提供一键配置脚本。",
      "date_modified": "2026-03-08T00:00:00.000Z",
      "tags": [
        "windows",
        "编码",
        "utf-8"
      ]
    },
    {
      "id": "https://vault-blog.example.com/windows-scoop-软件清单",
      "url": "https://vault-blog.example.com/windows-scoop-软件清单",
      "title": "Windows Scoop 软件清单",
      "summary": "统计信息 共安装 131 个软件，涵盖 18 个分类，来源于 7 个 bucket（main、extras、versions、nerd-fonts、nonportable、atm、YewFenceYewNursery）。 使用 scoop list | Sort-Object Updated -Descending 查…",
      "date_modified": "2026-03-07T00:00:00.000Z",
      "tags": [
        "windows",
        "scoop",
        "软件管理"
      ]
    },
    {
      "id": "https://vault-blog.example.com/windows-winget-软件清单",
      "url": "https://vault-blog.example.com/windows-winget-软件清单",
      "title": "Windows Winget软件清单",
      "summary": "winget install --id ZhipuAI.AutoGLM --source winget --force",
      "date_modified": "2026-03-07T00:00:00.000Z",
      "tags": [
        "windows",
        "软件管理",
        "winget"
      ]
    },
    {
      "id": "https://vault-blog.example.com/minimal-theme",
      "url": "https://vault-blog.example.com/minimal-theme",
      "title": "Minimal Theme",
      "summary": "Color schemes E-ink mode Mobile support",
      "date_modified": "2026-03-03T00:00:00.000Z",
      "tags": [
        "Projects"
      ]
    },
    {
      "id": "https://vault-blog.example.com/product-usage-analysis",
      "url": "https://vault-blog.example.com/product-usage-analysis",
      "title": "Product usage analysis",
      "summary": "Analysis of cost per use, see Buy wisely",
      "date_modified": "2026-03-03T00:00:00.000Z",
      "tags": []
    },
    {
      "id": "https://vault-blog.example.com/windows-rust-安装配置",
      "url": "https://vault-blog.example.com/windows-rust-安装配置",
      "title": "Windows Rust 安装配置",
      "summary": "本文档适用于：",
      "date_modified": "2026-03-03T00:00:00.000Z",
      "tags": [
        "Posts",
        "Windows",
        "Rust",
        "Scoop",
        "rust",
        "windows",
        "guide",
        "scoop"
      ]
    },
    {
      "id": "https://vault-blog.example.com/windows-环境变量设置",
      "url": "https://vault-blog.example.com/windows-环境变量设置",
      "title": "Windows 环境变量设置",
      "summary": "本文档介绍在 Windows 中查看、设置、取消环境变量的常用方法，适合开发环境配置（如 Java、Node.js、Rust、Go 等）。",
      "date_modified": "2026-03-03T00:00:00.000Z",
      "tags": [
        "Posts",
        "Windows",
        "Environment Variables",
        "PowerShell",
        "windows",
        "env"
      ]
    },
    {
      "id": "https://vault-blog.example.com/evergreen-notes-turn-ideas-into-objects-that-you-can-manipulate",
      "url": "https://vault-blog.example.com/evergreen-notes-turn-ideas-into-objects-that-you-can-manipulate",
      "title": "Evergreen notes turn ideas into objects that you can manipulate",
      "summary": "Using evergreen notes in Obsidian has been the most impactful change to how I think.",
      "date_modified": "2023-09-14T00:00:00.000Z",
      "tags": [
        "Posts",
        "Clippings",
        "Evergreen",
        "0🌲"
      ]
    },
    {
      "id": "https://vault-blog.example.com/2023-japan-trip",
      "url": "https://vault-blog.example.com/2023-japan-trip",
      "title": "2023 Japan Trip",
      "date_modified": "2023-09-12T00:00:00.000Z",
      "tags": [
        "Trips"
      ]
    },
    {
      "id": "https://vault-blog.example.com/2023-09-12-meeting-with-steph",
      "url": "https://vault-blog.example.com/2023-09-12-meeting-with-steph",
      "title": "2023-09-12 Meeting with Steph",
      "summary": "Discussed the book Out of Control on the topic of Emergence",
      "date_modified": "2023-09-12T00:00:00.000Z",
      "tags": [
        "Meetings",
        "Emergence"
      ]
    }
  ]
}
