转发文章 Markdown 重排版开源工具——SitDown

2021-05-14 15:47:11 浏览数 (1)

  • SitDown 是 html 转 markdown 神器,支持微信公众号和知乎等众多平台。
  • 完美支持公式、图片、脚注和GFM语法转回,支持自定义。

开发者和文章作者:LinFeng1997 体验地址,欢迎Star:https://github.com/mdnice/sitdown

前言

markdown 是一款非常强大且语法简洁的标记语言。我们(特别是技术人员)更加青睐它,用它来写文档、博客、文章等。

有些平台,比如掘金、CSDN,技术人员使用较多,所以他们的编辑器支持 markdown,而有的平台,例如微信、知乎,则对 markdown 用户不太友好。

某些工具可以将 markdown 解析成这些平台兼容的 html,比如 Markdown Nice[1]

但对于已经发布的文章,而你又不是原文作者,你想转发或者借鉴一段时,排版问题也许又会让你坐立不安。

我们调研了一些 html 转 markdown 工具,实际用起来发现效果并不尽人意,所以我们自己开发了 SitDown[2] ,能够兼容各大平台的 html 的转换。

顾名思义:转发文章 Markdown 重排版,坐立不安?请 SitDown!

用法

非开发环境

如果你只是想快速达成目的,可以直接进入我们的 Demo 页[3]

  1. 将源 html 粘贴到左边的输入框中。
  1. 选择 html 来源的平台。
  1. 点击 transform。转换的 markdown 就生成在了右边的框中,并同时复制到了你的剪贴板。

开发环境

代码语言:javascript复制
// Node
var { Sitdown } = require('sitdown')

var sitdown = new Sitdown()
var markdown = sitdown.HTMLToMD('你的 html')
代码语言:javascript复制
// ES
import { Sitdown } from 'sitdown/src.esm'

var sitdown = new Sitdown()
var markdown = sitdown.HTMLToMD('你的 html')

如果想转换某个平台的 html,可以使用插件[4]

例如:

代码语言:javascript复制
import { Sitdown } from 'sitdown/src.esm';
import { applyJuejinRule } from '@sitdown/juejin/src.esm';

let sitdown = new Sitdown({
      keepFilter: ['style'],
      codeBlockStyle: 'fenced',
      bulletListMarker: '-',
      hr: '---',
});
sitdown.use(applyJuejinRule);

搭配 Markdown Nice 使用

Markdown Nice:https://mdnice.com,是一款 markdown 转 html 的神器。markdown 经过它的转换,可以生成各种主题的微信 html 和知乎 html。

它直接集成了 SitDown:

结语

本库也是借鉴了开源界的思想和某些代码库,在一些细节上还需要完善和改进。所以也是 MIT 协议,如果大家对 mdnice 社区相关项目有兴趣,欢迎提供 pr 贡献。

参考资料

[1]

Markdown Nice: https://mdnice.com/

[2]

SitDown: https://sitdown.mdnice.com/zh-hans/

[3]

Demo 页: https://sitdown.mdnice.com/Demo.html

[4]

插件: https://sitdown.mdnice.com/zh-hans/插件.html

0 人点赞