{- | wai-herringbone is a Haskell/Wai library for compiling and serving web assets. It aims to make it dead simple to create a 'Network.Wai.Middleware' or 'Network.Wai.Application' which deals with all of your static assets, including preprocessing for languages like Fay, CoffeeScript, Sass, and LESS. It takes most of its inspiration from the Ruby library, , hence the name. Example: > import Network.Wai.Herringbone > > fay, sass :: PP > > hb = Herringbone > hb = herringbone > ( addSourceDir "assets" > . setDestDir "compiled_assets" > . addPreprocessors [fay, sass] > ) > > -- You can now access assets programmatically > asset <- findAsset hb (makeLogicalPath ["application.js"]) > > -- Or make a WAI Application to do it for you > app = toApplication hb -} module Network.Wai.Herringbone ( -- * Creating a Herringbone Herringbone(..), module Network.Wai.Herringbone.Configuration, -- * Assets LogicalPath, fromLogicalPath, toFilePath, Asset(..), findAsset, -- * Preprocessors PP(..), PPs, AssetError(..), CompileError, -- * WAI toApplication ) where import Network.Wai.Herringbone.Configuration import Network.Wai.Herringbone.Types import Network.Wai.Herringbone.FindAsset import Network.Wai.Herringbone.WaiAdapter