Haskell.org Website
This repository holds the source code and content for
www.haskell.org. Questions about and issues with the site can
be raised in this repository, and PRs can be made to change
content. More general administrative issues with the site or related
haskell.org infrastructure are better raised directly with the admin
team.
Not everything beneath www.haskell.org
is generated from this
repository. See the list of other subsites below.
Developing the website
The website is built as a Hakyll static site, which builds both as a nix derivation and a standalone cabal project.
Community contributions
We welcome contributions from the community. To see which things we need particular help with, please see the community contributions meta-ticket.
If you have your own idea for a change you would like to see you are welcome to submit a PR. Before you start work on your idea you might like to file a new issue to discuss it with the maintainers to get an estimate for how likely it is to be accepted. PRs are accepted according to the PR policy of this repository.
Making Changes
The easiest way to see the effect of your changes is to use the buildAndWatch
script and then
point your web browser to http://localhost:8000. When
you are finished editing or want to re-build the Hakyll part of the site, you
can stop the script by pressing Control+c
(C-c
).
If you are only making changes to the content of the site, you can leave this script running and it will automatically pick up changes and re-build the site for you.
If you want to change the builder
, or if you encounter an error where your
changes to the content aren't being picked up, need to stop the script and
re-start it.
Submitting Changes
Once you're satisfied with your changes, make a PR and the maintainers will try to review it as soon as we can.
Working On The Builder
The builder
is the static site generator that turns the markdown files, CSS,
images, and scripts into a website. It lives in the builder
. Most of the time,
you won't need to make changes to the builder and you can follow the
instructions in the Contributing Changes section above.
If you want to make a quick change or two, you can continue to use the
buildAndWatch
script to rebuild changes, but for more substantial changes this
might increase the build cycle time too much. In this case, you can build the
builder using either nix or cabal. Directions for both are given below:
Manually Building the Site With Cabal
If you don't have nix installed, or if you are inside of the project's nix
shell, you will want to use cabal to compile the builder. To do so, enter the
builder
directory and compile the program with:
cabal v2-build
Once compiled, the builder must be run from the project root directory so that it can find all of the content. To run the builder, you need to first find the name of the executable. From the builder directory, you can find the executable path by running:
cabal v2-exec -- which haskell-org-site
Using that path, you can run the builder from the project root directory.
Manually Building the Site With Nix
If you have nix installed, you can have nix build the builder by running:
nix-build -A builder
You may then run the builder binary from the result
directory:
./result/bin/haskell-org-site build
Deploying
The site will automatically be deployed live to http://www.haskell.org/ every time a branch is merged to master
. Alternatively an admin for this GitHub repository can deploy the site by visiting the Deploy workflow page, clicking the "Run workflow" dropdown, choosing the branch to build and deploy, and clicking the "Run workflow" button.
Subsites
Not all subsites of www.haskell.org are built from this repository. Some of the others are
Subsite | Source | Owner | Details |
---|---|---|---|
cabal/ |
cabal-website | Cabal maintainers | Details |
ghc/ |
Details | ||
ghc-perf/ |
Joachim Breitner | Details | |
ghcup/ |
ghcup-hs | Julian Ospald | |
haddock/ |
Redirect | Haddock maintainers | Details |
haskell-symposium/ |
Haskell Symposium organisers | ||
platform/ |
Redirect | ||
alex/ |
Redirect | Alex maintainers | Details |
arrows/ |
Ross Patterson | ||
communities/ |
Details | ||
definition/ |
Haskell Prime committee | Details | |
happy/ |
Redirect | Happy maintainers | Details |
haskell-workshop/ |
Haskell Symposium organisers | Details | |
hugs/ |
Details | ||
nhc98/ |
York Functional Programming Group | Details | |
onlinereport/ |
Haskell Prime committee | Details | |
tutorial/ |
Details |
Details on subsites
-
At least @emilypi has deploy permissions.
-
Probably owned by the GHC team. Most likely @bgamari is the best contact point.
-
Same as https://perf.haskell.org
-
Redirect to https://haskell-alex.readthedocs.io
See also #183
-
Just contains a link to the HCAR page on this Haskell wiki
-
Last update: 21 June 2005. Should be owned by the same owners as
onlinereport
. -
Redirect to https://haskell-haddock.readthedocs.io
-
Redirect to https://haskell-happy.readthedocs.io
See also #183
-
Archival page. Not updated since 2008. Source is linked as http://abridgegame.org/darcs/ but that link seems long-dead. Ultimately the responsibility of the Haskell Symposium organisers.
-
Archival page. Not updated since 2003. Report problems to [email protected]. Mark Jones and Malcolm Wallace suggested as the points of contact.
-
Archival page. This page last modified: 9th July 2010. Not updated since 2010. Mark Jones and Malcolm Wallace suggested as the points of contact.
-
Revised June 2000. "This code has been tested with Hugs 98". Copyright (C) 1999 Paul Hudak, John Peterson and Joseph Fasel. Perhaps confer with Paul Hudak's former students and collaborators.