summaryrefslogtreecommitdiff
path: root/src/bin/riki.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/riki.rs')
-rw-r--r--src/bin/riki.rs17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/bin/riki.rs b/src/bin/riki.rs
index 83d1a9c..70bf71c 100644
--- a/src/bin/riki.rs
+++ b/src/bin/riki.rs
@@ -2,6 +2,7 @@ use clap::{CommandFactory, FromArgMatches, Parser};
use git_testament::{git_testament, render_testament, GitModification};
use log::{debug, error, info};
use riki::error::SiteError;
+use riki::name::Name;
use riki::site::Site;
use riki::util::{canonicalize, copy_file_from_source, mkdir, set_mtime};
use std::error::Error;
@@ -145,16 +146,14 @@ impl Build {
} else {
page.to_html()?
};
- let output = page.meta().destination_filename(&destdir);
+ let output = page.meta().destination_filename();
debug!("writing: {}", output.display());
htmlpage.write(&output)?;
set_mtime(&output, page.meta().mtime())?;
}
- for file in site.files() {
- let input = site.input_filename(file)?;
- let output = site.output_filename(file)?;
- copy_file_from_source(&input, &output)?;
+ for file in site.files_only() {
+ copy_file_from_source(file.source_path(), file.destination_path())?;
}
Ok(())
@@ -173,10 +172,10 @@ impl List {
let srcdir = canonicalize(&self.srcdir)?;
let mut site = Site::new(&srcdir, &srcdir);
site.scan()?;
- let mut filenames = site.included_files().to_vec();
- filenames.sort_unstable();
- for filename in filenames {
- println!("{}", filename.display());
+ let mut names: Vec<&Name> = site.pages_and_files().collect();
+ names.sort_by_cached_key(|name| name.page_path());
+ for name in names {
+ println!("{}", name);
}
Ok(())
}