use clap::Parser;
use tilezz::stringmatch::dafsa::write_collection_ro_crate;
#[derive(Parser, Debug)]
#[command(about = "Build the top-level RO-Crate for a hosted web/ directory.")]
struct Cli {
#[arg(long)]
web_dir: std::path::PathBuf,
#[arg(long, default_value = "https://apirogov.github.io/tilezz/")]
page_url: String,
}
fn main() -> std::io::Result<()> {
let cli = Cli::parse();
if !cli.web_dir.is_dir() {
return Err(std::io::Error::new(
std::io::ErrorKind::NotFound,
format!("--web-dir {:?} is not a directory", cli.web_dir),
));
}
write_collection_ro_crate(&cli.web_dir, &cli.page_url)?;
println!(
"wrote {}",
cli.web_dir.join("ro-crate-metadata.json").display()
);
Ok(())
}