Expand description
§Configuration Module
This module provides a robust and type-safe configuration system for the Static Site Generator. It handles validation, serialization, and secure management of all configuration settings.
§Features
- Type-safe configuration management
- Comprehensive validation of all settings
- Secure path handling and normalization
- Flexible Builder pattern for configuration creation
- Serialization support via serde
- Default values for optional settings
§Examples
Basic usage (always available):
use frontmatter_gen::config::Config;
let config = Config::builder()
.site_name("My Blog")
.site_title("My Awesome Blog")
.build()?;
assert_eq!(config.site_name(), "My Blog");
With SSG features (requires “ssg” feature):
ⓘ
use frontmatter_gen::config::Config;
let config = Config::builder()
.site_name("My Blog")
.site_title("My Awesome Blog")
.content_dir("content") // Requires "ssg" feature
.template_dir("templates") // Requires "ssg" feature
.output_dir("public") // Requires "ssg" feature
.build()?;
assert_eq!(config.site_name(), "My Blog");
To use SSG-specific functionality, enable the “ssg” feature in your Cargo.toml:
[dependencies]
frontmatter-gen = { version = "0.0.5", features = ["ssg"] }
Structs§
- Builder for creating Config instances
- Core configuration structure.
Enums§
- Errors specific to configuration operations