on master help sign in
Drop extension when parsing dates in filepaths
c85198dGabriel Aumala
lib/Hakyll/Web/Template/Context.hs+2−2
@@ -50,7 +50,7 @@ import Hakyll.Core.Metadata
50import Hakyll.Core.Provider
50import Hakyll.Core.Provider
51import Hakyll.Core.Util.String (needlePrefix, splitAll)
51import Hakyll.Core.Util.String (needlePrefix, splitAll)
52import Hakyll.Web.Html
52import Hakyll.Web.Html
53−import System.FilePath (splitDirectories, takeBaseName)
53+import System.FilePath (splitDirectories, takeBaseName, dropExtension)
54
54
55
55
56--------------------------------------------------------------------------------
56--------------------------------------------------------------------------------
@@ -300,7 +300,7 @@ getItemUTC :: MonadMetadata m
300getItemUTC locale id' = do
300getItemUTC locale id' = do
301 metadata <- getMetadata id'
301 metadata <- getMetadata id'
302 let tryField k fmt = lookupString k metadata >>= parseTime' fmt
302 let tryField k fmt = lookupString k metadata >>= parseTime' fmt
303− paths = splitDirectories $ toFilePath id'
303+ paths = splitDirectories $ (dropExtension . toFilePath) id'
304
304
305 maybe empty' return $ msum $
305 maybe empty' return $ msum $
306 [tryField "published" fmt | fmt <- formats] ++
306 [tryField "published" fmt | fmt <- formats] ++
tests/Hakyll/Web/Template/Context/Tests.hs+4
@@ -41,6 +41,10 @@ testDateField = do
41 dateField "date" "%B %e, %Y"
41 dateField "date" "%B %e, %Y"
42 date2 @=? "August 26, 2010"
42 date2 @=? "August 26, 2010"
43
43
44+ date3 <- testContextDone store provider
45+ "posts/2018-09-26.md" "date" $
46+ dateField "date" "%B %e, %Y"
47+ date3 @=? "September 26, 2018"
44 cleanTestEnv
48 cleanTestEnv
45
49
46
50
tests/data/posts/2018-09-26.mdnew file+1
@@ -0,0 +1 @@
1+Something happened today.