Turndown
Turndown 源码分析:五、节点相关`root-node.js`和`node.js`
```js import collapseWhitespace from './collapse-whitespace' import HTMLParser from './html-parser' import { isBlock, isVoid } from './utilities' // 单 ......
Turndown 源码分析:二、规则`commonmark-ruiles.js` REV1
```js import { repeat } from './utilities' var rules = {} // 段落 rules.paragraph = { filter: 'p', replacement: function (content) { // 前后加两个换行 return ' ......
Turndown 源码分析:三、规则集`rules.js` REV1
```js /** * Manages a collection of rules used to convert HTML to Markdown */ export default function Rules (options) { // 配置 this.options = options / ......
Turndown 源码分析:四、`turndown.js`
````js import COMMONMARK_RULES from './commonmark-rules' import Rules from './rules' import { extend, trimLeadingNewlines, trimTrailingNewlines } from ......
Turndown 源码解析:三、规则集
Rules 规则集包含一系列规则,其构造器通过传入的options配置对象获取规则列表并置于array字段中。 字段为: options:配置项对象,就是用户传进来的那些 _keep:保留的规则列表 _remove:删除的规则列表 array:常规规则列表 blankRule:空白节点的规则 kee ......
Turndown 源码解析:二、规则
规则集包含一系列规则,决定各种标签如何反编译。单个规则的格式是: { filter: String | String[] | function(node), replacement: function(node, content, options), } filter字段用于判断节点是否适用单条规则 ......
Turndown 源码解析:一、辅助函数
extend() Object.assign的补丁。 function extend (destination) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in sou ......