Crates.io | gfm-autolinks |
lib.rs | gfm-autolinks |
version | 0.2.0 |
source | src |
created_at | 2023-06-26 07:17:01.884709 |
updated_at | 2023-06-26 23:07:54.343627 |
description | Parse GitHub Flavored Markdown autolinks |
homepage | |
repository | https://github.com/chrisjsewell/markdown-it-plugins.rs |
max_upload_size | |
id | 900109 |
size | 30,036 |
A GitHub-flavored Markdown autolink matcher: https://github.github.com/gfm/#autolinks-extension-.
The match_start
function matches from the start of the string,
and returns None
or the generated autolink, and the number of characters matched.
use gfm_autolinks::match_start;
match_start("foo")
// returns None
match_start("http://example.com more")
// returns Some(("http://example.com", 18))
match_start("www.example.com more")
// returns Some(("http://www.example.com", 15))
match_start("me@hotmail.com more")
// returns Some(("mailto:me@hotmail.com", 14))
The match_index
function matches from a given index,
and also returns None
or the generated autolink, and the number of characters matched.
If the index is not 0, it will also apply the rule,
that the autolink must be preceded by a whitespace character or one of * _ ~ (
.
Invalid index will return None
.
use gfm_autolinks::match_index;
match_index("foo", 10)
// returns None
match_index(" www.example.com", 1)
// returns Some(("http://www.example.com", 18))
match_index("]www.example.com", 1)
// returns None
Note, no HTML escaping is performed, e.g.
use gfm_autolinks::match_start;
match_start("http://example.com?foo=bar&baz=qux")
// returns Some(("http://example.com?foo=bar&baz=qux", 34))
Originally adapted from comrak.