2个版本
0.1.1 | 2020年10月8日 |
---|---|
0.1.0 | 2020年5月3日 |
2937 in 解析实现
35KB
973 行
Nom HTML 解析器
该项目是一个使用nom创建的Alpha HTML解析器。
该库的目的是提供一个高性能的运行时HTML解析库,将HTML字符串转换为HTML节点结构。实际上,该库相当脆弱。
遵循的规则
- 始终在新的行上关闭HTML分隔符。目前,自闭合标签和1行HTML是无效的。
// good
<div>
</div>
// bad
<div></div>
<input />
- 始终根据嵌套级别缩进节点。
// good
<div>
<div>
</div>
</div>
// bad
<div>
<div>
</div>
</div>
- 属性必须用反引号书写。
// good
<div class=`test`>
</div>
// bad
<div class="test">
</div>
- 文本节点是最终的,它们假设节点开始之后的所有内容都是文本,而不是HTML节点。例如
<div>
{{test}}
{{/test}}
<p>
Test
</p>
</div>
这将在div内容中生成一个文本节点。若要具有这种结构,您必须将文本节点包裹在一个HTML元素中
<div>
<span>
{{test}}
{{/test}}
</span>
<p>
Test
</p>
</div>
这些限制是临时的,将会修复,但到目前为止,库是可用的,我将继续进一步改进它。欢迎贡献 :)
依赖关系
~1MB
~18K SLoC