No description
Find a file
Yann Esposito (Yogsototh) cce6e72254
Cleanup
2021-07-27 15:47:35 +02:00
app 2021 out of the grave 2021-07-27 00:03:32 +02:00
config cleanup 2021-07-27 00:12:17 +02:00
src Cleanup 2021-07-27 15:47:35 +02:00
static 2021 out of the grave 2021-07-27 00:03:32 +02:00
templates Cleanup 2021-07-27 15:47:35 +02:00
test 2021 out of the grave 2021-07-27 00:03:32 +02:00
.dir-locals.el cleanup 2021-07-27 00:12:17 +02:00
.gitignore cleanup 2021-07-27 00:12:17 +02:00
docker-compose.yml 2021 out of the grave 2021-07-27 00:03:32 +02:00
package.yaml 2021 out of the grave 2021-07-27 00:03:32 +02:00
README.md 2021 out of the grave 2021-07-27 00:03:32 +02:00
stack.yaml 2021 out of the grave 2021-07-27 00:03:32 +02:00
stack.yaml.lock 2021 out of the grave 2021-07-27 00:03:32 +02:00

Database Setup

After installing Postgres, run:

createuser inmanis --pwprompt --superuser
# Enter password inmanis when prompted
createdb inmanis
createdb inmanis_test

Haskell Setup

  1. If you haven't already, install Stack
    • On POSIX systems, this is usually curl -sSL https://get.haskellstack.org/ | sh
  2. Install the yesod command line tool: stack install yesod-bin --install-ghc
  3. Build libraries: stack build

If you have trouble, refer to the Yesod Quickstart guide for additional detail.

Development

Start a development server with:

stack exec -- yesod devel

As your code changes, your site will be automatically recompiled and redeployed to localhost.

Tests

stack test --flag inmanis:library-only --flag inmanis: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).

Documentation

  • 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

Getting Help