Contributing to Learning the Express Way
The github repository for this site can be found here, and your contributions are greatly appreciated. Whether it's a bug report or a new lesson, all improvements are welcome. This webpage will walk you through the contributing process and ensure that your contribution will be sucessful. You can find similar instructions on the CONTRIBUTING.md file found here.
Reporting Bugs
Before submitting a bug report, please check out this list of reported issues. and make sure that your bug has not already been reported. When reporting your bug, please be as specific as possible, such as including steps to reproduce the bug, screenshots, device and browser, etc. In addition, add screenshots if necessary. When submitting the report here, please use a clear and concise title, and also tag the issue with the "bug" tag.
Suggesting Enhancements
Similarly to submitting a bug report, please check out this list to see if your suggestion has already been suggested. When creating the enhancement post, please be as precise and clear as possible, including images if necessary. Additionally, use a clear title and tag the issue with the "enhancement" tag.
Contributing Code
To contribute your own code, firstly you must create a fork of the repository using this link here. Then, clone your repository to copy the code to your machine.
Then, you can begin adding your code. To test it, run the commands
npm install 
gatsby develop
and then view the webpage on localost:8000. After you're satisfied with the result, you can create a pull request here. In the pull request, please add specific details of what you changed/fixed, such as documentation changes, bug fixes, or enhancements, and also provide screenshots if necessary. Additionally, when creating your request, be sure to tag it under the appropriate tag.
Submitting a Lesson
To create your own lesson, first follow the steps above in the contributing code section to create a clone of this repository. Then, create a markdown (.md or .mdx) file with an appropriate name in the lessons folder An mdx file is recommended as it allows you to use textbook elements.
In the heading of the markdown file, add the code
--- 
title: 'EXAMPLE TITLE'
slug: /lesson/EXAMPLE_LINK
---
where the slug is an appropriate link to your lesson. Example .md and .mdx files are provided, and their results are shown here and here, respectively. After that, please update the lessonList.yml file and add your lesson in the appropriate order. Use the format
- title: 'EXAMPLE TITLE' 
  description: 'Example description.'
  extraLessson: true
where the title name matches exactly with the one found in your markdown file. Additionally, provide a short 1-2 sentence summary of your lesson with the description argument. After that, submit a pull request mentioning what you added in your lesson and tag your pull request with the "new lesson" tag.
Authors
Andrew Lam
Aileen Guo