packages feed

markup 0.0.6.1 → 0.0.7

raw patch · 5 files changed

+82/−55 lines, 5 files

Files

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