markup 0.0.6.1 → 0.0.7
raw patch · 5 files changed
+82/−55 lines, 5 files
Files
- markup.cabal +1/−1
- src/Data/Markup.hs +5/−6
- src/Data/Markup/Class.hs +6/−11
- src/Data/Markup/Library.hs +62/−27
- src/Data/Markup/Types.hs +8/−10
markup.cabal view
@@ -1,5 +1,5 @@ Name: markup-Version: 0.0.6.1+Version: 0.0.7 Author: Athan Clark <athan.clark@gmail.com> Maintainer: Athan Clark <athan.clark@gmail.com> License: MIT
src/Data/Markup.hs view
@@ -1,8 +1,7 @@ module Data.Markup- ( module Data.Markup.Types- , module Data.Markup.Class- , module Data.Markup.Library ) where+ ( module X+ ) where -import Data.Markup.Types-import Data.Markup.Class-import Data.Markup.Library+import Data.Markup.Types as X+import Data.Markup.Class as X+import Data.Markup.Library as X
src/Data/Markup/Class.hs view
@@ -1,19 +1,14 @@+{-# LANGUAGE AllowAmbiguousTypes #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE KindSignatures #-} {-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE KindSignatures #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE FlexibleContexts #-}-{-# LANGUAGE UndecidableInstances #-}-{-# LANGUAGE AllowAmbiguousTypes #-}+{-# LANGUAGE UndecidableInstances #-} module Data.Markup.Class where -import Data.Markup.Types--import Lucid-import Data.Monoid-import qualified Data.Text as T+import Data.Markup.Types -import Data.Functor.Identity -- | Overload assets and their markup library, over some deployment class Deploy symbol input markup (m :: * -> *) where
src/Data/Markup/Library.hs view
@@ -1,28 +1,27 @@+{-# LANGUAGE ExtendedDefaultRules #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE ExtendedDefaultRules #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE OverloadedStrings #-} module Data.Markup.Library where -import Data.Markup.Class-import Data.Markup.Types+import Data.Markup.Class+import Data.Markup.Types -import UrlPath+import UrlPath -import qualified Lucid as L-import qualified Lucid.Base as LBase+import qualified Lucid as L+import qualified Lucid.Base as LBase -import qualified Text.Blaze.Html5 as H+import qualified Text.Blaze.Html5 as H import qualified Text.Blaze.Html5.Attributes as A-import qualified Text.Blaze.Internal as HI+import qualified Text.Blaze.Internal as HI -import qualified Data.Text as T-import qualified Data.Text.Lazy as LT+import qualified Data.Text as T+import qualified Data.Text.Lazy as LT -import Data.Monoid-import Control.Monad.Trans+import Control.Monad.Trans -- | The Image symbol data Image = Image deriving (Show, Eq)@@ -44,16 +43,18 @@ deploy Image i = return $ L.img_ [L.src_ i] -instance Monad m =>+instance ( Monad m+ , Url T.Text m ) => Deploy Image T.Text (LBase.HtmlT m ()) LocalMarkupM where- deploy Image i = return $- L.img_ [L.src_ i]+ deploy Image i = return $ do+ link <- lift $ plainUrl i+ L.img_ [L.src_ link] instance Url T.Text m => Deploy Image (UrlString T.Text) (LBase.HtmlT m ()) LocalMarkupM where deploy Image i = return $ do- url <- lift $ url i- L.img_ [L.src_ url]+ link <- lift $ url i+ L.img_ [L.src_ link] instance ( Monad m , Monad m' ) =>@@ -62,17 +63,19 @@ L.img_ [L.src_ i] instance ( Monad m- , Monad m' ) =>+ , Monad m'+ , Url T.Text m ) => Deploy Image T.Text (LBase.HtmlT m ()) (LocalMarkupT m') where- deploy Image i = return $- L.img_ [L.src_ i]+ deploy Image i = return $ do+ link <- lift $ plainUrl i+ L.img_ [L.src_ link] instance ( Url T.Text m , Monad m' ) => Deploy Image (UrlString T.Text) (LBase.HtmlT m ()) (LocalMarkupT m') where deploy Image i = return $ do- url <- lift $ url i- L.img_ [L.src_ url]+ link <- lift $ url i+ L.img_ [L.src_ link] -- JS instances @@ -94,9 +97,15 @@ instance Url T.Text m => Deploy JavaScript (UrlString T.Text) (LBase.HtmlT m ()) LocalMarkupM where deploy JavaScript i = return $ do- url <- lift $ url i- L.script_ [L.src_ url] ("" :: T.Text)+ link <- lift $ url i+ L.script_ [L.src_ link] ("" :: T.Text) +instance Url T.Text m =>+ Deploy JavaScript T.Text (LBase.HtmlT m ()) LocalMarkupM where+ deploy JavaScript i = return $ do+ link <- lift $ plainUrl i+ L.script_ [L.src_ link] ("" :: T.Text)+ instance ( Monad m , Monad m' ) => Deploy JavaScript T.Text (LBase.HtmlT m ()) (InlineMarkupT m') where@@ -117,6 +126,13 @@ instance ( Url T.Text m , Monad m' ) =>+ Deploy JavaScript T.Text (LBase.HtmlT m ()) (LocalMarkupT m') where+ deploy JavaScript i = return $ do+ link <- lift $ plainUrl i+ L.script_ [L.src_ link] ("" :: T.Text)++instance ( Url T.Text m+ , Monad m' ) => Deploy JavaScript (UrlString T.Text) (LBase.HtmlT m ()) (LocalMarkupT m') where deploy JavaScript i = return $ do link <- lift $ url i@@ -143,6 +159,15 @@ ] instance Url T.Text m =>+ Deploy Css T.Text (LBase.HtmlT m ()) LocalMarkupM where+ deploy Css i = return $ do+ link <- lift $ plainUrl i+ L.link_ [ L.rel_ "stylesheet"+ , L.type_ "text/css"+ , L.href_ link+ ]++instance Url T.Text m => Deploy Css (UrlString T.Text) (LBase.HtmlT m ()) LocalMarkupM where deploy Css i = return $ do link <- lift $ url i@@ -171,6 +196,16 @@ , L.type_ "text/css" , L.href_ i ]++instance ( Url T.Text m+ , Monad m' ) =>+ Deploy Css T.Text (LBase.HtmlT m ()) (LocalMarkupT m') where+ deploy Css i = return $ do+ link <- lift $ plainUrl i+ L.link_ [ L.rel_ "stylesheet"+ , L.type_ "text/css"+ , L.href_ link+ ] instance ( Url T.Text m , Monad m' ) =>
src/Data/Markup/Types.hs view
@@ -1,17 +1,15 @@+{-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE DeriveFunctor #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE FlexibleContexts #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE StandaloneDeriving #-} module Data.Markup.Types where -import Data.Monoid-import Control.Applicative-import Control.Monad-import Control.Monad.Trans-import Control.Monad.Reader.Class+import Control.Applicative+import Control.Monad.Trans+import Data.Monoid