1
0

Add timestamp of last render date in footer.

This commit is contained in:
Kevin Matsubara 2026-03-01 20:17:41 +01:00
parent 989ca4b683
commit cca0443908
2 changed files with 25 additions and 1 deletions

View File

@ -147,6 +147,7 @@ main = hakyll $ do
let plamoCtx = let plamoCtx =
listField "kits" (kitCtx lang) (return kits) <> listField "kits" (kitCtx lang) (return kits) <>
lastUpdateField lang <>
langDict lang <> langDict lang <>
defaultContext defaultContext
@ -183,6 +184,7 @@ main = hakyll $ do
listField "binding_particles" (postCtx lang) (return binding_particles) <> listField "binding_particles" (postCtx lang) (return binding_particles) <>
listField "verbs" (postCtx lang) (return verbs) <> listField "verbs" (postCtx lang) (return verbs) <>
listField "other" (postCtx lang) (return other) <> listField "other" (postCtx lang) (return other) <>
lastUpdateField lang <>
langDict lang <> langDict lang <>
defaultContext defaultContext
@ -210,6 +212,7 @@ main = hakyll $ do
let radioCtx = let radioCtx =
listField "antenna" (postCtx lang) (return antenna) <> listField "antenna" (postCtx lang) (return antenna) <>
listField "fielddays" (postCtx lang) (return fielddays) <> listField "fielddays" (postCtx lang) (return fielddays) <>
lastUpdateField lang <>
langDict lang <> langDict lang <>
defaultContext defaultContext
@ -235,6 +238,7 @@ main = hakyll $ do
let softwareCtx = let softwareCtx =
listField "projects" (postCtx lang) (return projects) <> listField "projects" (postCtx lang) (return projects) <>
lastUpdateField lang <>
langDict lang <> langDict lang <>
defaultContext defaultContext
@ -259,6 +263,7 @@ main = hakyll $ do
let softwareCtx = let softwareCtx =
listField "blazorPages" (postCtx lang) (return blazorPages) <> listField "blazorPages" (postCtx lang) (return blazorPages) <>
lastUpdateField lang <>
langDict lang <> langDict lang <>
defaultContext defaultContext
@ -283,6 +288,7 @@ main = hakyll $ do
let softwareCtx = let softwareCtx =
listField "elmPages" (postCtx lang) (return elmPages) <> listField "elmPages" (postCtx lang) (return elmPages) <>
lastUpdateField lang <>
langDict lang <> langDict lang <>
defaultContext defaultContext
@ -307,6 +313,7 @@ main = hakyll $ do
let softwareCtx = let softwareCtx =
listField "haskellPages" (postCtx lang) (return haskellPages) <> listField "haskellPages" (postCtx lang) (return haskellPages) <>
lastUpdateField lang <>
langDict lang <> langDict lang <>
defaultContext defaultContext
@ -331,6 +338,7 @@ main = hakyll $ do
let equipmentCtx = let equipmentCtx =
listField "equipment" (postCtx lang) (return equipment) <> listField "equipment" (postCtx lang) (return equipment) <>
lastUpdateField lang <>
langDict lang <> langDict lang <>
defaultContext defaultContext
@ -352,6 +360,7 @@ main = hakyll $ do
let lang = fromMaybe "en" language let lang = fromMaybe "en" language
let paintsCtx = let paintsCtx =
lastUpdateField lang <>
langDict lang <> langDict lang <>
defaultContext defaultContext
@ -376,6 +385,7 @@ main = hakyll $ do
let eventsCtx = let eventsCtx =
listField "events" (postCtx lang) (return events) <> listField "events" (postCtx lang) (return events) <>
lastUpdateField lang <>
langDict lang <> langDict lang <>
defaultContext defaultContext
@ -400,6 +410,7 @@ main = hakyll $ do
let postsCtx = let postsCtx =
listField "posts" (postCtx lang) (return posts) <> listField "posts" (postCtx lang) (return posts) <>
lastUpdateField lang <>
langDict lang <> langDict lang <>
defaultContext defaultContext
@ -438,6 +449,7 @@ main = hakyll $ do
-- (<> is the modern version of `mappend`.) -- (<> is the modern version of `mappend`.)
listField "posts" (postCtx lang) (return posts) <> listField "posts" (postCtx lang) (return posts) <>
listField "events" (postCtx lang) (return events) <> listField "events" (postCtx lang) (return events) <>
lastUpdateField lang <>
langDict lang <> langDict lang <>
defaultContext defaultContext
@ -453,6 +465,7 @@ main = hakyll $ do
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
staticPageContext :: Context String staticPageContext :: Context String
staticPageContext = staticPageContext =
lastUpdateField "en" <>
langDict "en" <> langDict "en" <>
defaultContext defaultContext
@ -493,6 +506,13 @@ formatDate lang s =
Just day -> formatTime (localeFor lang) (formatStringFor lang) day Just day -> formatTime (localeFor lang) (formatStringFor lang) day
Nothing -> s 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 :: String -> Context String
postCtx language = postCtx language =
let let
@ -508,6 +528,7 @@ postCtx language =
dateField "date" "%e %B %Y" <> dateField "date" "%e %B %Y" <>
constField "language" language <> constField "language" language <>
formattedDateField <> formattedDateField <>
lastUpdateField language <>
langDict language <> langDict language <>
defaultContext defaultContext
@ -577,6 +598,7 @@ langDict "nl" =
constField "table-plamo-venue" "Venue" <> constField "table-plamo-venue" "Venue" <>
constField "table-plamo-location" "Locatie" <> constField "table-plamo-location" "Locatie" <>
constField "footer" "Deze website is gebouwd met <a href=\"http://jaspervdj.be/hakyll\" target=\"_blank\" rel=\"noopener noreferrer\">Hakyll</a> en <a href=\"https://getbootstrap.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Bootstrap</a>, met <a href=\"https://www.docker.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Docker</a> containers en <a href=\"https://www.nginx.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Nginx</a> op een <a href=\"https://www.strato.nl/server/vps-linux/\" target=\"_blank\" rel=\"noopener noreferrer\">Strato VPS</a>." <> constField "footer" "Deze website is gebouwd met <a href=\"http://jaspervdj.be/hakyll\" target=\"_blank\" rel=\"noopener noreferrer\">Hakyll</a> en <a href=\"https://getbootstrap.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Bootstrap</a>, met <a href=\"https://www.docker.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Docker</a> containers en <a href=\"https://www.nginx.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Nginx</a> op een <a href=\"https://www.strato.nl/server/vps-linux/\" target=\"_blank\" rel=\"noopener noreferrer\">Strato VPS</a>." <>
constField "last-update-text" "Website geüpdate" <>
mempty mempty
langDict "jp" = langDict "jp" =
@ -625,6 +647,7 @@ langDict "jp" =
constField "table-plamo-venue" "購入場所" <> constField "table-plamo-venue" "購入場所" <>
constField "table-plamo-location" "場所" <> constField "table-plamo-location" "場所" <>
constField "footer" "<a href=\"http://jaspervdj.be/hakyll\" target=\"_blank\" rel=\"noopener noreferrer\">Hakyll</a> と <a href=\"https://getbootstrap.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Bootstrap</a> を使用し、<a href=\"https://www.docker.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Docker</a> コンテナと <a href=\"https://www.nginx.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Nginx</a> を用いた <a href=\"https://www.strato.nl/server/vps-linux/\" target=\"_blank\" rel=\"noopener noreferrer\">Strato VPS</a> 上で誇りをもって生成されています。" <> constField "footer" "<a href=\"http://jaspervdj.be/hakyll\" target=\"_blank\" rel=\"noopener noreferrer\">Hakyll</a> と <a href=\"https://getbootstrap.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Bootstrap</a> を使用し、<a href=\"https://www.docker.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Docker</a> コンテナと <a href=\"https://www.nginx.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Nginx</a> を用いた <a href=\"https://www.strato.nl/server/vps-linux/\" target=\"_blank\" rel=\"noopener noreferrer\">Strato VPS</a> 上で誇りをもって生成されています。" <>
constField "last-update-text" "最終更新" <>
mempty mempty
langDict "en" = langDict "en" =
@ -673,6 +696,7 @@ langDict "en" =
constField "table-plamo-venue" "Venue" <> constField "table-plamo-venue" "Venue" <>
constField "table-plamo-location" "Location" <> constField "table-plamo-location" "Location" <>
constField "footer" "Site proudly generated by <a href=\"http://jaspervdj.be/hakyll\" target=\"_blank\" rel=\"noopener noreferrer\">Hakyll</a> and <a href=\"https://getbootstrap.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Bootstrap</a>, using <a href=\"https://www.docker.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Docker</a> containers with <a href=\"https://www.nginx.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Nginx</a> on a <a href=\"https://www.strato.nl/server/vps-linux/\" target=\"_blank\" rel=\"noopener noreferrer\">Strato VPS</a>." <> constField "footer" "Site proudly generated by <a href=\"http://jaspervdj.be/hakyll\" target=\"_blank\" rel=\"noopener noreferrer\">Hakyll</a> and <a href=\"https://getbootstrap.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Bootstrap</a>, using <a href=\"https://www.docker.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Docker</a> containers with <a href=\"https://www.nginx.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Nginx</a> on a <a href=\"https://www.strato.nl/server/vps-linux/\" target=\"_blank\" rel=\"noopener noreferrer\">Strato VPS</a>." <>
constField "last-update-text" "Last update" <>
mempty mempty
langDict _ = mempty langDict _ = mempty

View File

@ -23,7 +23,7 @@
</div> </div>
<footer class="bg-body-tertiary"> <footer class="bg-body-tertiary">
$footer$ $footer$ <br/> $last-update-text$: $last-update$
</footer> </footer>
</body> </body>