Crate sitemap_gen

Crate sitemap_gen 

Source
Expand description

Sitemap Gen logo

§Sitemap Gen (sitemap-gen)

A fast and efficient Rust library for generating and validating XML sitemaps.

Made With Love Crates.io lib.rs Docs.rs Codecov Build Status GitHub

WebsiteDocumentationReport BugRequest FeatureContributing Guidelines

§Overview

The sitemap-gen library provides a powerful solution for generating and optimizing XML sitemaps, essential for enhancing SEO and improving website visibility. It supports the creation of sitemaps for websites of any scale, with built-in validation and performance optimizations to ensure that your sitemaps comply with web standards.

§Features

  • XML Sitemap Generation: Efficiently generate well-structured XML sitemaps for websites.
  • URL Management: Add, validate, and normalize URLs easily within the sitemap.
  • Change Frequency Support: Specify how often pages are likely to change (daily, weekly, etc.).
  • Last Modified Dates: Include accurate timestamps for when pages were last modified.
  • Validation: Ensure that your sitemap adheres to size and URL limits as per SEO guidelines.
  • Performance Optimizations: Pre-allocate buffers and optimize memory usage for generating large sitemaps.
  • Asynchronous Processing: Leverage async functionality to generate sitemaps efficiently for larger sites.

§Installation

Add this to your Cargo.toml to start using sitemap-gen:

[dependencies]
sitemap-gen = "0.0.1"

§Usage

Here’s an example of how to generate a sitemap:

use sitemap_gen::{Sitemap, ChangeFreq, SiteMapData};
use url::Url;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Create a new sitemap
    let mut sitemap = Sitemap::new();

    // Add entries
    let entry = SiteMapData {
        loc: Url::parse("https://example.com/")?,
        lastmod: "2023-10-01".to_string(),
        changefreq: ChangeFreq::Weekly,
    };

    sitemap.add_entry(entry)?;

    // Generate the XML
    let xml = sitemap.to_xml()?;
    println!("{}", xml);

    Ok(())
}

§Documentation

Full API documentation is available at docs.rs/sitemap-gen.

§Examples

To explore more examples, clone the repository and run the following command:

cargo run --example example_name

§Contributing

We welcome contributions from the community! Please check our contributing guidelines and feel free to submit issues or pull requests.

§License

This project is licensed under either of the following licenses:

You can choose which one you prefer.

§Acknowledgements

Special thanks to all contributors who have helped build and improve the sitemap-gen library.

A Rust library for generating and managing sitemaps.

This crate provides functionality to create, modify, and serialize XML sitemaps according to the Sitemaps XML format. It includes support for handling various sitemap-specific data types and error conditions.

Re-exports§

pub use error::SitemapError;
pub use sitemap::convert_date_format;
pub use sitemap::create_site_map_data;
pub use sitemap::ChangeFreq;
pub use sitemap::SiteMapData;
pub use sitemap::Sitemap;

Modules§

error
Contains error types specific to sitemap operations.
prelude
A prelude module for convenient importing of commonly used items.
sitemap
Provides the core functionality for creating and managing sitemaps.
utils
Utility functions and helper methods for sitemap operations.

Type Aliases§

SitemapResult
Result type alias for sitemap operations.