编辑:我的原帖有误。我本应引用“cooked”字段,而不是“raw”字段(已更正)。
我最近从一个 Discourse 论坛获取了一些 JSON 数据,其中的帖子数据是以“cooked”形式存在的。我想知道是否有办法将其转换回 Markdown?我对 Discourse 是新手,搜索过但找不到方法。鉴于“cooked”数据似乎用于创建 HTML,我猜想另一种方法是使用将“cooked”转换为 HTML 的函数,然后将 HTML 转换为 Markdown。
非常感谢任何帮助。
谢谢。
编辑:我的原帖有误。我本应引用“cooked”字段,而不是“raw”字段(已更正)。
我最近从一个 Discourse 论坛获取了一些 JSON 数据,其中的帖子数据是以“cooked”形式存在的。我想知道是否有办法将其转换回 Markdown?我对 Discourse 是新手,搜索过但找不到方法。鉴于“cooked”数据似乎用于创建 HTML,我猜想另一种方法是使用将“cooked”转换为 HTML 的函数,然后将 HTML 转换为 Markdown。
非常感谢任何帮助。
谢谢。
Google 上有很多选项,但这些事情我的首选通常是 pandoc https://stackoverflow.com/questions/16248986/how-to-convert-html-to-markdown-while-retaining-non-markdown-html-tags
试试这个。简单
我已经有了数据,无法再次获取。它来自一个已被删除的论坛,我正在尝试清理数据以便恢复。
“原始”数据到底是什么格式?
Markdown!
如果你的意思是名为 raw 的字段,那么你看到的就是我们存储的实际 Markdown 源代码。例如,这个 是你刚才最后一条帖子的 JSON 端点。
那里的 raw 字段是你用 Markdown 编辑器撰写的实际文本,我们原样存储它,所以它不可能更纯粹了。
相反,如果你通常指的是“原始 HTML”,即未经 JSON 端点抓取的 HTML,那么你可以按照上面的建议,使用 pandoc 或任何其他软件在外部将该 HTML 转换为 Markdown。
请接受我的歉意,我在第一篇帖子中犯了一个错误(现已更正)。我的意思是引用已处理的数据而不是原始数据(今天真是漫长的一天……)。
已处理的数据是什么形式?有什么方法可以将其转换为 Markdown 或 HTML 吗?谢谢。
我在第一篇帖子中犯了一个错误,现已更正。抱歉。
Ah, that makes more sense. The cooked field is the HTML rendered from Markdown.
You can simply run that through pandoc to get Markdown; you won’t get full fidelity to the corresponding raw because there are some non-standard Markdown tags like [quote] which get rendered to certain HTML patterns, but if you simply need the content as Markdown, pandoc should work well enough.
明白了,cooked 字段是 Markdown 渲染后的 HTML。
你可以直接使用 pandoc 将其转换为 Markdown;你无法获得与 raw 完全相同的保真度,因为其中包含一些非标准的 Markdown 标签,例如 [quote],它们会被渲染成特定的 HTML 模式,但如果你只需要 Markdown 格式的内容,pandoc 应该足够好用。
非常感谢。我现在就去处理。
我猜帖子的数据(内容)实际上是以 Markdown 的形式存储在数据库中的吧?
两者都有,这里有一个例子:
#<Post:0x00007fbb78416f50
id: 2203,
user_id: -4,
topic_id: 590,
post_number: 6,
raw: "@merefield, it looks like @eloy has mentioned that their favourite colour is red!",
cooked:
"<p><a class=\"mention\" href=\"/u/merefield\">@merefield</a>, it looks like <a class=\"mention\" href=\"/u/eloy\">@eloy</a> has mentioned that their favourite colour is red!</p>",
created_at: Sun, 18 Aug 2024 11:15:32.487912000 UTC +00:00,
updated_at: Sun, 18 Aug 2024 11:15:32.487912000 UTC +00:00,