Pandoc - 从 html 转换的 markdown 文件包含无关的“乱码”

问题描述 投票:0回答:1

我使用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 nimbus
1个回答
0
投票

这些是 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 方言。

© www.soinside.com 2019 - 2024. All rights reserved.