module Bamboo.Theme.MiniHTML5.Widget.Helper where
import Bamboo.Theme.MiniHTML5.Env hiding (link, p)
import qualified Bamboo.Model.Tag as Tag
import qualified Bamboo.Type as C
import qualified Bamboo.Type.State as State
import MPS
import Data.Maybe
rss_url_link_pair :: State.State -> (String, MoeUnit)
rss_url_link_pair s =
if tagged
then link ( s.config.tag_id / tag_name) tag_name
else link "" home_nav
where
tag_name = Tag.get_name uid
uid = State.uid s
tagged = uid.match "^tag/.+" .isJust
url r = s.env.slashed_script_name / r / "rss.xml"
link r x = (url r, a [href r, _class "feed"] div [_class "feedlink"] str x)
tag_link :: State -> String -> MoeUnit
tag_link s x = a [href s.env.slashed_script_name / s.config.tag_id / x ] str x
nav :: Pager -> String -> MoeUnit
nav p r = nav' do
nav_previous
nav_next
where
r' = if r.ends_with "&" then r else r ++ "?"
space_html = str " "
nav_previous =
if p.has_previous
then
a [_class "previous", href r' ++ "page=" ++ p.previous.show]
str "« Next Entries"
else space_html
nav_next =
if p.has_next
then
a [_class "next", href r' ++ "page=" ++ p.next.show]
str "Previous Entries »"
else space_html