1
0

Link tags directly to a directory with a trailing slash

This commit is contained in:
2026-04-08 18:09:22 +02:00
parent e0dddfbb8c
commit 6d7472bc69

View File

@@ -177,18 +177,18 @@ tagsCloud tags
$ forM (tagsMap tags) . go
where
categoryContextF "title" _ = pure . StringField . categoryTitle
categoryContextF "url" _ = pure . StringField . ("/" ++) . categoryTitle
categoryContextF "url" _ = pure . StringField
. ('/' :) . (++ "/") . categoryTitle
categoryContextF "body" _ = pure . StringField . itemBody
categoryContextF key _ = const $ noResult $ "Tried field " ++ key
categoryTitle = last . directoryNames . itemIdentifier
directoryNames = init . splitDirectories .toFilePath
directoryNames = init . splitDirectories . toFilePath
go :: Item String -> (String, [Identifier]) -> Compiler (Item FilePath)
go Item{ itemIdentifier = currentPage } tag = do
let tagId = tagsMakeId tags $ fst tag
go Item{ itemIdentifier = currentPage } (tag, _) = do
let tagId = tagsMakeId tags tag
tagsMetadata <- getMetadataField currentPage "tags"
let isActiveClass
= directoryNames currentPage == directoryNames tagId
|| Just (fst tag) == tagsMetadata
let isActiveClass = directoryNames currentPage == directoryNames tagId
|| Just tag == tagsMetadata
pure $ Item tagId $ if isActiveClass then "active" else ""
withoutRootRoute :: Routes