Skip to content

coolcalcacol/website

 
 

Repository files navigation

TPH Website

The official website for The Programmer's Hangout (join us!), a programming community on Discord. See the website here: https://theprogrammershangout.com.

Contributing

The site is built with Gatsby which is used to leverage the power of React while allowing for static asset generation along with improved SEO.

This site and resources is still a work-in-progress and subject to change

Setup

  1. Clone the repo
  2. npm install
  3. npm run develop
  4. Nagivate to http://localhost:8000
  5. 🎉

Resources

If you're not familiar with Gatsby or React, you can still contribute by adding resources for languages you are familiar with.

The list of resources can be found here

Adding a new resource

Gatsby will take care of most of this process by creating a new page and positioning it in the sidebar automatically once you write up a new resource. All you have to do is follow these steps:

  1. Create a markdown page in the appropriate location. For example /src/content/docs/haskell/monads.md
  2. Add the required frontmatter for the post. More info here
  3. Write your main content.
  4. Add external_resources about the subject if possible.
  5. Run through the setup steps if possible to make sure your changes look ok.
  6. Create a pull request.

Frontmatter

Frontmatter is the optional metadata attached to every markdown file, like the list of authors or the creation date of the file. It is essentially just yaml syntax inside --- delimiters within a markdown file. If you're not familiar with yaml you can find some refreshers here

An example frontmatter might look like this

---
authors:
  - "Xetera#0001"
title: "Working with Lists in Elixir"
created_at: 2020/01/30
external_resources:
  - text: Elixir docs: List
    href: "https://hexdocs.pm/elixir/List.html"
---

# Title

some content here

You can look at other resources like this one for reference when creating your own. We use ISO8601 as the date format to confuse both Americans and Europeans an equal amount.

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 87.7%
  • JavaScript 12.3%