Changelog

更新日志

记录博客的每一次开发迭代。从框架搭建到自动化发布,每个里程碑都是一个节点。

v0.9
内容 发布 稳定性

内容系统与发布链路重构

这一轮没有新增一个显眼的大功能,重点是把内容进入博客、构建和上线的链路收紧。此前服务器上的长生命周期工作目录容易积累状态,Obsidian 同步完成后也不容易判断文章是否真的已发布。

完成内容

  • 文章治理:清理重复内容并强化 frontmatter 校验,中文 slug 和重复 slug 会在同步阶段被拦截。
  • 跑步记录:迁移到 Astro Content Collection,并补充 COROS 数据;跑步数据不再依赖页面内的硬编码内容。
  • 候选发布:Obsidian 的 to-publish 内容每 15 分钟同步一次,构建通过后推送到 obsidian-sync,不会直接进入生产环境。
  • 稳定部署:生产只追踪 GitHub main;每次部署使用全新的 release 目录构建,验证产物后再同步到线上目录。
  • 依赖缓存与回滚:Obsidian 同步按锁文件缓存依赖,减少重复安装;线上保留发布副本,可按历史版本回滚。
  • 可观测性:同步报告会记录新增、更新、跳过和校验结果;部署元数据留在非公开目录,不再暴露在静态站点中。

当前发布规则

obsidian-sync 是候选分支,审核并合并到 main 后,服务器会在下一次检查中自动构建和发布。文章删除仍坚持人工审核,不做自动删除。

v0.7.2
功能 页面

开发里程碑页面

新增独立的 Changelog 页面,以时间线形式展示博客的每次开发迭代。

完成内容

  • 新增 src/content/changelog/ Content Collection,每个里程碑为独立 Markdown 文件
  • 新增 /changelog 页面,时间线 UI 渲染
  • 支持版本号标签、日期、Markdown 正文内容
  • 迁移 README 中的开发里程碑表格为独立 changelog 文件
  • Header 导航栏新增「更新日志」入口
v0.8
md2wx 产品 安全

MD2WX v0.3.0 发布

Markdown 转公众号排版工具完成安全加固、UI 重构和移动端适配,从”功能工具”升级为”正式产品”。

核心改动

  • 安全加固:DOMPurify 渲染前清洗 HTML,防止 XSS
  • Warm Stone 色板:全面替换冷灰色为暖石色调,与品牌统一
  • 落地页:全屏品牌首屏,点击进入编辑器
  • 移动端适配:底部操作栏(编辑/预览/复制),Header 精简
  • 产品体验:复制按钮强化、导出合并为菜单、设置面板浮层抽屉
  • 数据安全:切换/删除文档检查未保存,loadDocument 修复 dirty 状态
  • 复制可靠性:移动端复制走完整渲染管线,ClipboardItem 降级修复

详细版本记录见 md2wx 项目内的 CHANGELOG.md。

v0.7.1
自动化 飞书

同步脚本增强:更新/删除检测与飞书变更推送

同步脚本从「只新增」升级为「新增 + 更新 + 删除」全场景覆盖,并增加详细的飞书变更推送。

完成内容

  • 更新检测:MD5 比较已有文件,内容有变化则覆盖更新
  • 删除检测:Blog 中有但 Obsidian 中已删除的文章自动清理,备份到 /tmp
  • 变更字段追踪:更新前对比 frontmatter 差异,记录变更字段列表
  • 飞书推送详情:新增/更新/删除/跳过文件的文件名、大小、变更字段、构建状态
  • 构建缓存清理:每次构建前清理 dist / .astro / node_modules/.astro,防止模块引用过期
  • 删除保护:删除前自动备份到 /tmp/deleted_*

问题修复

  • 修复 Astro 构建缓存过期导致 Cannot find module 的问题
  • 修复同步脚本修改文章后不触发构建的问题
v0.7
自动化 飞书

自动化发布:Obsidian 同步与飞书通知

建立完整的自动化发布工作流,从写作到上线全程自动。

完成内容

  • 服务器定时任务:每 5 分钟自动执行同步与部署
  • Obsidian 文章同步脚本:从 to-publish 目录自动同步到博客
  • 同步前校验:frontmatter 规范检查 + slug 中文检测
  • 飞书通知:部署成功/失败状态推送
  • 四层防控体系:并发锁 / 同步前校验 / 构建验证 / 回滚
  • 本地预览工具
v0.4
功能 页面

跑步日记、标签、归档、RSS

功能页面大扩充,从博客工具升级为完整的个人内容平台。

完成内容

  • 跑步日记页面(/running):从 Notion 运动日志导入,支持搜索和年份索引
  • 标签系统:标签云 + 标签详情页
  • 归档页面:按年月分组
  • RSS 订阅支持
  • 侧边栏组件:个人信息 + 热门标签 + 联系方式
  • 分类筛选栏功能
  • 文章页脚导航(上一篇/下一篇)
  • Pagefind 静态搜索集成
v0.5
部署 基础设施

首次上线

博客正式部署到生产环境,可通过自定义域名访问。

完成内容

  • Linux 服务器环境配置,自编译 Nginx
  • DNS 域名解析配置
  • SSL 证书:Let’s Encrypt 通配符证书
  • Nginx include 拆分方案
  • 一键部署脚本(deploy.sh
  • 服务器初始化脚本
v0.6
规范 质量

文章标准化

建立文章 frontmatter 规范,为自动化发布做准备。

完成内容

  • 定义文章 frontmatter 必填字段:title / description / pubDate / status / slug
  • slug 必须使用英文,不能包含中文
  • status: draft 的文章不会出现在列表中
  • 文章规范校验脚本(scripts/validate-posts.sh
  • 批量修复已有文章的 frontmatter 格式
v0.3
内容 自动化

内容爆发:100+ 行业概念文章

从 Notion 批量导入 167 篇文章,博客内容量从个位数跃升至 170+。

完成内容

  • Notion API 批量导出脚本(scripts/notion-export.mjs
  • 167 篇已发布文章全部导出成功
  • 自动处理 paragraph、heading、code、quote 等 block 类型
  • 修复 node_modules 误提交 GitHub 的问题
  • 使用 git-filter-repo 清理 git 历史
v0.2
设计 内容

视觉升级与浅想录系列

引入 taste-skill 设计系统,全面升级视觉风格,并发布《浅想录》系列文章。

完成内容

  • 设计系统 tokens.css:统一色彩、间距、圆角、阴影、字体变量
  • Header 浮动毛玻璃导航栏 + 衬线字体 Logo
  • Hero 大号衬线标题(Playfair Display)+ editorial 风格标语
  • 文章卡片纯文字设计 + pill 标签 + hover 上浮动效
  • 温暖中性色调配色方案(#f5f0eb 背景)
  • 发布《浅想录》系列 3 篇文章
v0.1
基础设施

初始搭建

使用 Astro v5 + Tailwind CSS 搭建博客框架,完成基础工程化配置。

完成内容

  • Astro 项目初始化,配置 TypeScript + Tailwind CSS
  • 基础页面路由:首页、博客列表、文章详情
  • Content Collections + Zod schema 校验
  • 暗色模式支持
  • 响应式布局