Sitewriter

Rust crates.io License codecov

A rust library to generate sitemaps.

It uses the quick-xml so it should be fast.

Example

To run the examples use cargo run --example gen_sitemap

```rust use chrono::prelude::; use sitewriter::;

let urls = vec![ UrlEntryBuilder::default() .loc("https://edgarluque.com/projects".parse().unwrap()) .build() .unwrap(), UrlEntry { loc: "https://edgarluque.com/".parse().unwrap(), changefreq: Some(ChangeFreq::Daily), priority: Some(1.0), lastmod: Some(Utc::now()), }, UrlEntry { loc: "https://edgarluque.com/blog".parse().unwrap(), changefreq: Some(ChangeFreq::Weekly), priority: Some(0.8), lastmod: Some(Utc::now()), }, UrlEntry { loc: "https://edgarluque.com/blog/sitewriter".parse().unwrap(), changefreq: Some(ChangeFreq::Never), priority: Some(0.5), lastmod: Some(Utc.ymd(2020, 11, 22).andhms(15, 10, 15)), }, UrlEntry { loc: "https://edgarluque.com/blog/some-future-post" .parse() .unwrap(), changefreq: Some(ChangeFreq::Never), priority: Some(0.5), lastmod: Some( Utc.fromutcdatetime(&Local.ymd(2020, 12, 5).andhms(12, 30, 0).naiveutc()), ), }, // Entity escaping UrlEntry { loc: "https://edgarluque.com/blog/test&id=''" .parse() .unwrap(), changefreq: Some(ChangeFreq::Never), priority: Some(0.5), lastmod: Some( Utc.fromutcdatetime(&Local.ymd(2020, 12, 5).andhms(12, 30, 0).naive_utc()), ), }, ];

let result = Sitemap::into_str(&urls).unwrap(); println!("{}", result); ```