# Parse hyperlinks
A parser library written with [Nom](https://crates.io/crates/nom) to recognize
hyperlinks in Markdown, reStructuredText or HTML formatted text input.
[](
https://crates.io/crates/parse-hyperlinks)
[](
https://docs.rs/parse-hyperlinks)
[](
https://github.com/getreu/parse-hyperlinks)
The library implements the
[CommonMark Specification 0.29](https://spec.commonmark.org/0.29/),
[reStructuredText Markup Specification](https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html)
(revision 8571, date 2020-10-28) and [HTML 5.2: 4.5. Text-level
//! semantics](https://www.w3.org/TR/html52/textlevel-semantics.html#the-a-element).
To illustrate the usage and the API of the library, [parse-hyperlinks](https://crates.io/crates/parse-hyperlinks)
comes also with a simple command line application.
Installation:
```bash
cargo install parse-hyperlinks
```
Usage example:
```bash
$ cat input.txt
abc [my blog](https://getreu.net "blog title")abc
[my blog]: https://getreu.net "blog title"
abc`my blog <https://getreu.net>`_abc
.. _my blog: https://get
reu.net
<a href="https://getreu.net" title="blog title">my blog</a>
$
$ ./parse-hyperlinks <input.txt >ouput.html
$
$ cat ouput.html
<a href="https://getreu.net" title="blog title">my blog</a><br/>
<a href="https://getreu.net" title="blog title">my blog</a><br/>
<a href="https://getreu.net" title="">my blog</a><br/>
<a href="https://getreu.net" title="">my blog</a><br/>
<a href="https://getreu.net" title="blog title">my blog</a><br/>
$
```