[][src]Crate sitewriter

A rust library to generate sitemaps.

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

To handle the Url::lastmod tag it uses chrono but it can be disabled with default-features = false.

Example

use chrono::prelude::*;
use sitewriter::*;
 
fn main() {
    let mut sitemap = Sitemap::new();
    sitemap.urls.push(Url::new("https://edgarluque.com/projects".to_owned()));
 
    sitemap.urls.push(Url {
        loc: "https://edgarluque.com/".to_owned(),
        changefreq: Some(ChangeFreq::Daily),
        priority: Some(1.0),
        lastmod: Some(Utc::now()),
    });
 
    sitemap.urls.push(Url {
        loc: "https://edgarluque.com/blog".to_owned(),
        changefreq: Some(ChangeFreq::Weekly),
        priority: Some(0.8),
        lastmod: Some(Utc::now()),
    });
 
    sitemap.urls.push(Url {
        loc: "https://edgarluque.com/blog/sitewriter".to_owned(),
        changefreq: Some(ChangeFreq::Never),
        priority: Some(0.5),
        lastmod: Some(Utc.ymd(2020, 11, 22).and_hms(15, 10, 15)),
    });
 
    sitemap.urls.push(Url {
        loc: "https://edgarluque.com/blog/some-future-post".to_owned(),
        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.into_str();
    println!("{}", result);
}

Structs

Sitemap

Struct to hold the sitemap information.

Url

A sitemap url entry.

Enums

ChangeFreq

How frequently the page is likely to change. This value provides general information to search engines and may not correlate exactly to how often they crawl the page.