Notion export cleaner
主要是去除丑陋的一堆ID。
- 导出zip。
- 安装go1.20,https://go.dev/doc/install。
- 安装cleaner,
go install github.com/Mrpye/notion-export-cleaner。 notion-export-cleaner clean "./export.zip" "./exported"
统计所有字数
1
find . -name '*.json' -exec cat {} \;|wc -m
拼接md,AI机器人
1
find . -name '*.md' -exec sh -c 'echo "## $1"; cat "$1"; echo ""' _ {} \; > combined.md
然后typora打开md,就可以转为pdf,然后丢给AI提问。
Notion export enhancer,废弃,问题太多。
Notion导出处理:notion_export_enhancer。notion-export-enhancer · PyPI
使用注意:
- 编码问题。需要设置系统编码为u8,就没问题不会乱码。
- 导出的必须都是md,不能携带其他类型文件,注意文档里面不要嵌套包含了其他的文件。
导出后合并内容
合并所有自己写的总结的内容,即自己创作的部分,合并到一起。(省略每日总结时,顺便查看的一些任务管理、时间管理等成分)。
将文件处理合并到生成 combined_summary.md 文件的命令中。以下是完整的一步命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 创建或清空一个新的文件来存储所有提取的总结内容
echo "" > combined_summary.md
# 查找当前目录及子目录下所有的 `.md` 文件
find . -name '*.md' -exec awk '
BEGINFILE {printflag=0; printed=0}
/## 总结/ {printflag=1; next}
/^## / {printflag=0}
printflag && !/^$/ {
if (!printed) {
# 使用 gensub 替换文件路径和扩展名,只保留文件名
gsub(/.*\\//, "", FILENAME);
gsub(/\\.md/, "", FILENAME);
print "## " FILENAME;
printed=1
}
print
}
ENDFILE {printed=0}
' {} \\; >> combined_summary.md
# 现在 combined_summary.md 文件已经包含了所有的总结内容和被处理过的文件名
# 如果你想对文件名进行进一步的处理,比如移除日期或特定的字符,可以在这里添加额外的 sed 命令
这个命令会做以下操作(其实只用复制find这部分即可。):
- 创建或清空
combined_summary.md文件。 - 使用
find命令寻找所有.md文件。 - 对于每个找到的文件,
awk会:- 在开始处理新文件时,初始化
printflag和printed标志。 - 当遇到 “## 总结” 时,设置
printflag以开始打印。 - 遇到另一个二级标题时,清除
printflag停止打印。 - 如果
printflag设为真且当前行不是空行,且还未打印文件名:- 使用
gsub函数移除路径部分和.md扩展名。 - 打印处理过的文件名作为标题。
- 设置
printed标志为真。
- 使用
- 打印总结部分的内容。
- 在开始处理新文件时,初始化
- 将所有处理过的输出追加到
combined_summary.md文件中。
请注意,这个命令假设您希望保留文件名作为标题,但不希望保留文件路径和 .md 扩展名。此命令不会处理其他可能存在于文件名中的字符。如果需要进一步的文件名处理,请在 awk 命令之后,添加额外的 sed 命令或在 awk 中进行相应的处理。
在运行此命令之前,请确保在一小部分样本文件上测试,以确认其行为符合您的预期。
因为我个人的子弹笔记,是嵌套包含,即年嵌套月、月潜逃周、周潜逃日,而notion中嵌套是通过超链接引用进来,而且通过拖拽的方式添加的话,可能会包含到最后,所以可能需要单独删掉这部分。这个就要看超链接的标题去删除了,提供一些参考命令:
1
2
sed -i '/\[\(.*[0-9]\{4\}\/[0-1][0-9]\/[0-3][0-9].*\)\](\(.*\))/d' combined_summary.md
# 删2023/08/03这种格式
1
2
sed -i -e '/\[.*日.*\](.*)/d' -e '/\[.*周.*\](.*)/d' combined_summary.md
# 或者暴力删除日/周这样的关键词