This repository is for the haskell.foundation website. It is a proud, Hakyll-based site, built as an in-kind contribution from Obsidian Systems, and maintained by the Haskell Foundation and its volunteers. If you would like to get started with a merge request, please consult the documentation below.
To build the project:
stack build
Once the project has built (which can take a while due to the dependencies for Hakyll), to generate the site use:
stack exec -- site build
The site will be build in the _site
directory, and you can open the files in your browser of choice. Due to a Hakyll issue, some sponsor logos will not show up correctly. This is expected behavior, and should be fine for the deployed site.
For further information, please refer to the CONTRIBUTING.md at the root of this project.
We use GitHub Actions .github/workflows/main.yml
to build the site for production.
The general steps are:
- Check out the
hakyll
branch - Install Haskell
- Restore the cached build artefacts
- Build the
site
executable - Rebuild the site contents using the
site
executable - Check out the main branch
- Copy the
_site
directory over themain
branch contents - Commit and push the site contents to the
main
branch.
Deployment is automated for branches in the original repository.
When you are submitting a PR, it's a good practice to provide a link to a running website demo.
First you should enable GitHub pages for you forked repository.
Then you should manually trigger a build for your branch in your forker repository.
At first time it can take a while because there is no cache for Hakyll dependencies at your GitHub actions runner yet. You can attach a link to running CI job to the PR and go drink coffee.
This site is open source, and covered under the Apache 2.0 license.