aboutsummaryrefslogtreecommitdiffstats
path: root/src/util/sanitize_uri.rs (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-07-29Refactor to improve statesLibravatar Titus Wormer1-1/+1
* Remove custom kind wrappers, use plain bytes instead * Remove `Into`s, use the explicit expected types instead * Refactor to use `slice.as_str` in most places * Remove unneeded unique check before adding a definition * Use a shared CDATA prefix in constants * Inline byte checks into matches * Pass bytes back from parser instead of whole parse state * Refactor to work more often on bytes * Rename custom `size` to `len`
2022-07-28Refactor to work on `char`sLibravatar Titus Wormer1-1/+1
Previously, a custom char implementation was used. This was easier to work with, as sometimes “virtual” characters are injected, or characters are ignored. This replaces that with working on actual `char`s. In the hope of in the future working on `u8`s, even. This simplifies the state machine somewhat, as only `\n` is fed, regardless of whether it was a CRLF, CR, or LF. It also feeds `' '` instead of virtual spaces. The BOM, if present, is now available as a `ByteOrderMark` event.
2022-07-20Refactor to improve allocation around stringsLibravatar Titus Wormer1-28/+21
2022-06-24Add link, images (resource)Libravatar Titus Wormer1-1/+1
This is still some messy code that needs cleaning up, but it adds support for links and images, of the resource kind (`[a](b)`). References (`[a][b]`) are parsed and will soon be supported, but need matching. * Fix bug to pad percent-encoded bytes when normalizing urls * Fix bug with escapes counting as balancing in destination * Add `space_or_tab_one_line_ending`, to parse whitespace including up to one line ending (but not a blank line) * Add `ParserState` to share codes, definitions, etc
2022-06-15Add docs on sanitizing urls to autolinkLibravatar Titus Wormer1-2/+2
2022-06-14Add examples to some docsLibravatar Titus Wormer1-0/+20
2022-06-14Reorganize to split utilLibravatar Titus Wormer1-0/+111