Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,101 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

惊蛰 Jingzhe

简体中文 | English

长文写随笔,短话发唠叨;记折腾、看影视、动起来——唠叨日常,也记录每一次改变。

惊蛰是一套用来记录工作、生活与各种折腾的开源个人博客系统。你可以随手发几句日常唠叨,认真写一篇随笔,留下技术折腾与备忘;也可以整理看过的电影和剧集,记录减肥路上的每一次运动与变化,再让 AI 帮你完成月度复盘。

它基于 Hugo、GitHub Actions 与可选 Serverless 服务构建,文章和生活数据统一保存在自己的 Git 仓库中。你可以从一个干净的静态博客开始,也可以按需增加网页写作、评论点赞、影视同步、运动可视化和 AI 总结。

本仓库同时是 Koobai 的真实生产站点、惊蛰的完整演示和可复用开源实现。Core 初始化工具可生成不包含 Koobai 真实内容与生产服务的最小站点;Publisher、Social、Life Data 和 AI Coach 可以按需启用。

项目特点

  • 生活时间线:随笔、唠叨和折腾备忘统一展示,并通过标签与分类组织内容。
  • 自研 Hugo 主题:响应式设计,支持浅色、深色、跟随系统和图片灯箱。
  • 轻量写作后台:解决静态博客不能在线发文的痛点,打开浏览器即可写随笔、发唠叨、预览 Markdown、保存草稿、上传图片并发布到 GitHub。
  • 内容自己掌控:文章与公开生活数据保存在自己的 Git 仓库,并生成全文 RSS、JSON、Sitemap、Web App Manifest 和完整分享元数据。
  • 评论与互动:支持评论、多层回复、点赞、表情和管理,并通过 Cloudflare Turnstile 降低滥用。
  • 观影记录:增量同步豆瓣数据,以电影票形式展示评分、短评和观看时间。
  • 运动与隐私:提供运动统计、月历、心率、Mapbox 轨迹、成就和海报,并用公共地标路线保护隐私运动。
  • AI 运动复盘:生成月中与月末总结,只向模型发送经过过滤的聚合数据。
  • 按需组合功能:Core 静态博客无需 Worker,写作、互动、生活数据和 AI 能力均可独立启用。
  • AI 与自动化友好:支持直接交给 AI 初始化和部署,并通过 GitHub Actions 完成测试、同步、处理、构建与发布。

完整功能边界见功能与安装层级

想快速部署?直接交给 AI: 把本仓库地址和可复制的部署指令发给支持读取 GitHub 仓库的 AI。它会先确认站点信息、功能层级和部署平台,从安全的 Core 开始,本地验证通过后再询问是否操作 GitHub 或 Cloudflare。

如果还需要自动同步运动数据,可以直接补充一句:帮我部署惊蛰博客和运动同步网关(Activity Sync Worker),并把我的 Keep/Health Connect 数据转换成 exercise-sync-v1 协议进行同步。

功能层级

惊蛰提供五种逐步增强的使用层级。未配置的可选模块不会阻止核心博客运行。

层级 能力 额外依赖
Core 文章、唠叨、主题、标签、RSS、JSON Hugo Extended
Publisher 网页写作、图片上传、GitHub 写回、草稿 管理端 Worker、GitHub 凭据、图片存储
Social 评论、回复、点赞、Turnstile Comments/Likes Worker 与 D1
Life Data 豆瓣同步、运动统计、地图与隐私路线 Python、Mapbox、数据来源;自动运动同步可选运动同步网关(Activity Sync Worker)
AI Coach 月中/月末 AI 运动复盘 模型 API 与隐私配置

当前生产站点使用 Full Profile,并由 koobai.com 作为唯一在线演示。Core Profile 不依赖 Worker,由初始化工具在新目录按需生成,不维护第二套演示站。

当前架构

flowchart LR
    A["Markdown / JSON"] --> R["GitHub 仓库"]
    B["网页写作"] --> W["发布 Worker"]
    W --> R
    C["豆瓣同步"] --> R
    D["原生 App / 数据源连接器"] --> ASW["运动同步网关"]
    ASW --> R
    R --> P["运动处理与 AI 月报"]
    P --> R
    R --> H["Hugo + 惊蛰 v3"]
    H --> CF["Cloudflare Pages"]
    H --> O["HTML / RSS / JSON / Sitemap"]
    E["评论 / 点赞 Worker"] <--> V["访问者"]
    CF --> V
Loading

详细说明见架构与模块契约

本地查看参考站点

前置条件

  • Git
  • Hugo Extended 0.158.0 或更高版本
  • Python 3.9 或更高版本仅用于运动处理和相关测试

运行

git clone https://github.com/koobai/blog.git
cd blog
hugo server

访问 Hugo 输出的本地地址即可查看站点。

当前仓库仍是 Koobai 的生产参考实现,因此部分图片、地图、评论、点赞和网页写作能力依赖 Koobai 的公开资源或私有服务。请勿把生产管理页面或生产接口当成通用安装方式。功能开关已经可用,通用 Worker 部署包位于 workers/,默认不会自动部署或切换 Koobai 的生产服务。

默认命令仍使用 Koobai Production 配置;原有本地预览和 Cloudflare 构建方式没有改变。

生成最小 Core 站点

AI 或用户可在仓库外的新目录生成不读取 Koobai 内容、真实数据和 Worker 的最小站点:

python3 tools/jingzhe.py init --output ../my-jingzhe --title "我的站点"

该目录仅在调用命令时生成,不是需要同步部署的第二个演示站。配置环境、功能开关和公开参数见配置说明

构建输出目录、上线前检查和可选服务接入见部署说明

验证当前源码

生产构建:

hugo --minify --panicOnWarning

Python 测试:

PYTHONDONTWRITEBYTECODE=1 python3 -m unittest discover -s tests -p 'test_*.py'

JavaScript 语法检查:

node --check themes/jingzhe_v3/assets/js/pages/comments.js
node --check themes/jingzhe_v3/assets/js/exercise/*.js
node --check themes/jingzhe_v3/assets/js/pages/laodao.js
node --check themes/jingzhe_v3/assets/js/pages/movies.js
node tests/test_exercise_modules.js

Worker 行为测试:

node tests/test_workers.mjs

统一检查:

python3 tools/jingzhe.py doctor
python3 tools/jingzhe.py validate
python3 tools/jingzhe.py check

命令、JSON 输出、Core 初始化和 Starter 打包说明见 AI 工具链

内容结构

content/
├── posts/                 # 长篇随笔
├── laodao/YYYY/MM/        # 短动态
└── pages/                 # 关于、观影、运动和管理页面

assets/
├── movie.json             # 观影数据
├── activities.json        # 处理后的运动展示数据
├── landmark_route_library.json
└── monthly_insights.json  # 月度统计与 AI 报告

data/exercise/
└── activities.json        # 来源无关的原始运动事实

themes/jingzhe_v3/         # 当前生产主题及可指纹化的项目自有脚本
static/js/                 # 按许可证原样保留的第三方浏览器脚本
workers/                   # 五个独立 Worker、Wrangler 示例、D1 迁移与 OpenAPI
config/                    # 通用、生产与开发配置
schemas/                   # Front Matter、参数和 JSON Schema
data/jingzhe/features.json # 机器可读功能注册表
jingzhe/                   # 运动处理、月报与共享契约模块
.github/workflows/         # 测试、同步、处理、构建和部署工作流

生产兼容原则

开源整理不会要求 Koobai 改变现有发布习惯。下列行为属于兼容基线:

  • /newlaodao/newsuibi 的使用方式保持不变。
  • content/posts/content/laodao/YYYY/MM/ 等内容路径保持不变。
  • 已有 Front Matter、永久链接、评论 URL 与点赞 URL 保持兼容。
  • 浏览器草稿、登录、主题和点赞所使用的 LocalStorage Key 保持兼容。
  • Worker 路由、Header 和请求字段在完成兼容测试前不改变。
  • GitHub Actions 依赖的提交信息和 Secrets 名称不擅自改变。
  • 豆瓣、原生 App、运动处理、AI 月报和 Cloudflare Pages 流程继续运行。

完整约束见生产兼容基线

AI 协作

AI 编程助手在修改仓库前必须先阅读 AGENTS.md。该文件定义了:

  • 源文件与生成文件边界。
  • 不可破坏的生产兼容契约。
  • Secrets 和隐私规则。
  • 不同类型改动必须运行的检查。
  • Worker 的最小权限、Secret、隐私和生产迁移边界。

第一次使用建议从 AI 快速开始 进入;维护和二次开发规则见 AI 安装与维护协议

文档

授权

程序代码、惊蛰主题、工具、Worker、技术文档和 Core 合成示例采用 MIT License。Koobai 的真实文章、个人数据和图片保留所有权利,详见内容授权边界;Koobai 名称、头像与 Logo 不包含在 MIT 授权中,详见品牌说明。第三方浏览器脚本的版本、哈希与许可证副本见 Third-party Notices

About

工作生活的唠叨/随笔、折腾备忘, 同时分享下观看的影视、减肥动起来的记录等。Hugo theme and personal blog system with essays, microblog-style updates, browser publishing and life data.

Topics

Resources

Contributing

Security policy

Stars

53 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages