Expand description
写回:把编辑后的笔记重新序列化为 Joplin 的 .md 格式。
设计原则:编辑现有笔记时,保留原文件的元数据块逐字不变,只替换 标题、正文,并刷新 updated_time / user_updated_time。这样与 Joplin 双向兼容、diff 最小,且无需复刻字段顺序与转义规则。
Functions§
- format_
iso - Unix 毫秒 → Joplin 的 ISO 时间
YYYY-MM-DDTHH:mm:ss.SSSZ(UTC)。 - move_
folder_ md - 把现有笔记本移动到新的父笔记本(改 parent_id),刷新更新时间,其余元数据原样保留。 笔记本无正文段(仅标题),故标题逐字保留、仅重写元数据块。
- move_
note_ md - 把现有笔记移动到新笔记本:只改
parent_id并刷新更新时间, 标题/正文/其余元数据逐字保留(与 Joplin diff 最小、双向兼容)。 - new_
folder_ md - 生成一个新笔记本(type_=2)的
.md内容(字段顺序对齐真实 Joplin 笔记本)。 笔记本无正文段,仅标题\n\n元数据。 - new_id
- 生成一个新的 32 位十六进制条目 ID。
- new_
note_ md - 生成一篇新笔记的
.md内容(字段顺序对齐真实 Joplin 笔记)。is_todo为 true 时建为待办(is_todo: 1),否则普通笔记。 - new_
note_ tag_ md - 新建 note_tag 关联条目(type_=6,纯元数据、无标题无空行)。字段集/顺序对齐 Joplin。
- new_
resource_ md - 生成一个新资源(type_=4)的元数据
.md内容。 字段集/顺序/默认值对齐真实 Joplin 资源(含 OCR 字段:ocr_driver_id 默认 1、ocr_status 0)。 资源条目无正文段,仅标题\n\n元数据。 - new_
tag_ md - 新建标签条目(type_=5)。字段集与顺序逐字对齐 Joplin 真实数据
(含空
parent_id/user_data,无deleted_time——标签不进回收站)。 title 已由调用方 trim(JoplinTag.save也 trim;此处不再改动大小写,混合大小写标签受支持)。 - now_ms
- 当前时间(Unix 毫秒)。 用 std 而非 chrono::Utc::now():省掉 chrono 的 clock/wasmbind feature, 插件沙箱(wasm32-unknown-unknown)才能零 wasm-bindgen 依赖地编译 core。
- rename_
folder_ md - 重命名笔记本:只改标题并刷新更新时间,parent_id 等元数据逐字保留。
笔记本无正文段(仅
标题\n\n元数据),故整段标题以新标题替换、仅重写元数据块。 - update_
note_ md - 把现有笔记的原始内容更新为新的标题/正文,并刷新更新时间,其余元数据原样保留。
- update_
resource_ md - 更新资源条目的标题并刷新更新时间,其余元数据原样保留。 资源条目“正文段”仅一行标题,故直接以新标题替换。