modernizr.js in scaffolded site

This commit is contained in:
Michael Snoyman 2011-09-23 09:48:42 +03:00
parent ea75eb6bfb
commit 0d88bbf741
7 changed files with 19 additions and 5 deletions

View File

@ -161,6 +161,10 @@ scaffold = do
unless isTiny $ writeFile' "config/models" $(codegen "config/models") unless isTiny $ writeFile' "config/models" $(codegen "config/models")
writeFile' "messages/en.msg" $(codegen "messages/en.msg") writeFile' "messages/en.msg" $(codegen "messages/en.msg")
S.writeFile (dir ++ "/static/js/modernizr.js")
$(runIO (S.readFile "scaffold/static/js/modernizr.js.cg") >>= \bs ->
[|S.pack $(return $ LitE $ StringL $ S.unpack bs)|])
S.writeFile (dir ++ "/config/favicon.ico") S.writeFile (dir ++ "/config/favicon.ico")
$(runIO (S.readFile "scaffold/config/favicon.ico.cg") >>= \bs -> do $(runIO (S.readFile "scaffold/config/favicon.ico.cg") >>= \bs -> do
pack <- [|S.pack|] pack <- [|S.pack|]

View File

@ -30,12 +30,13 @@ import qualified Data.ByteString.Lazy as L
import Database.Persist.~importGenericDB~ import Database.Persist.~importGenericDB~
import Settings (widgetFile) import Settings (widgetFile)
import Model import Model
import qualified Data.Text.Lazy.Encoding
import Text.Jasmine (minifym) import Text.Jasmine (minifym)
import Web.ClientSession (getKey) import Web.ClientSession (getKey)
import Text.Hamlet (hamletFile) import Text.Hamlet (hamletFile)
#if PRODUCTION #if PRODUCTION
import Network.Mail.Mime (sendmail) import Network.Mail.Mime (sendmail)
#else
import qualified Data.Text.Lazy.Encoding
#endif #endif
-- | The site argument for your application. This can be a good place to -- | The site argument for your application. This can be a good place to
@ -113,6 +114,9 @@ instance Yesod ~sitearg~ where
-- users receiving stale content. -- users receiving stale content.
addStaticContent = addStaticContentExternal minifym base64md5 Settings.staticDir (StaticR . flip StaticRoute []) addStaticContent = addStaticContentExternal minifym base64md5 Settings.staticDir (StaticR . flip StaticRoute [])
-- Enable Javascript async loading
yepnopeJs _ = Just $ Right $ StaticR js_modernizr_js
-- How to run database actions. -- How to run database actions.
instance YesodPersist ~sitearg~ where instance YesodPersist ~sitearg~ where
type YesodPersistBackend ~sitearg~ = ~dbMonad~ type YesodPersistBackend ~sitearg~ = ~dbMonad~

View File

@ -1,7 +1,7 @@
{-# LANGUAGE CPP, QuasiQuotes, TemplateHaskell, TypeFamilies #-} {-# LANGUAGE CPP, QuasiQuotes, TemplateHaskell, TypeFamilies #-}
module Settings.StaticFiles where module Settings.StaticFiles where
import Yesod.Static (staticFiles) import Yesod.Static (staticFiles, StaticRoute (StaticRoute))
-- | This generates easy references to files in the static directory at compile time. -- | This generates easy references to files in the static directory at compile time.
-- The upside to this is that you have compile-time verification that referenced files -- The upside to this is that you have compile-time verification that referenced files

View File

@ -1,4 +1,2 @@
window.onload = function(){ document.getElementById("#{h2id}").innerHTML = "<i>Added from JavaScript.</i>";
document.getElementById("#{h2id}").innerHTML = "<i>Added from JavaScript.</i>";
}

File diff suppressed because one or more lines are too long

View File

@ -97,3 +97,6 @@ instance Yesod ~sitearg~ where
-- expiration dates to be set far in the future without worry of -- expiration dates to be set far in the future without worry of
-- users receiving stale content. -- users receiving stale content.
addStaticContent = addStaticContentExternal (const $ Left ()) base64md5 Settings.staticDir (StaticR . flip StaticRoute []) addStaticContent = addStaticContentExternal (const $ Left ()) base64md5 Settings.staticDir (StaticR . flip StaticRoute [])
-- Enable Javascript async loading
yepnopeJs _ = Just $ Right $ StaticR js_modernizr_js

View File

@ -52,6 +52,7 @@ extra-source-files:
scaffold/Settings.hs.cg scaffold/Settings.hs.cg
scaffold/Settings/StaticFiles.hs.cg scaffold/Settings/StaticFiles.hs.cg
scaffold/messages/en.msg.cg scaffold/messages/en.msg.cg
scaffold/static/js/modernizr.js.cg
flag ghc7 flag ghc7