我使用Pandoc将从Nimbus Notes导出的html文件转换为markdown。 pandoc 将我的 html 文件转换为 md 的方式有点奇怪。
当我在 Obsidian 中查看 md 文件时,所有原始文本和图像都在那里,就像在 nimbus 中的原始注释中一样。然而,在 Obsidian 中查看该注释时,也存在 Nimbus 注释中原始文件中没有的各种“乱码”:以三个冒号开头且后无文本的行,以及以三个冒号开头且后跟的行通过大括号内的文本。例如(这是从 Obsidian 中的注释复制的):
::: {#note-editor .note-container .theme-light .is-safari style="position:relative;"} ::: 编辑体 ::: {#note-root .export-mode .nedit-root .notranslate .size-normal .style-normal} ::: {.editable-text .paragraph .indent-0 style="text-align:left;"}
这真是一团糟,难以阅读。我该如何解决这个问题?
我使用的脚本如下(在zsh中):
#!/bin/bash
root_dir="."
find "$root_dir" -name '*.html' -type f -exec sh -c 'pandoc "$1" -o "${1%.html}.md"' _ {} ;
我希望注释显示时没有那些无关的东西,并且注释显示为它最初在 Nimbus Notes 中的样子。
更新: 我“可能”已经解决了这个问题。我将脚本中的最后一行更改为: find "$root_dir" -name '*.html' -type f -exec sh -c 'pandoc "$1" -t gfm-raw_html -o "${1%.html}.md"' _ {} ;
所以,我在该行添加了“gfm-raw_html”。
看起来好像乱码消失了,这太棒了!我的格式看起来正确吗?
但是,我现在观察到 Obsidian 中的一小部分注释(即 Markdown)是空白的,而 Nimbus 中的原始注释不是空白的。
这可能与最新的变化有关吗?我不知道为什么会有空白页(比如说,大约 30 个笔记中的 4 个)。其他笔记看起来很棒。
这些是 pandoc markdown 扩展,fenced divs。显然黑曜石的降价方言不支持它们。没关系,您可以通过使用
-t markdown-fenced_divs
运行 pandoc 来禁用它们。在这种情况下,您可能会得到一些原始的 HTML div 标签;要禁用所有这些,您可以使用 -t markdown-fenced_divs-native_divs-raw_html
。或者您可以尝试类似 -t commonmark
或 -t gfm
或 -t markdown_strict
之类的内容。 Pandoc 支持许多不同的 Markdown 方言。