This is a clone of lobste.rs that is being used as a training and practice project for some folks that I (Chris Allen) am working with. You're welcome to clone it and kick it around but I won't be taking any PRs or issues from third parties for now until the folks I am helping are done with this project.
After installing Postgres, run:
createuser --username badgers --password badgers --superuser
createdb -O badgers badgers_dev
createdb -O badgers badgers_test
If you're on Linux you might have a postgres
system user you need to impersonate in order to perform these actions, if that's the case then the commands are:
createuser badgers --password badgers --superuser
createdb -O badgers badgers_dev
createdb -O badgers badgers_test
There's also Makefile targets that make this easy.
- If you haven't already, install Stack
- On POSIX systems, this is usually
curl -sSL https://get.haskellstack.org/ | sh
- On POSIX systems, this is usually
- Install the
yesod
command line tool:stack install yesod-bin --install-ghc
- Build libraries:
stack build
If you have trouble, refer to the Yesod Quickstart guide for additional detail.
Start a development server with:
stack exec -- yesod devel
As your code changes, your site will be automatically recompiled and redeployed to localhost.
stack test --flag badgers:library-only --flag badgers:dev
(Because yesod devel
passes the library-only
and dev
flags, matching those flags means you don't need to recompile between tests and development, and it disables optimization to speed up your test compile times).
- Read the Yesod Book online for free
- Check Stackage for documentation on the packages in your LTS Haskell version, or search it using Hoogle. Tip: Your LTS version is in your
stack.yaml
file. - For local documentation, use:
_
stack haddock --open
to generate Haddock documentation for your dependencies, and open that documentation in a browser _stack hoogle <function, module or type signature>
to generate a Hoogle database and search for your query - The Yesod cookbook has sample code for various needs
- Ask questions on Stack Overflow, using the Yesod or Haskell tags
- Ask the Yesod Google Group
- There are several chatrooms you can ask for help: _ For IRC, try Freenode#yesod and Freenode#haskell _ Functional Programming Slack, in the #haskell, #haskell-beginners, or #yesod channels.