Skip to main content

Module serialize

Module serialize 

Source
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_datadeleted_time——标签不进回收站)。 title 已由调用方 trim(Joplin Tag.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
更新资源条目的标题并刷新更新时间,其余元数据原样保留。 资源条目“正文段”仅一行标题,故直接以新标题替换。