name: getnote-to-obsidian
description: Convert Get笔记 HTML export folders into Obsidian-ready Markdown with YAML frontmatter, normalized tags, and YYYY/MM folder organization. Use when migrating Get笔记导出、HTML 笔记、或需要批量转换为 Obsidian 并生成索引 .base 的场景。
Get笔记 → Obsidian 转换 SOP
依赖
- Python 3
markdownify(若缺失需安装)
脚本位置
scripts/convert_to_obsidian.py
使用步骤
- 确认输入目录(Get笔记导出的
notes/ 目录)。
- 选择输出目录(必须是库内独立子目录,避免污染库根和
.base 过滤失效)。
- 执行脚本(可选生成索引
.base)。
- 抽查 1-2 篇笔记,确认 frontmatter 与标签解析正常。
执行示例
python .codex/skills/getnote-to-obsidian/scripts/convert_to_obsidian.py \
--input "/path/to/getnote/notes" \
--output "/path/to/vault/get-note-obsidian" \
--write-index
输出说明
- 默认按
YYYY/MM 分文件夹(依据 created;缺失则用 HTML 文件修改时间;再缺失放 未分类时间)。
- 生成 Obsidian Markdown:包含
title / created / tags / source(s) frontmatter。
- 生成索引:
<output>/get笔记索引.base(按标签分组,仅显示标题+标签)。
.base 会限定在 file.inFolder("<output>"),所以输出目录必须是独立子目录。
标签规范
- 自动拆分混合标签(如
#tag1, #tag2)。
- 去除
# 前缀、中文/英文分隔符。
- 非法字符(空格/括号等)统一替换为
-。
- 数字开头会自动加
tag- 前缀。
常见问题
- frontmatter 不识别:确认文件首行是
--- 且为真实换行。
- 标签不生效:检查标签是否含空格或括号(应被脚本自动规范化)。