Crates.io | rustextile |
lib.rs | rustextile |
version | 1.0.2 |
source | src |
created_at | 2022-11-06 06:07:45.460761 |
updated_at | 2022-11-10 07:16:34.723521 |
description | Textile markup language parser for Rust |
homepage | |
repository | https://github.com/kpot/rustextile |
max_upload_size | |
id | 706340 |
size | 454,460 |
Rustextile is a parser of a popular Textile markup language written in pure Rust. It is a port of two libraries: the python-textile library and the "canonical" PHP Textile implementation (on which the python-textile library is based too).
This port passes the same automated tests as the original libraries do, and supports the same full set of functionality, including
There is another similar Rust library called textile-rs, which was written from scratch, but sadly supports only basic capabilities of Textile and is not fully compatible with documents created for more advanced canonical parser.
This implementation is a direct port of the canonical PHP parser. It uses a similar code structure, the same regular expressions, mostly the same variable names and the same tests fixtures. This makes it not only more compatible, but also allows to back-port new features and fixes from still actively developing PHP version.
For me this was also a good demonstration that one can rewrite a PHP or Python code in Rust without sacrificing brevity and readability typical for such high-level interpreted languages.