on master help sign in
Drop extension when parsing dates in filepaths

Drop the file extension when parsing the date from the filepath of a resource.

commitc85198d8cb6ce055c788e287c7f2470eac0aad36 authorGabriel Aumala <gabrielfima@live.com> dateSun 30 Sep 2018, 14:38 (8 years ago) parentda52a2a
3 files changed+7−2
lib/Hakyll/Web/Template/Context.hs+2−2 tests/Hakyll/Web/Template/Context/Tests.hs+4 tests/data/posts/2018-09-26.md+1
lib/Hakyll/Web/Template/Context.hs+2−2
@@ -50,7 +50,7 @@ import Hakyll.Core.Metadata
5050import Hakyll.Core.Provider
5151import Hakyll.Core.Util.String (needlePrefix, splitAll)
5252import Hakyll.Web.Html
53−import System.FilePath (splitDirectories, takeBaseName)
53+import System.FilePath (splitDirectories, takeBaseName, dropExtension)
5454
5555
5656--------------------------------------------------------------------------------
@@ -300,7 +300,7 @@ getItemUTC :: MonadMetadata m
300300getItemUTC locale id' = do
301301 metadata <- getMetadata id'
302302 let tryField k fmt = lookupString k metadata >>= parseTime' fmt
303− paths = splitDirectories $ toFilePath id'
303+ paths = splitDirectories $ (dropExtension . toFilePath) id'
304304
305305 maybe empty' return $ msum $
306306 [tryField "published" fmt | fmt <- formats] ++
tests/Hakyll/Web/Template/Context/Tests.hs+4
@@ -41,6 +41,10 @@ testDateField = do
4141 dateField "date" "%B %e, %Y"
4242 date2 @=? "August 26, 2010"
4343
44+ date3 <- testContextDone store provider
45+ "posts/2018-09-26.md" "date" $
46+ dateField "date" "%B %e, %Y"
47+ date3 @=? "September 26, 2018"
4448 cleanTestEnv
4549
4650
tests/data/posts/2018-09-26.mdnew file+1
@@ -0,0 +1 @@
1+Something happened today.