← 返回开发时间线

常识笔记 v1.1.3:本地 CMS - 编辑状态恢复与自动保存

常识笔记升级到 v1.1.3:补齐本地 CMS 编辑状态恢复、沉浸式编辑和自动保存,并纳入近期常识内容整理。

2026-08-20

常识笔记功能

常识笔记升级到 v1.1.0:围绕本地 CMS 的编辑效率、Markdown 预览一致性和 UI 细节完成一轮体验升级,并加入编辑器与预览之间的双向定位。

CMS 界面与布局

  • 将后台页面标题改为“常识笔记后台”,统一 LifeNotes 的站点语义。
  • 重构文章库、内容核心、内容归类、文件与发布和 Markdown 编辑区的布局,修复卡片与内部输入组件宽度约束不一致造成的溢出。
  • 修复未正确套用的全局 CSS 规则,明确处理 box-sizingmin-widthmax-width 和表单控件内边距,保证 CSS 改动真正作用到目标组件。
  • 移除没有实际帮助的编辑区行号栏,并为编辑内容与中间分割线保留稳定的右侧间距。

Markdown 编辑体验

  • 加粗、斜体和行内代码支持重复点击切换,避免重复叠加 Markdown 标记。
  • 增加 Markdown 编辑器的 Command+Z / Ctrl+Z 撤回,以及 Command+Shift+Z / Ctrl+Y 重做,工具栏操作也会进入历史记录。
  • Task list 预览改为只显示 checkbox,不再显示普通无序列表圆点;CMS 预览和正式文章页保持一致。
  • 预览继续使用 LifeNotes 正式文章的 Markdown 渲染逻辑,统一标题、列表、链接、表格和引用样式。

编辑器与预览双向定位

  • 在编辑器和预览之间增加 两个定位按钮:左侧 Markdown 当前光标可定位到右侧预览,右侧点击或选中内容可返回对应 Markdown 区域。
  • 预览 HTML 增加 Markdown 源码起止行映射,标题、段落、列表项、引用和表格等块级内容可以按源码位置滚动和高亮。
  • 定位操作采用主动触发,不强制接管普通滚动,保留编辑器和预览各自的阅读节奏。

版本与 UI 设计图

  • 项目版本号从 1.0.0 升级到 1.1.0
  • 关键实现集中在 src/pages/admin.astrosrc/admin/local-cms.mjssrc/plugins/rehype-source-position.mjs

v1.1.1 补丁:文章库排序与级联筛选

  • 在文章库搜索框右侧增加排序与筛选按钮,排序支持标题、发布日期和更新时间,筛选与搜索结果联动。
  • 筛选改为居中悬浮窗,并将领域、分类、子分类做成级联关系:先按领域收窄分类,再按分类收窄子分类。
  • 使用自定义下拉菜单替代原生 select,补充选中态、禁用态、遮罩和悬浮层样式;同时修复父级 overflow 裁剪导致下拉内容显示不全的问题。
  • 本次补丁只涉及本地 CMS 的文章库管理体验,版本从 1.1.0 更新到 1.1.1

v1.1.2 补丁:编辑状态保存与内容整理

  • 后台使用 sessionStorage 保存当前文章、光标选区和编辑区滚动位置,刷新后恢复编辑状态。
  • Markdown 编辑区支持 Command/Ctrl+S 保存和 Tab 缩进,并保留撤回与重做快捷键。
  • 同步南宁美食集合的存量整理,新增「日常英语学习计划」和「个人财务:猪窝收支分类约定」两篇笔记。
  • 本次版本不涉及前台 UI 变化,不补 UI 归档图;发布提交为 c4be460

v1.1.3 补丁:沉浸式编辑与自动保存

  • 后台增加沉浸式编辑模式,隐藏无关的站点后台 chrome,只保留文章编辑与 Markdown 预览区域。
  • Markdown 正文和文章元数据在停止编辑约 900ms 后自动保存,保存期间继续编辑时会自动补存,避免旧请求覆盖新内容。
  • 切换文章、新建文章和离开页面前会先尝试完成当前草稿保存,并通过状态栏反馈等待、保存中、成功和失败状态。
  • 保留“立即保存”按钮以及 Command/Ctrl+S 即时保存入口;项目版本由 1.1.2 更新到 1.1.3

常识笔记本地 CMS v1.1.0 UI