use clap::Parser; use logseq_export::process_metadata; use logseq_export::{copy_files, process_files}; use std::fs; use std::io; use std::path::Path; #[derive(Parser, Debug)] #[command(version)] struct Args { #[arg(short, long)] input: String, #[arg(short, long)] output: String, } fn main() -> io::Result<()> { let args = Args::parse(); let input_path = Path::new(&args.input); let output_path = Path::new(&args.output); input_path.join("logseq").try_exists()?; let input_assets = input_path.join("assets"); let output_assets = output_path.join("assets"); fs::create_dir_all(&output_assets)?; copy_files(&input_assets, &output_assets)?; let input_journals = input_path.join("journals"); let input_pages = input_path.join("pages"); process_files(&input_journals, &output_path, true)?; process_files(&input_pages, &output_path, false)?; let metadata = fs::read_to_string(input_path.join("logseq/pages-metadata.edn"))?; process_metadata(&metadata, &output_path)?; Ok(()) }