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 ->

View file

@ -15,7 +15,7 @@
{{?subtags}}<h3>Sub-categories</h3>
<ul>
{{#subtags}}
<li>{{name}} (<a href="{{href}}">{{#htag}} » {{name}} {{/htag}}</a>)</li>
<li>{{name}} (<a href="{{href}}">{{#htag}} » {{name}}{{/htag}}</a>)</li>
{{/subtags}}
</ul>
{{/subtags}}