Implement language as Maybe parameter for contexts.
This commit is contained in:
parent
332541cdfa
commit
b43909cbcc
@ -30,34 +30,60 @@ main = hakyll $ do
|
||||
|
||||
match "posts/*" $ do
|
||||
route $ setExtension "html"
|
||||
compile $ pandocCompiler
|
||||
>>= loadAndApplyTemplate "templates/post.html" postCtx
|
||||
>>= loadAndApplyTemplate "templates/default.html" postCtx
|
||||
compile $ do
|
||||
identifier <- getUnderlying
|
||||
metadata <- getMetadata identifier
|
||||
let language = lookupString "language" metadata
|
||||
|
||||
pandocCompiler
|
||||
>>= loadAndApplyTemplate "templates/post.html" (postCtx language)
|
||||
>>= loadAndApplyTemplate "templates/default.html" (postCtx language)
|
||||
>>= relativizeUrls
|
||||
|
||||
match "events/*" $ do
|
||||
route $ setExtension "html"
|
||||
compile $ pandocCompiler
|
||||
>>= loadAndApplyTemplate "templates/event.html" postCtx
|
||||
>>= loadAndApplyTemplate "templates/default.html" postCtx
|
||||
compile $ do
|
||||
identifier <- getUnderlying
|
||||
metadata <- getMetadata identifier
|
||||
let language = lookupString "language" metadata
|
||||
|
||||
pandocCompiler
|
||||
>>= loadAndApplyTemplate "templates/event.html" (postCtx language)
|
||||
>>= loadAndApplyTemplate "templates/default.html" (postCtx language)
|
||||
>>= relativizeUrls
|
||||
|
||||
match "pages/en/plamo/**" $ do
|
||||
route $ setExtension "html"
|
||||
compile $ pandocCompiler
|
||||
>>= loadAndApplyTemplate "templates/post.html" postCtx
|
||||
>>= loadAndApplyTemplate "templates/default.html" postCtx
|
||||
compile $ do
|
||||
identifier <- getUnderlying
|
||||
metadata <- getMetadata identifier
|
||||
let language = lookupString "language" metadata
|
||||
|
||||
let dateValue = lookupString "date" metadata
|
||||
modelKitTemplate =
|
||||
if dateValue == Just "1990-01-01"
|
||||
then "templates/model-kit-not-ready.html"
|
||||
else "templates/model-kit.html"
|
||||
|
||||
pandocCompiler
|
||||
>>= loadAndApplyTemplate modelKitTemplate (postCtx language)
|
||||
>>= loadAndApplyTemplate "templates/default.html" (postCtx language)
|
||||
>>= relativizeUrls
|
||||
|
||||
create ["archive.html"] $ do
|
||||
route idRoute
|
||||
compile $ do
|
||||
identifier <- getUnderlying
|
||||
metadata <- getMetadata identifier
|
||||
let language = lookupString "language" metadata
|
||||
let lang = fromMaybe "en" language
|
||||
|
||||
posts <- recentFirst =<< loadAll "posts/*"
|
||||
let archiveCtx =
|
||||
listField "posts" postCtx (return posts) `mappend`
|
||||
constField "title" "Archives" `mappend`
|
||||
constField "language" "en" `mappend`
|
||||
langDict "en" <>
|
||||
listField "posts" (postCtx language) (return posts) <>
|
||||
constField "title" "Archives" <>
|
||||
constField "language" lang <>
|
||||
langDict lang <>
|
||||
defaultContext
|
||||
|
||||
makeItem ""
|
||||
@ -73,12 +99,17 @@ main = hakyll $ do
|
||||
route idRoute
|
||||
compile $ do
|
||||
ident <- getUnderlying
|
||||
language <- getMetadataField' ident "language"
|
||||
kits <- recentFirst =<< loadAll "pages/en/plamo/**"
|
||||
|
||||
-- language <- getMetadataField' ident "language"
|
||||
identifier <- getUnderlying
|
||||
metadata <- getMetadata identifier
|
||||
let language = lookupString "language" metadata
|
||||
let lang = fromMaybe "en" language
|
||||
|
||||
let plamoCtx =
|
||||
listField "kits" postCtx (return kits) <>
|
||||
langDict language <>
|
||||
listField "kits" (postCtx language) (return kits) <>
|
||||
langDict lang <>
|
||||
defaultContext
|
||||
|
||||
getResourceBody
|
||||
@ -97,7 +128,12 @@ main = hakyll $ do
|
||||
posts <- recentFirst =<< loadAll "posts/*"
|
||||
now <- unsafeCompiler getCurrentTime
|
||||
ident <- getUnderlying
|
||||
language <- getMetadataField' ident "language"
|
||||
--language <- getMetadataField' ident "language"
|
||||
|
||||
identifier <- getUnderlying
|
||||
metadata <- getMetadata identifier
|
||||
let language = lookupString "language" metadata
|
||||
let lang = fromMaybe "en" language
|
||||
|
||||
-- Seven days from today.
|
||||
let cutoff = addUTCTime (7 * 24 * 60 * 60) now
|
||||
@ -109,9 +145,9 @@ main = hakyll $ do
|
||||
|
||||
let indexCtx =
|
||||
-- (<> is the modern version of `mappend`.)
|
||||
listField "posts" postCtx (return posts) <>
|
||||
listField "events" postCtx (return events) <>
|
||||
langDict language <>
|
||||
listField "posts" (postCtx language) (return posts) <>
|
||||
listField "events" (postCtx language) (return events) <>
|
||||
langDict lang <>
|
||||
defaultContext
|
||||
|
||||
getResourceBody
|
||||
@ -128,11 +164,13 @@ staticPageContext =
|
||||
langDict "en" <>
|
||||
defaultContext
|
||||
|
||||
postCtx :: Context String
|
||||
postCtx =
|
||||
dateField "date" "%e %B %Y" `mappend`
|
||||
constField "language" "en" `mappend`
|
||||
langDict "en" <>
|
||||
postCtx :: Maybe String -> Context String
|
||||
postCtx language =
|
||||
let lang = fromMaybe "en" language
|
||||
in
|
||||
dateField "date" "%e %B %Y" <>
|
||||
constField "language" lang <>
|
||||
langDict lang <>
|
||||
defaultContext
|
||||
|
||||
isUpcoming :: UTCTime -> Item a -> Compiler Bool
|
||||
@ -153,6 +191,8 @@ langDict "nl" =
|
||||
constField "title-plamo" "Plamo" <>
|
||||
constField "title-radio" "Radio" <>
|
||||
constField "title-software" "Software" <>
|
||||
constField "text-plamo-not-ready" "Deze model-kit heeft nog geen gepubliceerd werk." <>
|
||||
constField "text-plamo-back" "Terug naar plamo kits" <>
|
||||
mempty
|
||||
|
||||
langDict "jp" =
|
||||
@ -162,6 +202,8 @@ langDict "jp" =
|
||||
constField "title-plamo" "プラモ" <>
|
||||
constField "title-radio" "ラジオ" <>
|
||||
constField "title-software" "ソフトウェア" <>
|
||||
constField "text-plamo-not-ready" "この模型キットには、まだ制作例が公開されていません。" <>
|
||||
constField "text-plamo-back" "プラモデルキットに戻る" <>
|
||||
mempty
|
||||
|
||||
langDict "en" =
|
||||
@ -171,6 +213,8 @@ langDict "en" =
|
||||
constField "title-plamo" "Plamo" <>
|
||||
constField "title-radio" "Radio" <>
|
||||
constField "title-software" "Software" <>
|
||||
constField "text-plamo-not-ready" "This model kit has no work published for it yet." <>
|
||||
constField "text-plamo-back" "Back to plamo kits" <>
|
||||
mempty
|
||||
|
||||
langDict _ = mempty
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user