module Snap.Extras
( module Snap.Extras.CoreUtils
, module Snap.Extras.TextUtils
, module Snap.Extras.JSON
, module Snap.Extras.FlashNotice
, module Snap.Extras.SpliceUtils
, module Snap.Extras.FormUtils
, module Snap.Extras.Tabs
, initExtras
) where
import Data.Lens.Common
import Snap.Snaplet
import Snap.Snaplet.Heist
import Snap.Snaplet.Session
import System.FilePath.Posix
import Snap.Extras.CoreUtils
import Snap.Extras.FlashNotice
import Snap.Extras.FormUtils
import Snap.Extras.JSON
import Snap.Extras.SpliceUtils
import Snap.Extras.Tabs
import Snap.Extras.TextUtils
import Paths_snap_extras
initExtras :: HasHeist b => Lens b (Snaplet SessionManager) -> SnapletInit b ()
initExtras session =
makeSnaplet
"Snap Extras"
"Collection of utilities for web applications"
(Just getDataDir) $ do
addTemplatesAt "" . (</> "resources/templates") =<< getSnapletFilePath
initFlashNotice session
addUtilSplices
initTabs