use std::process::ExitCode; use clap::Parser; use self::cli::parameters::Cli; use self::cli::parameters::Commands; use self::command::build::build_site; use self::command::init::init_writer_folder; mod cli; mod command; mod config; fn main() -> Result> { let rt = tokio::runtime::Runtime::new()?; rt.block_on(async { let main_body_result = main_body().await; main_body_result }) } async fn main_body() -> Result> { let args = Cli::parse(); match args.command { Commands::Init(args) => { init_writer_folder(args).await?; } Commands::Build(args) => { build_site(args).await?; } }; Ok(ExitCode::SUCCESS) }