跳转至

博客&知识库搭建指南

先大致给一个流程

广泛了解现有的博客&知识库框架 -> 选择自己中意的框架 -> 本地搭建环境 -> 部署云端环境 -> 维护&更新

广泛了解现有的博客&知识库框架

博客与知识库的区别

博客更像是“个人日记+公开演讲”。它通常是时间序列的内容,按照发布时间来组织。写博客时,作者往往在讲故事,表达观点,分享经历,带有很强的“我”的色彩。读者更像是跟随作者的思路走,去感受他的见解或经历。博客适合记录过程、心得、灵感,也有很强的社交和传播属性。

知识库则是“工具书+资料室”。它的目标是沉淀、整理、归档有价值的信息和知识点,通常按照主题或类别组织,而不是时间顺序。它更讲究系统性、条理性和可检索性。读者进知识库,是为了快速找到答案或获取某个主题的完整理解,而不是跟着时间线去体验作者的思路。

不过也不必区分很清楚, 只要按照自己的需求去写就好了, 不过各个框架倾向不同

选择框架可能需要考虑的点

软件是否开源

开源指的是软件的源码是否公开, 选择开源软件的原因有以下几个方面:

  • 方便代码审计, 防止后门代码等
  • 如果开发者停止维护, 依旧可以通过社区继续更新软件
  • 自己可以增加新的功能

数据存储位置

  • 云端存储(这里指的是像语雀、飞书等数据直接写在云端的笔记)虽然方便, 但是无法保证数据安全(而且还要考虑是否进行端到端加密, 涉及隐私信息不方便公开), 并且需要考虑存储提供商不在提供服务后数据是否可以保留
  • 本地存储(指的是向 Logseq、Obsidian 等依靠本地文件存储的)虽然要自己考虑数据存放安全, 但是更加自主可控, 怎么加密, 怎么存储依靠自己决定

发布方式

  • 静态页面发布(指把纯静态文件(HTML、CSS、JS、图片等)放到一个 Web 服务器或者 CDN 上,服务器只负责原封不动地传文件给用户)
    • 这个方式的发布成本较低, 有很多支持免费挂载静态页面的服务, 比如 GithubPage
  • 动态应用部署(服务端相对动态的生成数据提供给前端)
    • 这个方式一般资金购买自己的服务器(也可以充分利用各个平台学生福利), 而且维护服务器也需要一定是技术成本
  • 第三方提供服务
    • 比如像 CSDN, 微信公众号这种直接提供平台
    • 也有像 Obsidian 这种既有第三方发布也有官方直接提供的发布服务(不过要充会员就是了)

等等

再者就是 UI 自定义程度, 主题是否丰富, 支持语法格式, 是否可以多端同步, 是否可以多人协作...

这些就靠自己去考虑了

罗列几个笔记&知识库框架(软件)

下面排名没有先后, 纯粹想到什么写什么, 优缺点欢迎补充提出

  • Logseq
    • 优点: 本地优先, 块框架布局分明, 双链笔记
    • 缺点: 发布 UI 极其单一, 发布配置极其复杂
  • Notion
    • 优点: 功能极其丰富, 双链笔记
    • 缺点: 本地存储功能还没推出(国内访问不是很友好)
  • Obsidian
    • 优点: 本地优先, 块框架布局分明, 双链笔记
    • 缺点: 依旧是发布功能也较为复杂
  • Hexo
    • 优点: UI自定义高, 主题丰富, 插件系统支持 RSS、SEO、分类等功能
    • 缺点: 缺乏块级/双链支持
  • Hugo
    • 优点: 主题丰富, 支持多语言、内容分类、标签系统等
    • 缺点: 缺乏块级/双链支持, 使用 Go Template,初学者可能需时间适应

这些也只不过是冰山一角, 推荐大家去网上找更详细的博客&知识库对比测评

选择自己中意的框架

你也不想自己写了好久的笔记, 因为要换框架而丢弃吧

或者在两个框架直接搬笔记而痛苦吧(大部分框架之间是闭塞的, 甚至有的不支持批量导出)

所以选一个自己喜欢的框架, 是一直使用下去的关键

还有一个选择框架比较简单的办法, 直接去网上看看其他人的博客, 感觉喜欢的话, 直接去复刻再修改就好了

本地搭建环境

选好了框架就是要搭建本地的写作环境, 许多框架都是有集成好软件的, 基本就是安装即用

但是想 Hugo 等框架, 只是把 Web 发布端的生成工具, 本质上存储的是 Markdwon 格式的文本文件, 这个时候就需要先搭建好本地的生成框架了, 对于这种框架, 一般需要一个 Markdown 文件的编辑器(可以是记事本, 也可以是VScode(推荐), 或者是其他), 因为框架本身并不提供编辑器

部署云端环境

这里仅仅谈论的是自己部署云端发布页, 如果是官方集成的, 自己根本不用考虑了

对于具有静态页面部署

静态部署也有两种方法

  • 本地生成发布页上传云端
    • 将本地源文件通过发布页生成程序生成静态的Web发布页, 然后再上传到托管平台上
    • 这样的好处是方便管理哪些内容不上传云端
    • 但是当内容多了之后, 本地生成的时间也是挺长的(其实也没很长, 1-10分而已)
  • 源文件上传云端生成
    • 直接把原本的文本文件传入托管平台, 在托管平台生成Web发布页, 比如 Github Action 就支持大部分框架的生成发布页
    • 但是也就伴随着原文本文件的上传与公开, 有时候什么都公开不是好事情

对于动态应用部署

这个涉及内容较多, 先不详细介绍

维护&更新

许多框架一般都是会更新的, 而且在使用过程中, 可能也会遇到想新增的功能, 想修改的主题, 所以维护是必不可少的

当然, 记得保持一个活跃的更新频率, 博客&知识库也可以还算是自己的数字财富了