Hask Anything! is a website aimed at collecting and organizing the collective knowledge of the Haskell community: papers, blog posts, code snippets, gists, StackOverflow answers, Reddit threads, presentations, videos, tutorials and so on.
You can contribute content in two ways:
-
Via the website itself:
- Go to http://haskanything.com/.
- On the top right of the page, click "You're not logged in." and select the option "Login". You'll be redirected to the Github authorization page.
- In the top navigation bar, select an option from the "Add a new.." dropdown.
- Go through the form steps.
- Click on the "Generate a preview of the generated file" button.
- Finally, click on the "Submit a pull request" button.
-
Via git. You can just clone the project, copy some existing content, modify it and create a pull request. Useful for adding content in bulk!
There is more extensive documentation over at http://haskanything.com/documentation.html. Here's the short version:
We use Hakyll as a base. Hakyll is a static site generator written in Haskell, and it's great.
The project uses Stack, so it should just be:
stack install
, which buildshask-anything-exe
- In
/app
, runhask-anything-exe build
, orsite-anything-exe watch
to serve the site locally.
If it's not, please open an issue over at Github!
Problem: The CI system gives the following error message: Hakyll.Web.readPandocWith: I don't know how to read a file of the type Binary for: <file name>
Solution: The file name isn't valid. Does it have the right extension? For Markdown files (which is what most content it) use .md
.
This Github repository serves as both the code repository that generates the website (branch master
), as well as the host for the website itself (branch gh-pages
).
Note: Pushes are done automatically to gh-pages
by CircleCI, which overwrites any changes, so never offer pull requests for that branch.
BrowserStack provides me with a free account because of the open-source nature of the project.