bamboo-theme-mini-html5-2009.11.3: src/Bamboo/Theme/MiniHTML5/Widget/Sidebar.hs
{-# LANGUAGE NoImplicitPrelude #-}
module Bamboo.Theme.MiniHTML5.Widget.Sidebar where
import Bamboo.Theme.MiniHTML5.Env
import Bamboo.Theme.MiniHTML5.Widget.Helper
import qualified Bamboo.Model.Tag as Tag
import qualified Bamboo.Type.Config as C
import qualified Bamboo.Type.State as State
import qualified Bamboo.Type.StaticWidget as Sidebar
import qualified Data.Set as Set
sidebar :: Widget
sidebar s =
aside [_class "sidebar"] - do
section' - do
header' - str "Subscribe"
rss_url_link_pair s .snd
hr'
section' - do
header' - str "Tags"
ul' - do
s.State.tags.Tag.sorted.mapM_ tag_link'
s.config.C.sidebar.mapM_ custom_side
where
custom_side x = do
hr'
section' - do
header' - str - x.Sidebar.name
raw - x.markup.show_html
tag_link' x = li' - do
a [href - s.env.slashed_script_name / x.Tag.uid] - str - x.Tag.name
str - " (" ++ x.Tag.resources.Set.size.show ++ ")"