A rust library to generate sitemaps.
Go to file
2021-10-19 17:12:03 +02:00
.github speed up gh actions 2020-11-27 14:29:53 +01:00
benches benches 2021-07-23 16:13:03 +02:00
examples better 2021-06-22 16:06:18 +02:00
src fix badge 2021-10-19 17:12:03 +02:00
.gitignore initial commit 2020-11-22 15:43:41 +01:00
Cargo.toml upgrade deps, version 0.4.1 2021-10-19 17:11:10 +02:00
LICENSE add more author info to the license 2021-02-01 10:49:54 +01:00
README.md upgrade deps, version 0.4.1 2021-10-19 17:11:10 +02:00

sitewriter

A library to generate sitemaps.

Version Downloads License Rust Docs

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

Example

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).and_hms(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.from_utc_datetime(&Local.ymd(2020, 12, 5).and_hms(12, 30, 0).naive_utc()),
           ),
       },
       // Entity escaping
       UrlEntry {
           loc: "https://edgarluque.com/blog/test&id='<test>'"
               .parse()
               .unwrap(),
           changefreq: Some(ChangeFreq::Never),
           priority: Some(0.5),
           lastmod: Some(
               Utc.from_utc_datetime(&Local.ymd(2020, 12, 5).and_hms(12, 30, 0).naive_utc()),
           ),
       },
   ];

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

License: MIT