From 0a4d3c8f12dc5797a919a00b6bcaf759947687cc Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 17 Jun 2018 23:24:47 +0200 Subject: Add ouest france parser --- src/View/Html/Ad.hs | 110 ---------------------------------------------------- 1 file changed, 110 deletions(-) delete mode 100644 src/View/Html/Ad.hs (limited to 'src/View/Html/Ad.hs') diff --git a/src/View/Html/Ad.hs b/src/View/Html/Ad.hs deleted file mode 100644 index 53e63bf..0000000 --- a/src/View/Html/Ad.hs +++ /dev/null @@ -1,110 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} - -module View.Html.Ad - ( renderAds - ) where - -import Data.Text (Text) -import qualified Data.Text as T -import Data.Text.Lazy (toStrict) -import Data.Maybe (catMaybes) -import Data.List (intersperse) -import Data.Map (Map) -import qualified Data.Map as M - -import Text.Blaze.Html -import Text.Blaze.Html5 (Html) -import qualified Text.Blaze.Html5 as H -import qualified Text.Blaze.Html5.Attributes as A -import Text.Blaze.Html.Renderer.Text (renderHtml) -import Text.Blaze.Internal (textValue) - -import Model.Ad (Ad) -import qualified Model.Ad as Ad - -import Model.Resume (Resume) -import qualified Model.Resume as Resume - -import Model.Detail (Detail) -import qualified Model.Detail as Detail - -import Model.URL -import Conf (Conf) -import qualified Conf - -import qualified View.Html.Design as Design - -renderAds :: Conf -> [Ad] -> Text -renderAds conf = toStrict . renderHtml . (adsHtml conf) - -adsHtml :: Conf -> [Ad] -> Html -adsHtml conf ads = do mapM_ (adHtml conf) ads - -adHtml :: Conf -> Ad -> Html -adHtml conf ad = - let resume = Ad.resume ad - detail = Ad.detail ad - in do - resumeHtml resume - detailHtml conf detail - -resumeHtml :: Resume -> Html -resumeHtml resume = do - H.h1 $ do - (toHtml . Resume.name $ resume) - case Resume.price resume of - Just price -> - H.span - ! A.class_ "price" - ! A.style (textValue . toStrict $ Design.price) - $ toHtml price - Nothing -> - H.span "" - if Resume.isPro resume - then - H.span - ! A.class_ "pro" - ! A.style (textValue . toStrict $ Design.pro) - $ "PRO" - else - "" - linkHtml (Resume.url resume) - -detailHtml :: Conf -> Detail -> Html -detailHtml conf detail = do - propertiesHtml (Conf.properties conf) (Detail.properties detail) - case Detail.description detail of - Just description -> - descriptionHtml description - Nothing -> - H.div "" - mapM_ imageLinkHtml (Detail.images detail) - -propertiesHtml :: [Text] -> Map Text Text -> Html -propertiesHtml keys properties = - H.dl - ! A.style (textValue . toStrict $ Design.definitionList) - $ sequence_ (catMaybes $ map (propertyHtml properties) keys) - -propertyHtml :: Map Text Text -> Text -> Maybe Html -propertyHtml properties key = - fmap - (\value -> do - H.dt $ (toHtml key) - H.dd ! A.style (textValue . toStrict $ Design.definitionDescription) $ (toHtml value) - ) - (M.lookup key properties) - -descriptionHtml :: Text -> Html -descriptionHtml = H.p . sequence_ . intersperse H.br . fmap toHtml . T.lines - -linkHtml :: URL -> Html -linkHtml url = - H.a ! A.href (textValue url) $ (toHtml url) - -imageLinkHtml :: URL -> Html -imageLinkHtml url = - H.a ! A.href (textValue url) $ - H.img - ! A.src (textValue url) - ! A.alt (textValue url) -- cgit v1.2.3