Mirror naming changes in shakespeare

This commit is contained in:
Michael Snoyman 2011-08-18 17:59:25 +03:00
parent bc5079383d
commit a4bfb2a0ca
17 changed files with 79 additions and 80 deletions

View File

@ -2,7 +2,6 @@
CABAL=cabal
$CABAL update
# install testing dependencies
$CABAL install HUnit QuickCheck hspec
@ -11,8 +10,6 @@ for package in $PACKAGES
do
echo Installing $package
cd $package
($CABAL configure --enable-tests ||
($CABAL install --only-dependencies && $CABAL configure --enable-tests)
) && $CABAL build && $CABAL test && ./Setup.lhs install || exit
$CABAL configure --enable-tests && $CABAL build && $CABAL test && ./Setup.lhs install || exit
cd ..
done

View File

@ -39,7 +39,7 @@ import qualified Data.Map as Map
import Language.Haskell.TH.Syntax hiding (lift)
import qualified Network.Wai as W
import Text.Hamlet (html)
import Text.Hamlet (shamlet)
import Yesod.Core
import Yesod.Persist
@ -119,7 +119,7 @@ setCreds doRedirects creds = do
Nothing ->
when doRedirects $ do
case authRoute y of
Nothing -> do rh <- defaultLayout $ addHtml [QQ(html)| <h1>Invalid login |]
Nothing -> do rh <- defaultLayout $ addHtml [QQ(shamlet)| <h1>Invalid login |]
sendResponse rh
Just ar -> do setMessageI Msg.InvalidLogin
redirect RedirectTemporary ar
@ -137,7 +137,7 @@ getCheckR = do
addHtml $ html' creds) (json' creds)
where
html' creds =
[QQ(html)|
[QQ(shamlet)|
<h1>Authentication Status
$maybe _ <- creds
<p>Logged in.

View File

@ -78,7 +78,7 @@ import Yesod.Handler
import Yesod.Form
import Yesod.Auth
import Yesod.Widget (addHamlet)
import Text.Hamlet (hamlet, html)
import Text.Hamlet (hamlet, shamlet)
import Control.Applicative ((<$>), (<*>))
import Control.Monad (replicateM,liftM)
@ -167,7 +167,7 @@ postLoginR uniq = do
(validateUser <$> (uniq =<< mu) <*> mp)
if isValid
then setCreds True $ Creds "hashdb" (fromMaybe "" mu) []
else do setMessage [QQ(html)| Invalid username/password |]
else do setMessage [QQ(shamlet)| Invalid username/password |]
toMaster <- getRouteToMaster
redirect RedirectTemporary $ toMaster LoginR
@ -196,7 +196,7 @@ getAuthIdHashDB authR uniq creds = do
-- user exists
Just (uid, _) -> return $ Just uid
Nothing -> do
setMessage [QQ(html)| User not found |]
setMessage [QQ(shamlet)| User not found |]
redirect RedirectTemporary $ authR LoginR
-- | Prompt for username and password, validate that against a database

View File

@ -13,7 +13,7 @@ import Yesod.Auth
import Yesod.Form
import Yesod.Handler
import Yesod.Widget
import Text.Hamlet (html)
import Text.Hamlet (shamlet)
import Web.Authenticate.OAuth
import Data.Maybe
import Data.String
@ -69,7 +69,7 @@ authOAuth name ident reqUrl accUrl authUrl key sec = AuthPlugin name dispatch lo
render <- lift getUrlRender
let oaUrl = render $ tm $ oauthUrl name
addHtml
[QQ(html)| <a href=#{oaUrl}>Login with #{name} |]
[QQ(shamlet)| <a href=#{oaUrl}>Login with #{name} |]
authTwitter :: YesodAuth m =>
String -- ^ Consumer Key

View File

@ -16,7 +16,6 @@ import Yesod.Form
import Yesod.Handler
import Yesod.Widget
import Yesod.Request
import Text.Hamlet (hamlet)
import Text.Cassius (cassius)
import Text.Blaze (toHtml)
import Control.Monad.Trans.Class (lift)
@ -34,13 +33,11 @@ authOpenId =
name = "openid_identifier"
login tm = do
ident <- lift newIdent
y <- lift getYesod
addCassius
[QQ(cassius)|##{ident}
background: #fff url(http://www.myopenid.com/static/openid-icon-small.gif) no-repeat scroll 0pt 50%;
padding-left: 18px;
|]
l <- lift languages
[QQ(whamlet)|
<form method="get" action="@{tm forwardUrl}">
<label for="#{ident}">OpenID: #

View File

@ -883,14 +883,14 @@ redirectToPost dest = hamletToRepHtml
-- | Converts the given Hamlet template into 'Content', which can be used in a
-- Yesod 'Response'.
hamletToContent :: Monad mo
=> Hamlet (Route master) -> GGHandler sub master mo Content
=> HtmlUrl (Route master) -> GGHandler sub master mo Content
hamletToContent h = do
render <- getUrlRenderParams
return $ toContent $ h render
-- | Wraps the 'Content' generated by 'hamletToContent' in a 'RepHtml'.
hamletToRepHtml :: Monad mo
=> Hamlet (Route master) -> GGHandler sub master mo RepHtml
=> HtmlUrl (Route master) -> GGHandler sub master mo RepHtml
hamletToRepHtml = liftM RepHtml . hamletToContent
-- | Get the request\'s 'W.Request' value.

View File

@ -20,7 +20,7 @@ module Yesod.Internal
, Title (..)
, Head (..)
, Body (..)
, locationToHamlet
, locationToHtmlUrl
, runUniqueList
, toUnique
-- * Names
@ -28,9 +28,9 @@ module Yesod.Internal
, nonceKey
) where
import Text.Hamlet (Hamlet, hamlet, Html)
import Text.Cassius (Cassius)
import Text.Julius (Julius)
import Text.Hamlet (HtmlUrl, hamlet, Html)
import Text.Cassius (CssUrl)
import Text.Julius (JavascriptUrl)
import Data.Monoid (Monoid (..), Last)
import Data.List (nub)
@ -75,10 +75,10 @@ langKey = "_LANG"
data Location url = Local url | Remote Text
deriving (Show, Eq)
locationToHamlet :: Location url -> Hamlet url
locationToHamlet (Local url) = [HAMLET|\@{url}
locationToHtmlUrl :: Location url -> HtmlUrl url
locationToHtmlUrl (Local url) = [HAMLET|\@{url}
|]
locationToHamlet (Remote s) = [HAMLET|\#{s}
locationToHtmlUrl (Remote s) = [HAMLET|\#{s}
|]
newtype UniqueList x = UniqueList ([x] -> [x])
@ -96,9 +96,9 @@ data Stylesheet url = Stylesheet { styleLocation :: Location url, styleAttribute
deriving (Show, Eq)
newtype Title = Title { unTitle :: Html }
newtype Head url = Head (Hamlet url)
newtype Head url = Head (HtmlUrl url)
deriving Monoid
newtype Body url = Body (Hamlet url)
newtype Body url = Body (HtmlUrl url)
deriving Monoid
nonceKey :: IsString a => a
@ -112,8 +112,8 @@ data GWData a = GWData
!(Last Title)
!(UniqueList (Script a))
!(UniqueList (Stylesheet a))
!(Map.Map (Maybe Text) (Cassius a)) -- media type
!(Maybe (Julius a))
!(Map.Map (Maybe Text) (CssUrl a)) -- media type
!(Maybe (JavascriptUrl a))
!(Head a)
instance Monoid (GWData a) where
mempty = GWData mempty mempty mempty mempty mempty mempty mempty

View File

@ -411,7 +411,7 @@ breadcrumbs = do
applyLayout' :: Yesod master
=> Html -- ^ title
-> Hamlet (Route master) -- ^ body
-> HtmlUrl (Route master) -- ^ body
-> GHandler sub master ChooseRep
applyLayout' title body = fmap chooseRep $ defaultLayout $ do
setTitle title
@ -496,7 +496,7 @@ widgetToPageContent (GWidget w) = do
let scripts = runUniqueList scripts'
let stylesheets = runUniqueList stylesheets'
let jsToHtml (Javascript b) = preEscapedLazyText $ toLazyText b
jelper :: Julius url -> Hamlet url
jelper :: JavascriptUrl url -> HtmlUrl url
jelper = fmap jsToHtml
render <- getUrlRenderParams
@ -506,7 +506,7 @@ widgetToPageContent (GWidget w) = do
Just (Left s) -> Just s
Just (Right (u, p)) -> Just $ render u p
css <- forM (Map.toList style) $ \(mmedia, content) -> do
let rendered = renderCassius render content
let rendered = renderCssUrl render content
x <- addStaticContent "css" "text/css; charset=utf-8"
$ encodeUtf8 rendered
return (mmedia,
@ -518,7 +518,7 @@ widgetToPageContent (GWidget w) = do
Nothing -> return Nothing
Just s -> do
x <- addStaticContent "js" "text/javascript; charset=utf-8"
$ encodeUtf8 $ renderJulius render s
$ encodeUtf8 $ renderJavascriptUrl render s
return $ renderLoc x
let addAttr x (y, z) = x ! customAttribute (textTag y) (toValue z)

View File

@ -59,7 +59,6 @@ import Control.Monad.Trans.RWS
import qualified Text.Blaze.Html5 as H
import Text.Hamlet
import Text.Cassius
import Text.Lucius (Lucius)
import Text.Julius
import Text.Coffee
import Yesod.Handler
@ -112,11 +111,15 @@ addSubWidget sub (GWidget w) = do
class ToWidget sub master a where
toWidget :: a -> GWidget sub master ()
instance url ~ Route master => ToWidget sub master (Hamlet url) where
-- FIXME At some point in the future, deprecate all the
-- addHamlet/Cassius/Lucius/Julius stuff. For the most part, toWidget* will be
-- sufficient. For somethings, like addLuciusMedia, create addCssUrlMedia.
instance url ~ Route master => ToWidget sub master (HtmlUrl url) where
toWidget = addHamlet
instance url ~ Route master => ToWidget sub master (Cassius url) where
instance url ~ Route master => ToWidget sub master (CssUrl url) where
toWidget = addCassius
instance url ~ Route master => ToWidget sub master (Julius url) where
instance url ~ Route master => ToWidget sub master (JavascriptUrl url) where
toWidget = addJulius
instance ToWidget sub master (GWidget sub master ()) where
toWidget = id
@ -128,9 +131,9 @@ instance url ~ Route master => ToWidget sub master (Coffee url) where
class ToWidgetBody sub master a where
toWidgetBody :: a -> GWidget sub master ()
instance url ~ Route master => ToWidgetBody sub master (Hamlet url) where
instance url ~ Route master => ToWidgetBody sub master (HtmlUrl url) where
toWidgetBody = addHamlet
instance url ~ Route master => ToWidgetBody sub master (Julius url) where
instance url ~ Route master => ToWidgetBody sub master (JavascriptUrl url) where
toWidgetBody = addJulius
instance ToWidgetBody sub master Html where
toWidgetBody = addHtml
@ -140,11 +143,11 @@ instance url ~ Route master => ToWidgetBody sub master (Coffee url) where
class ToWidgetHead sub master a where
toWidgetHead :: a -> GWidget sub master ()
instance url ~ Route master => ToWidgetHead sub master (Hamlet url) where
instance url ~ Route master => ToWidgetHead sub master (HtmlUrl url) where
toWidgetHead = addHamletHead
instance url ~ Route master => ToWidgetHead sub master (Cassius url) where
instance url ~ Route master => ToWidgetHead sub master (CssUrl url) where
toWidgetHead = addCassius
instance url ~ Route master => ToWidgetHead sub master (Julius url) where
instance url ~ Route master => ToWidgetHead sub master (JavascriptUrl url) where
toWidgetHead = addJulius
instance ToWidgetHead sub master Html where
toWidgetHead = addHtmlHead
@ -164,7 +167,7 @@ setTitleI msg = do
setTitle $ toHtml $ mr msg
-- | Add a 'Hamlet' to the head tag.
addHamletHead :: Monad m => Hamlet (Route master) -> GGWidget master m ()
addHamletHead :: Monad m => HtmlUrl (Route master) -> GGWidget master m ()
addHamletHead = GWidget . tell . GWData mempty mempty mempty mempty mempty mempty . Head
-- | Add a 'Html' to the head tag.
@ -172,7 +175,7 @@ addHtmlHead :: Monad m => Html -> GGWidget master m ()
addHtmlHead = addHamletHead . const
-- | Add a 'Hamlet' to the body tag.
addHamlet :: Monad m => Hamlet (Route master) -> GGWidget master m ()
addHamlet :: Monad m => HtmlUrl (Route master) -> GGWidget master m ()
addHamlet x = GWidget $ tell $ GWData (Body x) mempty mempty mempty mempty mempty mempty
-- | Add a 'Html' to the body tag.
@ -185,19 +188,19 @@ addWidget :: Monad mo => GGWidget m mo () -> GGWidget m mo ()
addWidget = id
-- | Add some raw CSS to the style tag. Applies to all media types.
addCassius :: Monad m => Cassius (Route master) -> GGWidget master m ()
addCassius :: Monad m => CssUrl (Route master) -> GGWidget master m ()
addCassius x = GWidget $ tell $ GWData mempty mempty mempty mempty (Map.singleton Nothing x) mempty mempty
-- | Identical to 'addCassius'.
addLucius :: Monad m => Lucius (Route master) -> GGWidget master m ()
addLucius :: Monad m => CssUrl (Route master) -> GGWidget master m ()
addLucius = addCassius
-- | Add some raw CSS to the style tag, for a specific media type.
addCassiusMedia :: Monad m => Text -> Cassius (Route master) -> GGWidget master m ()
addCassiusMedia :: Monad m => Text -> CssUrl (Route master) -> GGWidget master m ()
addCassiusMedia m x = GWidget $ tell $ GWData mempty mempty mempty mempty (Map.singleton (Just m) x) mempty mempty
-- | Identical to 'addCassiusMedia'.
addLuciusMedia :: Monad m => Text -> Lucius (Route master) -> GGWidget master m ()
addLuciusMedia :: Monad m => Text -> CssUrl (Route master) -> GGWidget master m ()
addLuciusMedia = addCassiusMedia
-- | Link to the specified local stylesheet.
@ -239,13 +242,13 @@ addScriptRemoteAttrs :: Monad m => Text -> [(Text, Text)] -> GGWidget master m (
addScriptRemoteAttrs x y = GWidget $ tell $ GWData mempty mempty (toUnique $ Script (Remote x) y) mempty mempty mempty mempty
-- | Include raw Javascript in the page's script tag.
addJulius :: Monad m => Julius (Route master) -> GGWidget master m ()
addJulius :: Monad m => JavascriptUrl (Route master) -> GGWidget master m ()
addJulius x = GWidget $ tell $ GWData mempty mempty mempty mempty mempty (Just x) mempty
-- | Add a new script tag to the body with the contents of this 'Julius'
-- template.
addJuliusBody :: Monad m => Julius (Route master) -> GGWidget master m ()
addJuliusBody j = addHamlet $ \r -> H.script $ preEscapedLazyText $ renderJulius r j
addJuliusBody :: Monad m => JavascriptUrl (Route master) -> GGWidget master m ()
addJuliusBody j = addHamlet $ \r -> H.script $ preEscapedLazyText $ renderJavascriptUrl r j
-- | Add Coffesscript to the page's script tag. Requires the coffeescript
-- executable to be present at runtime.
@ -265,7 +268,7 @@ addCoffeeBody c = do
-- | Pull out the HTML tag contents and return it. Useful for performing some
-- manipulations. It can be easier to use this sometimes than 'wrapWidget'.
extractBody :: Monad mo => GGWidget m mo () -> GGWidget m mo (Hamlet (Route m))
extractBody :: Monad mo => GGWidget m mo () -> GGWidget m mo (HtmlUrl (Route m))
extractBody (GWidget w) =
GWidget $ mapRWST (liftM go) w
where
@ -274,11 +277,11 @@ extractBody (GWidget w) =
-- | Content for a web page. By providing this datatype, we can easily create
-- generic site templates, which would have the type signature:
--
-- > PageContent url -> Hamlet url
-- > PageContent url -> HtmlUrl url
data PageContent url = PageContent
{ pageTitle :: Html
, pageHead :: Hamlet url
, pageBody :: Hamlet url
, pageHead :: HtmlUrl url
, pageBody :: HtmlUrl url
}
whamlet :: QuasiQuoter
@ -306,7 +309,7 @@ rules = do
-- | Wraps the 'Content' generated by 'hamletToContent' in a 'RepHtml'.
ihamletToRepHtml :: (Monad mo, RenderMessage master message)
=> NP.IHamlet message (Route master)
=> HtmlUrlI18n message (Route master)
-> GGHandler sub master mo RepHtml
ihamletToRepHtml ih = do
urender <- getUrlRenderParams

View File

@ -45,7 +45,7 @@ import Yesod.Core (RenderMessage, liftIOHandler, SomeMessage (..))
import Yesod.Widget (GWidget, whamlet)
import Yesod.Request (reqNonce, reqWaiRequest, reqGetParams, languages)
import Network.Wai (requestMethod)
import Text.Hamlet (html)
import Text.Hamlet (shamlet)
import Data.Monoid (mempty)
import Data.Maybe (listToMaybe, fromMaybe)
import Yesod.Message (RenderMessage (..))
@ -54,9 +54,9 @@ import qualified Data.Map as Map
#if __GLASGOW_HASKELL__ >= 700
#define WHAMLET whamlet
#define HTML html
#define HTML shamlet
#else
#define HTML $html
#define HTML $shamlet
#define WHAMLET $whamlet
#endif

View File

@ -22,7 +22,7 @@ import Data.Time (UTCTime (..), Day, TimeOfDay (..), timeOfDayToTime,
timeToTimeOfDay)
import Data.Char (isSpace)
import Data.Default
import Text.Hamlet (html)
import Text.Hamlet (shamlet)
import Text.Julius (julius)
import Control.Monad.Trans.Class (lift)
import Data.Text (Text, pack, unpack)
@ -30,12 +30,12 @@ import Data.Monoid (mconcat)
import Yesod.Core (RenderMessage, SomeMessage (..))
#if __GLASGOW_HASKELL__ >= 700
#define HTML html
#define HTML shamlet
#define HAMLET hamlet
#define CASSIUS cassius
#define JULIUS julius
#else
#define HTML $html
#define HTML $shamlet
#define HAMLET $hamlet
#define CASSIUS $cassius
#define JULIUS $julius

View File

@ -14,7 +14,7 @@ import Yesod.Handler
import Yesod.Form
import Yesod.Widget
import Text.HTML.SanitizeXSS (sanitizeBalance)
import Text.Hamlet (Html, html)
import Text.Hamlet (Html, shamlet)
import Text.Julius (julius)
import Text.Blaze.Renderer.String (renderHtml)
import Text.Blaze (preEscapedText)
@ -33,9 +33,9 @@ nicHtmlField = Field
, fieldView = \theId name val _isReq -> do
addHtml
#if __GLASGOW_HASKELL__ >= 700
[html|
[shamlet|
#else
[$html|
[$shamlet|
#endif
<textarea id="#{theId}" name="#{name}" .html>#{showVal val}
|]

View File

@ -26,7 +26,7 @@ import Yesod.Content
import Yesod.Handler
import Yesod.Widget
import Yesod.FeedTypes
import Text.Hamlet (Hamlet, xhamlet, hamlet)
import Text.Hamlet (HtmlUrl, xhamlet, hamlet)
import qualified Data.ByteString.Char8 as S8
import Control.Monad (liftM)
@ -37,7 +37,7 @@ instance HasReps RepAtom where
atomFeed :: Monad mo => Feed (Route master) -> GGHandler sub master mo RepAtom
atomFeed = liftM RepAtom . hamletToContent . template
template :: Feed url -> Hamlet url
template :: Feed url -> HtmlUrl url
template arg =
#if __GLASGOW_HASKELL__ >= 700
[xhamlet|
@ -55,7 +55,7 @@ template arg =
^{entryTemplate entry}
|]
entryTemplate :: FeedEntry url -> Hamlet url
entryTemplate :: FeedEntry url -> HtmlUrl url
entryTemplate arg =
#if __GLASGOW_HASKELL__ >= 700
[xhamlet|

View File

@ -22,7 +22,7 @@ import Yesod.Handler
import Yesod.Content
import Yesod.Widget
import Yesod.FeedTypes
import Text.Hamlet (Hamlet, xhamlet, hamlet)
import Text.Hamlet (HtmlUrl, xhamlet, hamlet)
import qualified Data.ByteString.Char8 as S8
import Control.Monad (liftM)
@ -34,7 +34,7 @@ instance HasReps RepRss where
rssFeed :: Monad mo => Feed (Route master) -> GGHandler sub master mo RepRss
rssFeed = liftM RepRss . hamletToContent . template
template :: Feed url -> Hamlet url
template :: Feed url -> HtmlUrl url
template arg =
#if __GLASGOW_HASKELL__ >= 700
[xhamlet|
@ -55,7 +55,7 @@ template arg =
^{entryTemplate entry}
|]
entryTemplate :: FeedEntry url -> Hamlet url
entryTemplate :: FeedEntry url -> HtmlUrl url
entryTemplate arg =
#if __GLASGOW_HASKELL__ >= 700
[xhamlet|

View File

@ -28,7 +28,7 @@ module Yesod.Sitemap
import Yesod.Content (RepXml (..), RepPlain (..), toContent, formatW3)
import Yesod.Handler (Route, GHandler, getUrlRender)
import Yesod.Handler (hamletToContent)
import Text.Hamlet (Hamlet, xhamlet)
import Text.Hamlet (HtmlUrl, xhamlet)
import Data.Time (UTCTime)
import Data.Monoid (mappend)
@ -56,7 +56,7 @@ data SitemapUrl url = SitemapUrl
, priority :: Double
}
template :: [SitemapUrl url] -> Hamlet url
template :: [SitemapUrl url] -> HtmlUrl url
template urls =
#if __GLASGOW_HASKELL__ >= 700
[xhamlet|

View File

@ -23,22 +23,24 @@ module Yesod
-- ** Hamlet
, hamlet
, xhamlet
, Hamlet
, HtmlUrl
, Html
, toHtml
-- ** Julius
, julius
, Julius
, renderJulius
-- ** Cassius
, JavascriptUrl
, renderJavascriptUrl
-- ** Cassius/Lucius
, cassius
, Cassius
, renderCassius
, lucius
, CssUrl
, renderCssUrl
) where
import Yesod.Core
import Text.Hamlet
import Text.Cassius
import Text.Lucius
import Text.Julius
import Yesod.Form

View File

@ -37,7 +37,7 @@ import Text.Jasmine (minifym)
import qualified Data.Text as T
import Web.ClientSession (getKey)
import Text.Blaze.Renderer.Utf8 (renderHtml)
import Text.Hamlet (html)
import Text.Hamlet (shamlet)
-- | The site argument for your application. This can be a good place to
-- keep settings and values requiring initialization before your application
@ -183,7 +183,7 @@ instance YesodAuthEmail ~sitearg~ where
{ partType = "text/html; charset=utf-8"
, partEncoding = None
, partFilename = Nothing
, partContent = renderHtml [~qq~html|
, partContent = renderHtml [~qq~shamlet|
<p>Please confirm your email address by clicking on the link below.
<p>
<a href=#{verurl}>#{verurl}