|
|
|
@ -62,7 +62,7 @@ fn generate() -> Result<(), Ærror> {
|
|
|
|
|
{
|
|
|
|
|
let output_str = render_ssr(outbox, author, archive_time)?;
|
|
|
|
|
|
|
|
|
|
println!("{}", output_str);
|
|
|
|
|
fs::write("out/index.html", output_str);
|
|
|
|
|
|
|
|
|
|
copy_items(
|
|
|
|
|
&mut vec!["resources/"],
|
|
|
|
@ -76,10 +76,12 @@ fn generate() -> Result<(), Ærror> {
|
|
|
|
|
|
|
|
|
|
fn setup_dirs(args: &GeneratorOptions) -> Result<(), crate::error::Ærror> {
|
|
|
|
|
let output_dir = Path::new(&args.output_dir);
|
|
|
|
|
let media_dir = output_dir.join("media");
|
|
|
|
|
|
|
|
|
|
// Create output dir
|
|
|
|
|
if !output_dir.exists() {
|
|
|
|
|
fs::create_dir(output_dir)?;
|
|
|
|
|
fs::create_dir(media_dir)?;
|
|
|
|
|
} else if !output_dir.read_dir()?.next().is_none() && !args.overwrite {
|
|
|
|
|
return Err(Ærror::new(format!(
|
|
|
|
|
"Output directory {} exists but --overwrite not given",
|
|
|
|
@ -88,6 +90,7 @@ fn setup_dirs(args: &GeneratorOptions) -> Result<(), crate::error::Ærror> {
|
|
|
|
|
} else {
|
|
|
|
|
fs::remove_dir_all(output_dir)?;
|
|
|
|
|
fs::create_dir(output_dir)?;
|
|
|
|
|
fs::create_dir(media_dir)?;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Ok(())
|
|
|
|
@ -98,6 +101,8 @@ fn read_archive(
|
|
|
|
|
) -> Result<(String, String, DateTime<chrono::Utc>), crate::error::Ærror> {
|
|
|
|
|
#[cfg(not(debug_assertions))]
|
|
|
|
|
let path = &args.archive_file;
|
|
|
|
|
let output_dir = Path::new(&args.output_dir);
|
|
|
|
|
let media_dir = output_dir.join("media");
|
|
|
|
|
|
|
|
|
|
let tar;
|
|
|
|
|
|
|
|
|
@ -151,11 +156,11 @@ fn read_archive(
|
|
|
|
|
|
|
|
|
|
"avatar.png" => {
|
|
|
|
|
#[cfg(not(debug_assertions))]
|
|
|
|
|
file.unpack_in(&args.output_dir)?;
|
|
|
|
|
file.unpack_in(&media_dir)?;
|
|
|
|
|
}
|
|
|
|
|
"header.png" => {
|
|
|
|
|
#[cfg(not(debug_assertions))]
|
|
|
|
|
file.unpack_in(&args.output_dir)?;
|
|
|
|
|
file.unpack_in(&media_dir)?;
|
|
|
|
|
}
|
|
|
|
|
_ => (),
|
|
|
|
|
};
|
|
|
|
|