diff --git a/portfolio/site.hs b/portfolio/site.hs index 5c2012c..c0505d4 100644 --- a/portfolio/site.hs +++ b/portfolio/site.hs @@ -147,6 +147,7 @@ main = hakyll $ do let plamoCtx = listField "kits" (kitCtx lang) (return kits) <> + lastUpdateField lang <> langDict lang <> defaultContext @@ -183,6 +184,7 @@ main = hakyll $ do listField "binding_particles" (postCtx lang) (return binding_particles) <> listField "verbs" (postCtx lang) (return verbs) <> listField "other" (postCtx lang) (return other) <> + lastUpdateField lang <> langDict lang <> defaultContext @@ -210,6 +212,7 @@ main = hakyll $ do let radioCtx = listField "antenna" (postCtx lang) (return antenna) <> listField "fielddays" (postCtx lang) (return fielddays) <> + lastUpdateField lang <> langDict lang <> defaultContext @@ -235,6 +238,7 @@ main = hakyll $ do let softwareCtx = listField "projects" (postCtx lang) (return projects) <> + lastUpdateField lang <> langDict lang <> defaultContext @@ -259,6 +263,7 @@ main = hakyll $ do let softwareCtx = listField "blazorPages" (postCtx lang) (return blazorPages) <> + lastUpdateField lang <> langDict lang <> defaultContext @@ -283,6 +288,7 @@ main = hakyll $ do let softwareCtx = listField "elmPages" (postCtx lang) (return elmPages) <> + lastUpdateField lang <> langDict lang <> defaultContext @@ -307,6 +313,7 @@ main = hakyll $ do let softwareCtx = listField "haskellPages" (postCtx lang) (return haskellPages) <> + lastUpdateField lang <> langDict lang <> defaultContext @@ -331,6 +338,7 @@ main = hakyll $ do let equipmentCtx = listField "equipment" (postCtx lang) (return equipment) <> + lastUpdateField lang <> langDict lang <> defaultContext @@ -352,6 +360,7 @@ main = hakyll $ do let lang = fromMaybe "en" language let paintsCtx = + lastUpdateField lang <> langDict lang <> defaultContext @@ -376,6 +385,7 @@ main = hakyll $ do let eventsCtx = listField "events" (postCtx lang) (return events) <> + lastUpdateField lang <> langDict lang <> defaultContext @@ -400,6 +410,7 @@ main = hakyll $ do let postsCtx = listField "posts" (postCtx lang) (return posts) <> + lastUpdateField lang <> langDict lang <> defaultContext @@ -438,6 +449,7 @@ main = hakyll $ do -- (<> is the modern version of `mappend`.) listField "posts" (postCtx lang) (return posts) <> listField "events" (postCtx lang) (return events) <> + lastUpdateField lang <> langDict lang <> defaultContext @@ -453,6 +465,7 @@ main = hakyll $ do -------------------------------------------------------------------------------- staticPageContext :: Context String staticPageContext = + lastUpdateField "en" <> langDict "en" <> defaultContext @@ -493,6 +506,13 @@ formatDate lang s = Just day -> formatTime (localeFor lang) (formatStringFor lang) day Nothing -> s +lastUpdateField :: String -> Context a +lastUpdateField lang = + field "last-update" $ \_ -> do + now <- unsafeCompiler getCurrentTime + let dayString = formatTime defaultTimeLocale "%Y-%m-%d" now + pure $ formatDate lang dayString + postCtx :: String -> Context String postCtx language = let @@ -508,6 +528,7 @@ postCtx language = dateField "date" "%e %B %Y" <> constField "language" language <> formattedDateField <> + lastUpdateField language <> langDict language <> defaultContext @@ -577,6 +598,7 @@ langDict "nl" = constField "table-plamo-venue" "Venue" <> constField "table-plamo-location" "Locatie" <> constField "footer" "Deze website is gebouwd met Hakyll en Bootstrap, met Docker containers en Nginx op een Strato VPS." <> + constField "last-update-text" "Website geüpdate" <> mempty langDict "jp" = @@ -625,6 +647,7 @@ langDict "jp" = constField "table-plamo-venue" "購入場所" <> constField "table-plamo-location" "場所" <> constField "footer" "HakyllBootstrap を使用し、Docker コンテナと Nginx を用いた Strato VPS 上で誇りをもって生成されています。" <> + constField "last-update-text" "最終更新" <> mempty langDict "en" = @@ -673,6 +696,7 @@ langDict "en" = constField "table-plamo-venue" "Venue" <> constField "table-plamo-location" "Location" <> constField "footer" "Site proudly generated by Hakyll and Bootstrap, using Docker containers with Nginx on a Strato VPS." <> + constField "last-update-text" "Last update" <> mempty langDict _ = mempty diff --git a/portfolio/templates/default.html b/portfolio/templates/default.html index d62959b..a371b56 100644 --- a/portfolio/templates/default.html +++ b/portfolio/templates/default.html @@ -23,7 +23,7 @@