markdown_that_url/
lib.rs

1//! URL parser and formatter that gracefully handles invalid input.
2//!
3//! This is a tool for pretty-printing user-supplied urls plus a
4//! url parser that makes it possible.
5//!
6//! ```rust
7//! use markdown_that_url::format_url_for_humans as format;
8//! let url = "https://www.reddit.com/r/programming/comments/vxttiq/\
9//! comment/ifyqsqt/?utm_source=reddit&utm_medium=web2x&context=3";
10//!
11//! assert_eq!(format(url, 20), "reddit.com/…/ifyqsq…");
12//! assert_eq!(format(url, 30), "www.reddit.com/r/…/ifyqsqt/?u…");
13//! assert_eq!(format(url, 50), "www.reddit.com/r/programming/comments/…/ifyqsqt/?…");
14//! ```
15#![forbid(unsafe_code)]
16#![warn(clippy::manual_assert)]
17#![warn(clippy::semicolon_if_nothing_returned)]
18
19#[doc(hidden)]
20// not part of official API, see comments in that module
21pub mod urlencode;
22
23mod parse;
24pub use parse::parse_url;
25
26mod url;
27pub use url::Url;
28
29mod format;
30pub use format::format_url_for_computers;
31pub use format::format_url_for_humans;