知识门户

Back

从零搭建个人知识站点:技术选型与完整部署指南#

需求分析——你为什么需要“自己的”站点?#

1.1 常见的写作场景与痛点#

知识记录是痛点。最开始用word写,后来了解到了语雀等在线记录笔记的l工具,用了很久,但是公司网络限制,加上使用起来卡顿,后来就没有再使用了。再后来,了解到了obisidan,非常优秀的笔记记录。但是缺乏在线的能力,知识分享能力稍微弱了一些。

  • 短内容(博客/随笔):时间线、标签聚合、RSS订阅是刚需。
  • 长内容(书籍/手册/笔记):需要目录层级、侧边栏导航、全文搜索。
  • 两者的冲突:博客主题太重(不适合长文档),文档主题太死板(不适合博客)。

1.2 平台化方案 vs. 自建方案j#

选择优点缺点
平台化(Medium/知乎/Notion)零技术门槛,一键发布,自带流量内容所有权受限,样式定制弱,难以迁移
自建(本文方案)完全掌控内容与样式,可迁移,可扩展需要一定技术基础,初期配置成本
平台的写作能力若一些,比如后面,我们等typst的html能力成熟了,就可以让ai帮我们开发对应的写作方式。
所以,想要一个自己的站点,可以记录自己写的博客、书籍。知识如果不能分享,那就太寂寞了。

第部署方式的选择——服务器 vs. 静态托管#

2.1 自建的两种主流方式对比#

方式适用场景优点缺点
VPS/云服务器需要动态功能(数据库、用户系统)灵活性最高,可实现复杂功能成本高,需维护服务器安全
静态网站托管(Vercel/Netlify/Cloudflare Pages)纯内容站点(博客、文档)免费额度充足,自动构建部署,全球CDN加速仅限于静态内容

最开始,我是在腾讯云上部署了一个服务器,hexo的框架,基本上不用自己费心去搭建和管理环境,腾讯的服务器都可以一键部署和使用。但是,每年需要出小几百块的服务器费用,还是挺麻烦的。 再后来,看到静态网站托管的服务,才知道,还可以这样。不用花费,很方便的就可以部署和托管。

2.2 为什么推荐静态托管?#

  • 本方案完全生成纯静态HTML,无需数据库,无需后端。
  • Vercel/Netlify 支持 Git 自动化部署(push 即发布)。
  • 国内用户可考虑 Cloudflare Pages(无需备案,自带全球CDN)。

静态网站生成器(SSG)选型指南#

3.1 主流 SSG 一览#

框架语言速度生态适合场景
HugoGo⚡⚡⚡★★★★☆追求极致构建速度,生态成熟
ZolaRust⚡⚡⚡★★☆☆☆Rust爱好者,希望原生支持书籍模式
VuePress/VitePressJavaScript⚡⚡★★★★☆Vue技术栈,文档类站点首选
Next.jsJavaScript⚡⚡★★★★★React技术栈,功能最强大
AstroJavaScript⚡⚡⚡★★★★☆内容驱动,灵活性最高,AI友好

3.2 我们为什么选择 Astro?#

astro的主题很丰富,热度很高,很容易找到匹配自己需求的模板。

  • 官方主题 Starlight:为长文档设计,开箱即用。
  • 社区插件丰富starlight-blog(博客)、starlight-obsidian(笔记无缝集成)。
  • AI友好:官方有专门的AI辅助开发指南,生态中已有AI深度集成的主题(如 astro-minimax)。
  • “岛屿架构”:页面默认是静态的,只有需要交互的部分才加载JavaScript,性能极佳。

第四部分:整体搭建与部署流程(全景预览)#

在开始动手前,我们先了解一下静态网站的工作流程:

  1. 我们本地准备环境
  2. 通过模板进行项目初始化
  3. 然后,在模板的文件夹下,进行内容创作
  4. 本地预览通过后,把内容推送到github上
  5. github和服务网站关联,当我们
┌─────────────┐     ┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  环境准备    │ ──▶ │  项目初始化  │ ──▶ │  内容写作   │ ──▶ │  本地预览   │
│ (Node.js)   │     │ (Astro CLI) │     │ (MDX/Ob.)  │     │ (npm run dev)│
└─────────────┘     └─────────────┘     └─────────────┘     └─────────────┘


┌─────────────┐     ┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  持续更新   │ ◀── │  网站上线   │ ◀── │  构建部署   │ ◀── │  Git推送   │
│ (写即发布)  │     │ (公开URL)  │     │ (npm run build)│     │ (git push) │
└─────────────┘     └─────────────┘     └─────────────┘     └─────────────┘
plaintext

总耗时预估:首次配置约30-60分钟,之后每次写文章只需提交Git即可。


第五部分:详细操作步骤#

5.1 环境准备#

  • 安装 Node.js(推荐 v18 或更高)和 npm。
  • (可选)安装 Obsidian 笔记软件,用于本地写作。

5.2 创建项目#

npm create astro@latest my-site -- --template starlight
cd my-site
npm install
bash

5.3 安装博客插件(starlight-blog#

  • 添加博客功能,支持 datetagsauthors 等元数据。
  • 自动生成 /blog/ 列表页和 RSS 订阅。

5.4 安装 Obsidian 集成插件(starlight-obsidian#

  • 将本地 Obsidian Vault 映射为网站内容源。
  • 解决初始首页冲突问题(删除默认 index.mdx,在Vault根目录创建 index.md)。

5.5 配置导航与侧边栏#

  • 通过 astro.config.mjs 中的 sidebar 配置控制目录结构。
  • 支持多级嵌套,适合长文档组织。

5.6 本地预览与调试#

  • npm run dev 启动开发服务器,修改内容自动热更新。

5.7 部署到生产环境#

  • Vercel(推荐):连接GitHub仓库,自动构建。
    • 构建命令:npm run build
    • 输出目录:dist/
  • Cloudflare Pages:适合国内用户,无需备案。
  • Netlify:另一主流选择,配置类似。

5.8 内容维护工作流#

  • 在 Obsidian 中写作 → 保存 → 推送到 Git → 自动部署。
  • 零前端代码,只关注内容本身。

第六部分:其他选择与扩展推荐#

6.1 如果不想用 Astro,有什么替代?#

  • Zola + Tanuki 主题:原生支持“博客/书籍”双模式,Rust生态。
  • Hugo + Hextra 主题:功能全面,构建速度最快。
  • mdBook:极简书籍方案,适合纯粹的文档写作。

6.2 如何进一步扩展?#

  • 集成 Typst 支持,用排版语言写书。
  • 添加评论系统(Giscus / Utterances)。
  • 配置自定义域名。

第七部分:总结与参考链接#

  • 核心观点:技术选型不是追求“最强”,而是找到最契合自己工作流的工具。Astro + Starlight 是当前内容创作者的优秀选择。
  • 思维转变:把精力放在内容上,让工具服务于写作。

参考链接

基于Astro搭建个人知识库
https://knowlage-gallary.vercel.app/blog/2026-07-21-%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E9%9D%99%E6%80%81%E7%BD%91%E9%A1%B5
Author GLF
Published at 2026年7月21日