snap alternatives and similar packages
Based on the "Snap" category.
Alternatively, view snap alternatives based on common mentions on social networks and blogs.
-
heist
An xhtml-based templating engine, allowing Haskell functions to be bound to XML tags. -
snaplet-postgresql-simple
postgresql-simple snaplet for the Snap Framework -
snaplet-persistent
Snaplet for using Persistent in snap applications -
snap-extras
A collection of handler, splice and other primitive helpers that are commonly needed in web applications -
snap-templates
An executable for generating project templates for the Snap Framework -
snaplet-actionlog
Create a change log/history for records in your snap application -
snaplet-sqlite-simple
sqlite-simple snaplet for the Snap Framework -
snaplet-mysql-simple
A haskell snaplet for using MariaDB and MySQL database with a Snap Framework application via mysql-simple -
snaplet-sass
Sass integration for Snap with request- and pre-compilation. -
snaplet-postmark
Haskell Snap Framework support for Postmark email system. -
snaplet-coffee
A Haskell Snaplet based off of snaplet-fay, but for coffeescript
Build time-series-based applications quickly and at scale.
Do you think we are missing an alternative of snap or a related project?
README
Snap Framework 
Snap is a simple and fast web development framework and server written in
Haskell. For more information about Snap, read the README.SNAP.md
or visit
the Snap project website at http://www.snapframework.com/.
Library contents
This is top-level project for the Snap Framework, which contains:
a library allowing Snap applications to recompile actions on the fly in development mode, with no performance loss in production mode.
a "snaplet" API allowing web applications to be build from composable pieces.
The command-line utility snap
for creating initial Snap applications used to
be a part of this package. As of version 1.0, the snap command-line utility is
no longer provided by this package. It is now provided by the package
snap-templates
.
Building snap
After you clone the repository, change to the newly created snap directory and run
git submodule update --init --recursive
./init-sandbox.sh
cabal install
(You may want to look at pull.sh or pullLatestMaster.sh.) This updates all the Snap Framework dependencies to the correct version, creates a sandbox, and installs everything. The snap library is built using Cabal and Hackage.
Building the Haddock Documentation
The haddock documentation can be built using 'cabal haddock'.
The docs get put in dist/doc/html/
.
Building the testsuite
To build the test suite, run
$ cabal clean
$ cabal configure --enable-tests --enable-library-coverage
$ cabal build
$ cabal install --enable-tests
From here you can invoke the testsuite by running:
$ ./runTestsAndCoverage.sh
The testsuite generates an hpc
test coverage report in dist/hpc
.
Roadmap to Understanding Snaplets
- Read
Tutorial.lhs
which is in theproject_template/tutorial/src
directory of thesnap-templates
package. - Generate and read the haddock docs.
- The test code has the nice property that it actually functions as a pretty good example app and covers a lot of the use cases.
- If you're interested in the implementation, read design.md.