Abstract spans concept for new bootstrap

This commit is contained in:
Chris Done 2014-05-28 12:35:00 +02:00
parent 97a7220d63
commit 630a9b0763
8 changed files with 66 additions and 45 deletions

View file

@ -1,7 +1,9 @@
{-# LANGUAGE OverloadedStrings #-}
-- | View library.
module HL.V
(module V)
(module HL.V
,module V)
where
import HL.Foundation as V (Route(..),App)
@ -11,5 +13,21 @@ import Control.Monad as V
import Data.Text as V (Text)
import Prelude as V hiding (span,head,min,max,id,div)
import Senza as V
import Senza.Bootstrap as V
import Senza.Bootstrap as V (container,row)
import Yesod.Senza as V
-- Latest Bootstrap requires extra work to get the old grid layout
-- behaviour of spans. I'll probably move this into senza.
span1 xs = div ([class_ "span1 col-md-1"] ++ xs)
span2 xs = div ([class_ "span2 col-md-2"] ++ xs)
span3 xs = div ([class_ "span3 col-md-3"] ++ xs)
span4 xs = div ([class_ "span4 col-md-4"] ++ xs)
span5 xs = div ([class_ "span5 col-md-5"] ++ xs)
span6 xs = div ([class_ "span6 col-md-6"] ++ xs)
span7 xs = div ([class_ "span7 col-md-7"] ++ xs)
span8 xs = div ([class_ "span8 col-md-8"] ++ xs)
span9 xs = div ([class_ "span9 col-md-9"] ++ xs)
span10 xs = div ([class_ "span10 col-md-10"] ++ xs)
span11 xs = div ([class_ "span11 col-md-11"] ++ xs)
span12 xs = div ([class_ "span12 col-md-12"] ++ xs)

View file

@ -18,6 +18,7 @@ communityV =
container
(row
(span12
[]
(do h1 [] "Community"
p []
"The Haskell community is spread out online across several mediums \

View file

@ -19,6 +19,7 @@ documentationV =
container
(row
(span12
[]
(do h1 [] "Documentation"
online
report url))))

View file

@ -27,14 +27,14 @@ header url =
div [class_ "header"]
(container
(row
(do div [class_ "span6 col-md-6"]
(div [class_ "branding"]
(do branding
summation))
div [class_ "span6 col-md-6"]
(div [class_ "branding"]
(do tag
sample)))))
(do span6 []
(div [class_ "branding"]
(do branding
summation))
span6 []
(div [class_ "branding"]
(do tag
sample)))))
where branding =
span [class_ "name"
,background url img_logo_png]
@ -59,8 +59,8 @@ try =
div [class_ "try"]
(container
(row
(do div [class_ "span6 col-md-6"] repl
div [class_ "span6 col-md-6"] rhs)))
(do span6 [] repl
span6 [] rhs)))
where
repl =
do h2 [] "Try it"
@ -91,42 +91,42 @@ community url =
,background url img_community_png]
(do container
(do row
(div [class_ "span8 col-md-8"]
(do h1 []
"An open source community effort for over 20 years"
p [class_ "learn-more"]
(a [href (url CommunityR)]
"Learn more")))))
(span8 []
(do h1 []
"An open source community effort for over 20 years"
p [class_ "learn-more"]
(a [href (url CommunityR)]
"Learn more")))))
features :: Senza
features =
div [class_ "features"]
(container
(do h1 [] "Features"
row (do div [class_ "span6 col-md-6"]
(do h2 [] "Purely functional"
p [] lorem
p [] (a [] "View examples"))
div [class_ "span6 col-md-6"]
(do h2 [] "Statically typed"
p [] lorem
p [] (a [] "View examples")))
row (do div [class_ "span6 col-md-6"]
(do h2 [] "Concurrent"
p [] lorem
p [] (a [] "View examples"))
div [class_ "span6 col-md-6"]
(do h2 [] "Type inference"
p [] lorem
p [] (a [] "View examples")))
row (do div [class_ "span6 col-md-6"]
(do h2 [] "Lazy"
p [] lorem
p [] (a [] "View examples"))
div [class_ "span6 col-md-6"]
(do h2 [] "Packages"
p [] lorem
p [] (a [] "View examples")))))
row (do span6 []
(do h2 [] "Purely functional"
p [] lorem
p [] (a [] "View examples"))
span6 []
(do h2 [] "Statically typed"
p [] lorem
p [] (a [] "View examples")))
row (do span6 []
(do h2 [] "Concurrent"
p [] lorem
p [] (a [] "View examples"))
span6 []
(do h2 [] "Type inference"
p [] lorem
p [] (a [] "View examples")))
row (do span6 []
(do h2 [] "Lazy"
p [] lorem
p [] (a [] "View examples"))
span6 []
(do h2 [] "Packages"
p [] lorem
p [] (a [] "View examples")))))
where
lorem =
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean viverra nisl non elit consectetur sodales. Ut condimentum odio in augue scelerisque, eget ultricies arcu placerat. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mauris a blandit purus, vitae tincidunt leo. "

View file

@ -13,4 +13,4 @@ markdownV routes t inner =
template
routes
t
(const (container (row (span12 inner))))
(const (container (row (span12 [] inner))))

View file

@ -18,5 +18,6 @@ newsV inner =
container
(do row
(span12
[]
(do h1 [] "News"))
inner))

View file

@ -18,5 +18,4 @@ reportV year _ inner =
(\_ ->
container
(row
(span12
inner)))
(span12 [] inner)))

View file

@ -32,6 +32,7 @@ wikiV urlr result =
container
(row
(span12
[]
(case result of
Left err ->
do h1 [] "Wiki page retrieval problem!"