Fetch User Keys - simple tool for fetching SSH keys from various sources
1use std::fs;
2use std::path::Path;
3
4fn main() -> simple_eyre::Result<()> {
5 let sh = xshell::Shell::new()?;
6
7 let outdir = std::env::var("OUT")?;
8 let outdir = Path::new(&outdir);
9
10 // Generate Manpages using scdoc
11 for entry in fs::read_dir("docs")? {
12 let entry = entry?;
13 let file_name = entry.file_name();
14 let file_name = Path::new(&file_name);
15 if file_name.extension() != Some(std::ffi::OsStr::new("scd")) { continue }
16
17 let outname = Path::file_stem(file_name).unwrap();
18 let page = Path::new(outname).extension().unwrap().to_str().unwrap();
19
20 let outdir = outdir.join(format!("man{page}"));
21
22 fs::create_dir_all(&outdir)?;
23
24 let input = entry.path();
25 let input = Path::new(&input);
26
27 let output = xshell::cmd!(sh, "scdoc").stdin(fs::read(input)?).read()?;
28
29 fs::write(outdir.join(outname), &output)?;
30
31 println!("{:?}", outname);
32 }
33
34 Ok(())
35}