properly add the extra metadata to all pages, even tags

This commit is contained in:
Mirek Kratochvil 2023-10-16 13:15:07 +02:00
parent fee144a3ec
commit fca3de03e3
2 changed files with 13 additions and 13 deletions

View file

@ -197,10 +197,11 @@ checkedSubstitute t v = do
-- | Add global information to page metadata for rendering (at this point just the url base)
addGlobalMeta :: Y.Value -> Site MT.Value
addGlobalMeta (Y.Object m) = do
addGlobalMeta meta = do
r <- use urlBase
rt <- rootedLink'
rtp <- rootedPageLink'
Y.Object m <- (`objMerge` meta) <$> use extraMeta
let l = map (\(k, v) -> (K.toText k, Mu.toMustache v)) $ KM.toList m
pure . Mu.object $ l ++
[ ("root", Mu.toMustache $ T.pack r)
@ -219,10 +220,9 @@ addExtraMeta :: PageInfo -> Y.Value -> Site Y.Value
addExtraMeta pi m = do
metaPath <- metadataFile $ pi ^. pagePath
metaExists <- io $ doesFileExist metaPath
gem <- use extraMeta
objMerge gem <$>
if metaExists
then do
io $ putStrLn ("M <- " ++ metaPath)
em' <- io $ Y.decodeFileEither metaPath
case em' of
Left pe ->