Skip to main content

Module config

Module config 

Source
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
Builder for creating Config instances
Config
Core configuration structure.

Enums§

Error
Errors specific to configuration operations