| Crates.io | favilib |
| lib.rs | favilib |
| version | 0.5.1 |
| created_at | 2024-04-08 05:56:31.480529+00 |
| updated_at | 2024-04-16 06:18:37.69514+00 |
| description | Library for fetching and parsing favicons from websites |
| homepage | |
| repository | https://github.com/Pascal736/favilib |
| max_upload_size | |
| id | 1199873 |
| size | 86,660 |
Favicon Fetcher written in Rust. Contains library as well as CLI tool.
[!WARNING] This is a work in progress. The library is not yet stable.
use favilib::{fetch, Favicon, ImageSize, ImageFormat, Url, Client};
let url = Url::parse("https://github.com").unwrap();
// Fetch and export image directly
let _ = fetch(&url, ImageSize::Large, ImageFormat::Png, "favicon.png", None);
// Fetch image and get it as a struct
let client = Client::new();
let favicon = Favicon::fetch(&url, Some(client)).unwrap();
let resized_favicon = favicon.resize(ImageSize::Custom(32,32)).unwrap();
let reformatted_favicon = resized_favicon.change_format(ImageFormat::Png).unwrap();
reformatted_favicon.export("favicon.png").unwrap();
CLI can be installed via cargo by running cargo install favilib
# Format will be changed based on the file ending
favilib fetch github.com --size large --path favicon.png
# Format can also be specified explicitly and bytes can be printed to stdout if path is omitted. And size can be specified explicitly
favilib fetch github.com --size 32,32 --format ico
# Prints the extracted URL of the favicon to stdout
favilib fetch github.com --url-only --stdout