summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2022-10-15 09:31:16 +0300
committerLars Wirzenius <liw@liw.fi>2022-10-15 09:31:16 +0300
commit0ef43d65aac17b5a294cab318182d73da6c0c545 (patch)
tree10641648204699e45d1304861d7f151e225b8240
parent2e73159d4205bf7d82d802635a9cdc164f7da9db (diff)
downloadriki-0ef43d65aac17b5a294cab318182d73da6c0c545.tar.gz
refactor: use SourceDir in Site::all_files
Sponsored-by: author
-rw-r--r--src/site.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/site.rs b/src/site.rs
index 983f250..a9d6123 100644
--- a/src/site.rs
+++ b/src/site.rs
@@ -3,13 +3,13 @@ use crate::git::git_whatchanged;
use crate::name::{Name, NameBuilder, Names};
use crate::page::{MarkdownPage, UnprocessedPage, WikitextPage};
use crate::parser::WikitextParser;
+use crate::srcdir::SouceDir;
use crate::token::TokenPatterns;
use crate::util::make_relative_link;
use log::{debug, info, trace};
use std::collections::{BinaryHeap, HashMap};
use std::path::{Path, PathBuf};
use std::time::SystemTime;
-use walkdir::WalkDir;
pub struct Site {
patterns: TokenPatterns,
@@ -140,12 +140,12 @@ impl Site {
}
fn all_files(&self) -> Result<Vec<Name>, SiteError> {
+ let mut srcdir = SouceDir::new(self.builder.srcdir());
+ srcdir.scan()?;
let mut names = vec![];
let root = self.builder.srcdir();
trace!("all_files: root={}", root.display());
- for e in WalkDir::new(root) {
- let e = e.map_err(|err| SiteError::WalkDir(root.to_path_buf(), err))?;
- let path = e.path();
+ for path in srcdir.files() {
trace!("all_files: path={}", path.display());
if Self::is_excluded(path) {
debug!("exclude {}", path.display());