3 import Data.List qualified as List
4 import Data.Map.Strict qualified as Map
7 import Text.Blaze.Html5 ((!))
8 import Text.Blaze.Html5 qualified as H
9 --import Text.Blaze.Html5.Attributes qualified as A
15 renderTags :: Model -> Maybe H.Html
17 let tags = allTags model
21 H.aside ! classes ["mb-3"] $
22 H.nav ! classes [ "tags"
29 ! classes [ "bg-black"
38 ! classes ["flex", "flex-wrap", "justify-start", "p-2"]
42 renderTag :: Model -> Bool -> Tag -> H.Html
43 renderTag model showCount tag =
49 , "hover:bg-yellow-400"
57 ! hrefRoute model (RouteFilter (Filter Nothing (Just tag)))
59 openIconic "tag" ! classes ["inline-block", "m-1"]
60 H.span ! classes ["inline-block"] $ H.text $ unTag tag
61 memptyIfFalse showCount $
63 ! classes ["ml-1", "text-gray-500"]
68 List.filter (tag `elem`) $
69 metaTags . pageMeta <$> Map.elems (modelPosts model)