tempura 0.5.2

Pipeline-based Static site generator
Documentation
use clap::Parser;
use tempura::cli::{Cli, Commands};
use tracing::debug;

const fn verbose_to_level(verbose: u8) -> tracing::Level {
    if verbose == 0 {
        #[cfg(debug_assertions)]
        return tracing::Level::DEBUG;
        #[cfg(not(debug_assertions))]
        return tracing::Level::INFO;
    } else if verbose == 1 {
        tracing::Level::DEBUG
    } else {
        tracing::Level::TRACE
    }
}

fn main() -> anyhow::Result<()> {
    let cli = Cli::parse();

    let subscriber = tracing_subscriber::FmtSubscriber::builder()
        .with_max_level(verbose_to_level(cli.verbose))
        .finish();
    tracing::subscriber::set_global_default(subscriber).unwrap();

    debug!("{:?}", cli);

    match &cli.command {
        Commands::Init { directory } => tempura::init(directory)?,
        Commands::Build { directory, .. } => tempura::build(directory)?,
    }

    Ok(())
}