最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

[如何不松动和当将HTML转换为Markdown时?

运维笔记admin7浏览0评论

[如何不松动
和
当将HTML转换为Markdown时?

[如何不松动 和 当将HTML转换为Markdown时?

我有几个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文件中也是有效的,因此它们不应该仅作为纯html保留在md文件?

what-I-expected.md

# 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转换器执行的常规操作?如何解决此问题?

回答如下:

您是否读过调节的工作原理?

根据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
}
发布评论

评论列表(0)

  1. 暂无评论