2个稳定版本
1.0.2 | 2022年11月10日 |
---|---|
1.0.1 | 2022年11月6日 |
#1594 在 文本处理
每月75次下载
225KB
5.5K SLoC
Rustextile - Rust Textile解析器
Rustextile 是一个用纯Rust编写的流行的 Textile 标记语言解析器。它是两个库的移植:Python的 python-textile 库和“官方”的 PHP Textile实现(python-textile库也是基于此实现的)。
功能
此移植与原始库执行相同的自动化测试,并支持相同的功能集,包括
- 装饰文本跨度
- 图像
- 表格
- 有序/无序列表
- 定义列表
- 复杂引用
- 代码块
- CSS样式、类和ID属性
- 原始HTML插入
- 脚注和引用
- “受限”解析以处理不受信任的用户输入和其他安全功能
- 在XHTML或HTML5中渲染
- 等等...
还有一个名为 textile-rs 的类似Rust库,它是从头开始编写的,但遗憾的是只支持Textile的基本功能,并且与为更先进的官方解析器创建的文档不完全兼容。
此实现是官方PHP解析器的直接移植。它使用类似的代码结构、相同的正则表达式、大多数相同的变量名和相同的测试用例。这使得它不仅兼容性更高,而且还可以从仍在积极开发的PHP版本中回溯新功能和修复。
对我来说,这也是一个很好的证明,即可以在不牺牲这类高级解释语言的简洁性和可读性的情况下,用Rust重写PHP或Python代码。
依赖项
~9–22MB
~356K SLoC