[do not include blog theming in default Theme type Jeremy Shaw **20130128191253 Ignore-this: 7ce4a61b1b6d1e310abc6ab7443bd87 ] hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 5 - , getPage - , getPageId - , getPageTitle - , getPageTitleSlug - , getPageContent +-- , getPage +-- , getPageId +-- , getPageTitle +-- , getPageTitleSlug +-- , getPageContent hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 19 +import Clckwrks.Acid (GetUACCT(..)) hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 24 - , Slug(..), GetUACCT(..), AllPosts(..), GetBlogTitle(..)) -import Clckwrks.Page.Monad ( markupToContent ) + , Slug(..), AllPosts(..), GetBlogTitle(..)) +import Clckwrks.Page.Monad ( PageM, markupToContent ) +import Clckwrks.Page.URL ( PageURL(ViewPageSlug)) hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 39 - -getPage :: Clck url Page +{- +getPage :: PageM Page hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 48 -getPageId :: Clck url PageId +getPageId :: PageM PageId hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 51 -getPageTitle :: Clck url Text +getPageTitle :: PageM Text hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 54 -getPageTitleSlug :: Clck url (Text, Maybe Slug) +getPageTitleSlug :: PageM (Text, Maybe Slug) hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 59 -getPageContent :: Clck url Content +getPageContent :: PageM Content hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 63 - -getPagesSummary :: Clck url [(PageId, Text, Maybe Slug)] +-} +getPagesSummary :: PageM [(PageId, Text, Maybe Slug)] hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 67 -getPageMenu :: GenXML (Clck ClckURL) +getPageMenu :: GenXML PageM hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 76 -getPageSummary :: PageId -> Clck url Content +getPageSummary :: PageId -> PageM Content hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 85 -getBlogTitle :: Clck url Text +getBlogTitle :: PageM Text hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 115 -getPosts :: XMLGenT (Clck url) [Page] +getPosts :: XMLGenT (PageM) [Page] hunk ./clckwrks-plugin-page/Clckwrks/Page/API.hs 125 -googleAnalytics :: XMLGenT (Clck url) XML +googleAnalytics :: XMLGenT (PageM) XML addfile ./clckwrks-plugin-page/Clckwrks/Page/BlogPage.hs hunk ./clckwrks-plugin-page/Clckwrks/Page/BlogPage.hs 1 +{-# LANGUAGE RecordWildCards #-} +{-# OPTIONS_GHC -F -pgmFtrhsx #-} +module Clckwrks.Page.BlogPage where + +import Clckwrks +import Clckwrks.Page.API +import Clckwrks.Page.Monad +import Clckwrks.Page.Types +import Clckwrks.Page.URL +import Control.Monad.State (get) + +postsHTML :: XMLGenT PageM XML +postsHTML = + do posts <- getPosts +
    + <% mapM postHTML posts %> +
+ +postHTML :: Page -> XMLGenT PageM XML +postHTML Page{..} = +
  • +

    <% pageTitle %>

    + <% pageDate %> + <% (markupToContent pageSrc) :: PageM Content %> +

    permalink

    +
  • + +blog :: PageM Response +blog = + do ttl <- getBlogTitle + cs <- get + + bdy <- unXMLGenT $ +
    + <% postsHTML %> +
    + + clckT2PageT $ themeTemplate (plugins cs) ttl () bdy hunk ./clckwrks-plugin-page/Clckwrks/Page/Route.hs 5 -import Clckwrks.Monad ( ClckState(plugins), Theme(themeBlog), query +import Clckwrks.Monad ( ClckState(plugins), query hunk ./clckwrks-plugin-page/Clckwrks/Page/Route.hs 18 +import Clckwrks.Page.BlogPage (blog) hunk ./clckwrks-plugin-page/Clckwrks/Page/Route.hs 79 - (Blog) -> - do p <- plugins <$> get - mTheme <- getTheme p - case mTheme of - Nothing -> escape $ internalServerError $ toResponse $ ("No theme package is loaded." :: Text) - (Just theme) -> - do xml <- clckT2PageT (unXMLGenT $ themeBlog theme) - ok $ toResponse xml + (Blog) -> blog hunk ./clckwrks-plugin-page/clckwrks-plugin-page.cabal 28 --- Clckwrks.Page.API + Clckwrks.Page.API hunk ./clckwrks-plugin-page/clckwrks-plugin-page.cabal 30 + Clckwrks.Page.BlogPage hunk ./clckwrks-theme-bootstrap/Theme.hs 15 - , themeBlog = blog +-- , themeBlog = blog hunk ./clckwrks-theme-bootstrap/Theme.hs 44 +{- hunk ./clckwrks-theme-bootstrap/Theme.hs 48 -{- hunk ./clckwrks/Clckwrks/Monad.hs 119 - , themeBlog :: XMLGenT (ClckT ClckURL (ServerPartT IO)) XML +-- , themeBlog :: XMLGenT (ClckT ClckURL (ServerPartT IO)) XML