// SPDX-FileCopyrightText: 2024 Ɓukasz Niemier <#@hauleth.dev> // // SPDX-License-Identifier: EUPL-1.2 use std::fs; use std::path::Path; fn main() -> simple_eyre::Result<()> { let sh = xshell::Shell::new()?; let outdir = std::env::var("OUT")?; let outdir = Path::new(&outdir); // Generate Manpages using scdoc for entry in fs::read_dir("docs")? { let entry = entry?; let file_name = entry.file_name(); let file_name = Path::new(&file_name); if file_name.extension() != Some(std::ffi::OsStr::new("scd")) { continue; } let outname = Path::file_stem(file_name).unwrap(); let page = Path::new(outname).extension().unwrap().to_str().unwrap(); let outdir = outdir.join(format!("man{page}")); fs::create_dir_all(&outdir)?; let input = entry.path(); let input = Path::new(&input); let output = xshell::cmd!(sh, "scdoc").stdin(fs::read(input)?).read()?; fs::write(outdir.join(outname), &output)?; println!("{:?}", outname); } Ok(()) }