summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2022-08-05 09:09:09 +0300
committerLars Wirzenius <liw@liw.fi>2022-08-05 14:11:05 +0300
commitcd593cd70db747c8f018a8e63a2af0e4727b12b3 (patch)
treef594dfdbd75a8efe4bbd59d65ef5c13696db024d
parenta855f665873d34d7797785fef0e88bf3e497af01 (diff)
downloadriki-cd593cd70db747c8f018a8e63a2af0e4727b12b3.tar.gz
name: store only page filename, without path, as page name
Sponsored-by: author
-rw-r--r--src/name.rs13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/name.rs b/src/name.rs
index 44328b1..e0b4882 100644
--- a/src/name.rs
+++ b/src/name.rs
@@ -13,12 +13,17 @@ pub struct Name {
impl Name {
fn new(is_wikitext: bool, src: PathBuf, dest: PathBuf, page: PathBuf) -> Self {
+ let page_name = page
+ .file_name()
+ .unwrap_or_else(|| panic!("get filename from {}", page.display()))
+ .to_string_lossy()
+ .to_string();
Self {
is_wikitext,
src,
dest,
- page: page.clone(),
- page_name: page.to_string_lossy().into(),
+ page,
+ page_name,
}
}
@@ -140,7 +145,7 @@ mod test {
assert_eq!(name.source_path(), Path::new("/src/foo/bar.mdwn"));
assert_eq!(name.destination_path(), Path::new("/dest/foo/bar.html"));
assert_eq!(name.page_path(), Path::new("/foo/bar"));
- assert_eq!(name.page_name(), "/foo/bar");
+ assert_eq!(name.page_name(), "bar");
}
#[test]
@@ -149,7 +154,7 @@ mod test {
assert_eq!(name.source_path(), Path::new("/src/foo/bar.jpg"));
assert_eq!(name.destination_path(), Path::new("/dest/foo/bar.jpg"));
assert_eq!(name.page_path(), Path::new("/foo/bar.jpg"));
- assert_eq!(name.page_name(), "/foo/bar.jpg");
+ assert_eq!(name.page_name(), "bar.jpg");
}
#[test]