diff --git a/src/Main.hs b/src/Main.hs index 65e29aa..2fcfbcc 100644 --- a/src/Main.hs +++ b/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