我有几个HTML文件,我想使用Node.js自动将其转换为markdown。我的问题是–转换时似乎丢失了几个标签,尤其是<iframe>
和<pre>
。
以下是问题的一个示例:
example.html
<h1>My title</h1>
I present you my code:
<pre>console.log('hello world!');</pre>
converted.md
# My title
I present you my code:
如您所见,<pre>
元素消失了:-(我知道没有与这些标记等效的markdown,但是由于每个html代码在md文件中也有效,因此不应仅将它们保留为md文件中包含纯HTML?
我期望什么
# My title
I present you my code:
<pre>console.log('hello world!');</pre>
我创建的转换器是用Node编写的,如下所示:
var TurndownService = require('turndown')
function post2Markdown(post) {
var turndownService = new TurndownService()
var contentAsMarkdown = turndownService.turndown(post.content.rendered)
return contentAsMarkdown
}
这只是我在这里使用的Turndown库的问题,还是html-> md转换器执行的常规操作?我该如何解决这个问题?
答案 0 :(得分:1)
您是否了解了调节的工作原理?
根据Turndown documentation,您需要的是keep
。
下面的代码可以完成这项工作:
var TurndownService = require('turndown')
function post2Markdown(post) {
var turndownService = new TurndownService()
turndownService.keep(['pre', 'iframe'])
var contentAsMarkdown = turndownService.turndown(post.content.rendered)
return contentAsMarkdown
}