Skip to content

ryoia/haskell-lang

 
 

Repository files navigation

haskell-lang

Build Status

Purpose

This repository contains the code powering the haskell-lang.org web site. This website is a community driven website for the Haskell programming language. Its primary motivators are:

  • A destination that Haskellers can happily send non-Haskellers to in order to discover Haskell and get started with modern best practices
  • A source of information for existing Haskellers to discover up-to-date information
  • A collection of links to various online communities
  • A hub for sharing and hosting documentation for all levels of Haskellers

This list is not meant to be exclusive. If there are other ideas people have for content on this website, feel free to raise it in the issue tracker, on Reddit, or on Twitter.

Contributing content

We're going to make a more straight-forward story for contributing content changes that should simply involve editing markdown files under static/markdown/.

Writing tutorials

For each of the packages listed on the packages page, we can have a tutorial in the static/markdown directory. The naming is simple: for a package http-client, for instance, the file is package-http-client.md. Feel free at any time to contribute pull requests to improve this content.

For tutorials not connected to a specific package, you can create a Markdown file in the static/tutorial directory.

If you would like to write a new tutorial, please follow this procedure to "claim" a tutorial and avoid multiple people working on the same content at once:

  • Fork the project
  • Create a new branch with a dummy Markdown file for the new content
  • Open a pull request titled "Adding tutorial for package foo"
  • Add your content on your branch
  • When you're done writing content, add a comment to the pull request indicating that it's ready for review

Before starting on new content, you should make sure that no pull request already exists for that topic.

Building

Run these steps:

  • Clone the repo: $ git clone git@github.com:haskell-lang/haskell-lang.git
  • Install dependencies and build: $ stack build

If text-icu fails to build, you'll want to install the icu dev libraries (the appropriate include/lib directories are configured in the stack.yaml already):

  • Mac OS X: brew install icu4c
  • Ubuntu/Debian: $ sudo apt-get install libicu-dev

Running

It runs at: http://localhost:1990/

  • Manually running the binary: $ stack exec haskell-lang
  • Running from inside GHCi: Load DevelMain and run DevelMain.update

Architecture

It uses Yesod and an MVC organization.

Templates are written in Lucid. There is presently no database.

Continuous Integration

In addition to builds on Travis CI, certain branches are automatically deployed to live websites:

Branch Site
master ci.haskell-lang.org
prod (protected) haskell-lang.org

About

haskell-lang.org website

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 93.3%
  • Haskell 3.2%
  • JavaScript 2.1%
  • CSS 1.4%