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" "Hakyll と Bootstrap を使用し、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 @@