/haskellweekly

Publishes curated news about the Haskell programming language.

Primary LanguageHaskellISC LicenseISC

Haskell Weekly

Haskell Weekly publishes curated news about the Haskell programming language. It is both a newsletter and a podcast. Find out more at haskellweekly.news.

Contributing content

We appreciate all contributions, from issues to pull requests. Nothing is too small!

If you want to bring our attention to something, please open an issue! This can be used for anything from typos to new content. For example, this has been used for calls for participation, jobs, and bugs.

If you want to make a change yourself, please open a pull request! We encourage you to make changes when you can, and we'll work with you to get your changes merged quickly. For instance, this has been used for packages of the week, featured content, and typos.

Job postings

We are happy to include job postings for Haskell engineers! If you'd like a job posting to be included in more than one issue of Haskell Weekly, please consider advertising with us. This page explains all the details: https://haskellweekly.news/advertising.html.

Contributing code

The code that powers Haskell Weekly does not change that frequently. However we still welcome changes to it! The overall guidelines from above also apply to code. In addition, there are a couple other things to keep in mind:

  • Pretty much any build tool should work. Use whatever you prefer, whether that's Stack, Cabal, Nix, or something else.

  • Most small changes probably don't require running things locally. Assuming everything still builds, Heroku will spin up a whole new app with your changes when you open a pull request. So please, hack away!

  • The easiest way to get everything up and running locally is to use Docker Compose:

    docker-compose up

    Then go to http://localhost:8080.

Architecture

For the most part Haskell Weekly is just this repository, which is a single Haskell web service. However it relies on a large number of external services:

  • Name.com: Handles domain name registration.

  • Cloudflare: Serves DNS queries and proxies the site behind their CDN.

  • DigitalOcean: Hosts audio files for podcast episodes.

  • YouTube: Hosts video files for podcast episodes, which are used to generate transcripts.

  • GitHub: Hosts source code.

  • Heroku: Builds container image and run sweb service.

  • Mailchimp: Manages subscriber information and sends weekly emails.

  • Square: Accepts payments for advertisements.