← 返回文章列表

个人博客longBlog介绍

longBlog 是一个以 Trilium 知识库为核心的个人博客系统,通过 Astro 构建静态展示层,并借助独立的自动化服务实现从知识库写作到公开发布的无缝衔接。它旨在统一写作与发布流程,让用户在熟悉的知识库环境中创作,内容状态变化可自动触发博客更新,形成一套模块化、可扩展的内容发布体系。

#AI生成#个人博客#Astro#知识库#静态站点

关于我的博客为什么叫longBlog:并不是指”长篇博客“的意思,而是 long 是我最后一个名字的拼音;为什么是驼峰式写法:可能是习惯了 Java 的编程风格。

一、我为什么做 longBlog

如果只把 longBlog 理解成一个 Astro 博客项目,其实是低估了它。

对我来说,longBlog 更像是一套围绕 Trilium 知识库 搭建出来的个人内容系统:

  • 我继续在自己熟悉的知识库里写东西
  • 不需要为了发博客切换到另一个后台
  • 文章、标签、置顶、同步、AI 补全这些状态,都可以在 Trilium 里控制
  • 前台则交给 Astro 做成一个更轻、更美观、更适合公开阅读的博客站点

换句话说,这个项目真正想解决的问题不是“再做一个博客主题”,而是:

如何让“我平时写知识库”这件事,自然地延伸成“我公开发布博客”这件事。

这也是 longBlog 最核心的设计理念。

二、longBlog 的整体定位

longBlog 可以拆成三层来看:

1. 内容层

内容主要来自两个地方:

  • Trilium:负责正式文章、标签、摘要、同步状态
  • Memos:负责“说说 / 动态”这类轻量内容

2. 展示层

展示层是一个基于 Astro 的静态站点,负责:

  • 首页
  • 文章列表页
  • 文章详情页
  • 说说页
  • 友链页
  • 关于页 / 知识地图页

3. 自动化层

自动化层负责把 Trilium 中的内容变化转化为:

  • 数据生成
  • Git 提交
  • 自动推送
  • 构建验证
  • 最终触发部署平台自动发布

所以它不是一个传统意义上“后台 + 前台”的博客,而是:

知识库驱动的静态博客系统。

三、它和普通博客项目有什么不同

很多博客项目的默认思路是:

  • 在博客后台里写文章
  • 在博客后台里管理标签
  • 在博客后台里点发布

longBlog 的思路完全不同:

  • 文章写在 Trilium 里
  • 发布状态也在 Trilium 里
  • 同步动作也由 Trilium 里的标签触发
  • 博客前台只负责“展示已经整理好的内容”

这带来的最大好处是:

1. 写作体验统一

我不用在“知识库”和“博客后台”之间反复横跳。

2. 内容管理更自然

文章本来就是知识体系的一部分,不是被单独拎出来的“博客条目”。

3. 自动化程度更高

只要内容状态变了,就可以自动进入发布链路,而不是再人工做重复操作。

四、前台站点做了什么

虽然 longBlog 的亮点在自动化,但它前台也并不是一个“只有功能,没有体验”的站。

1. 首页

首页主要承担两件事:

  • 对外展示作者信息和站点定位
  • 展示最新文章与站内搜索入口

同时首页也有:

  • GitHub / Email 社交入口
  • 深浅色模式切换
  • 本地搜索

2. 文章列表页

文章页支持:

  • 标签筛选
  • 文章倒序展示
  • 置顶优先

这对一个技术博客来说已经足够实用。

3. 文章详情页

详情页是整个前台体验最完整的地方,包含:

  • 自动目录(TOC)
  • 阅读进度条
  • 桌面端侧边导航
  • 移动端目录抽屉
  • 图片灯箱预览
  • 返回顶部
  • 深色模式适配

4. 说说页

说说页通过 Memos 数据源提供一个更轻量的内容出口,适合放:

  • 日常想法
  • 小记录
  • 非正式内容

5. 关于页

关于页不是一页普通自我介绍,而是一个 Trilium 知识地图 页面。

这里最有意思的地方在于:

  • 它不是简单列树
  • 而是尝试把我的知识体系可视化
  • 让博客不只是“文章集合”,更像“知识网络的一部分”

五、longBlog 的技术栈为什么这样选

1. 为什么前台选 Astro

因为它非常适合做这类内容型站点:

  • 静态输出友好
  • 结构清晰
  • 页面性能好
  • 适合长期维护

2. 为什么内容源选 Trilium

因为 Trilium 对我来说不是“外部 CMS”,而是我的知识中枢。

它最大的优势不是“适合所有人”,而是:

  • 高自由度
  • 脚本能力强
  • 标签系统灵活
  • 能把知识管理和内容发布连接起来

3. 为什么把自动化单独拆出来

因为一旦自动化和前端项目混在一起,后期维护就会越来越乱。

拆分之后:

  • 前端项目负责页面和展示
  • 自动化仓库负责 webhook / runner / sync / build
  • 代理仓库负责 Memos / Trilium Tree 这类中间层

这会让整个系统更容易理解,也更容易迁移。

六、项目最终演化成了怎样的结构

随着不断整理,现在这套体系已经不再只是一个仓库,而是一个更完整的项目矩阵:

1. longBlog

当前个人博客项目本体。

2. longblog-template

面向公开复用的前端模板仓库。

3. longblog-server-automation

服务器自动化链路模板仓库,负责:

  • webhook
  • runner
  • Trilium 同步脚本
  • systemd 托管
  • 巡检脚本

4. memos-proxy-template

Memos API 代理模板。

5. trilium-tree-proxy-template

Trilium 树结构代理模板。

这意味着 longBlog 不再只是“一个博客仓库”,而是发展成了:

一个由前端模板、自动化服务、内容代理、知识地图代理共同组成的个人博客系统。

七、这个项目最让我满意的地方

如果一定要总结,我最满意的不是某一个页面,也不是某一个动效,而是下面这件事:

“写作”和“发布”终于被接起来了

以前很多时候,知识库是知识库,博客是博客。

  • 知识库越写越多
  • 博客却不一定同步更新
  • 因为“从知识库整理成博客”这一步需要额外精力

而现在 longBlog 让我更接近一种自然状态:

  • 内容先在知识库里成熟
  • 再通过少量状态变化进入发布流程
  • 博客前台自动长出来

这会让“写东西”这件事变得顺很多。

八、它并不是什么

这个项目虽然做了不少东西,但它并不追求成为一个“大而全”的通用博客平台。

它不是:

  • 通用 CMS 产品
  • 面向所有用户的博客 SaaS
  • 开箱即用的一站式后台系统

它更像:

  • 一个高度贴合 Trilium 工作流的博客方案
  • 一个把个人知识体系和公开输出串起来的实践
  • 一个适合继续生长、不断拆分和迭代的系统

九、适合什么样的人参考

如果你符合下面几种情况,这个项目会比较值得参考:

1. 你已经在用 Trilium 写作

那你会很容易理解这套链路的价值。

2. 你不想再维护一个传统博客后台

你只想继续在自己的内容系统里写,博客只是公开展示层。

3. 你愿意把自动化拆开维护

你不希望把前端、代理、同步脚本、运行态全塞进一个仓库里。

4. 你喜欢“模块化组合”而不是“单仓大一统”

这套项目矩阵会更适合你。

十、总结

如果要用一句话来介绍 longBlog,我会这样说:

longBlog 是一个由 Trilium 驱动内容、由 Astro 负责展示、由独立自动化服务负责发布的个人博客系统。

它的重点不是“又做了一个博客主题”,而是把“知识库写作”真正接进了“公开发布”这条链路。

而这,正是这个项目最有意思的地方。