Link tags directly to a directory with a trailing slash
This commit is contained in:
14
src/Main.hs
14
src/Main.hs
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user