diff options
author | Lars Wirzenius <liw@liw.fi> | 2022-08-05 09:09:09 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2022-08-05 14:11:05 +0300 |
commit | cd593cd70db747c8f018a8e63a2af0e4727b12b3 (patch) | |
tree | f594dfdbd75a8efe4bbd59d65ef5c13696db024d | |
parent | a855f665873d34d7797785fef0e88bf3e497af01 (diff) | |
download | riki-cd593cd70db747c8f018a8e63a2af0e4727b12b3.tar.gz |
name: store only page filename, without path, as page name
Sponsored-by: author
-rw-r--r-- | src/name.rs | 13 |
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] |