Setup cabal if you didn't do that earlier: cabal update and cabal install cabal-install
Install project dependencies cabal install --only-dependencies. This step may require installation of dev-versions of some libraries (libcurl4-dev, etc.). For Ubuntu you can use this command: sudo apt-get install libcurl4-openssl-dev libmysqlclient-dev.
In project root run cabal configure and cabal build
The build all required js and css files by running ./build_debug.sh
In development mode Snap framework dynamically rebuild source so all you have to do is refresh page in browser. And Google Closure Library doesn't require building in development mode. Using uncompressed less files is not yet supported. You have to rebuild them manually by running ./build_styles.js
Please let me know if I've missed something.
BUILD FOR PRODUCTION
Checkout production branch.
Comment out rcp command in ./build.sh
Configure variables (see below)
You'll find haskell-blog.tar.lzma in project root. It will contain all required files for running project.
There is src/Config.hs which contains configuration of your environment.
adminLogin, adminPassword --- credentials for accessing vault.
rackspaceAuthKey, rackspaceAuthUser --- you don't plan to use Rackspace CloudFiles you can skip it