https://github.com/simonaco/react-course
https://github.com/simonaco/react-course
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/simonaco/react-course
- Owner: simonaco
- License: other
- Created: 2019-02-20T10:47:12.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-11T19:49:23.000Z (over 3 years ago)
- Last Synced: 2026-01-28T19:01:51.417Z (5 months ago)
- Language: JavaScript
- Homepage: https://jamstack1.z6.web.core.windows.net/
- Size: 3.34 MB
- Stars: 2
- Watchers: 2
- Forks: 2
- Open Issues: 37
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
gatsby-course-starter
A Gatsby starter to get you started creating educational materials using Markdown
## You can see the live version of the course [here](https://jamstack1.z6.web.core.windows.net/)
## Get Started
1. `npm install --global gatsby-cli` - make sure you're on Gatsby v2+
- See [docs here](https://next.gatsbyjs.org/docs/) if you need help
1. `gatsby new course-website https://github.com/btholt/gatsby-course-starter`
1. `cd course-website`
1. `npm run dev`
1. Open http://localhost:8000 in your browser
## Lessons
The crux of this site is are the lessons. Provided are two examples. Each lesson needs a [frontmattter](https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/adding-markdown-pages.md#note-on-creating-markdown-files) `path`, `order`, and `title`. Generally you should make the `path` and the file name match for ease of finding it.
- `path` - needs a leading slash. This will be slug of the lesson
- `title` - will be the title displayed on the Table of Contents and on the page itself
- `order` - the order of which the item should appear in the table of contents. The first item should be of order `0`. The second should be `1`, etc. Must be numbered sequentially, i.e. don't skip numbers.
## Config
Inside of `gatsby-config.js` be sure to fill out the `siteMetadata` fields, including `title`, `subtitle`, `description`, and `keywords`.
## Azure Pipelines
Azure has a free-for-open-source continuous integration platform called [Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines/?WT.mc_id=gatsby-github-brholt). This project is already set up for it with the `azure-pipelines.yml`. Just add the project to Pipelines and it'll immediately correctly build the project. From there you'll have a build artifact that you can use to deploy to [Azure Static Sites](https://azure.microsoft.com/en-us/blog/azure-storage-static-web-hosting-public-preview/?WT.mc_id=gatsby-github-brholt) or [GitHub Pages](https://pages.github.com/).
## GitHub Pages
If you do want to deploy to GitHub pages, make sure you add the name of the repo to the `pathPrefix` property in `gatsby-config.js` so that it will correctly make all the links.
## Example Sites
- [Complete Intro to Web Dev v2](https://btholt.github.io/intro-to-web-dev-v2/)
- [Complete Intro to React v4](https://btholt.github.io/complete-intro-to-react-v4/)
- [Four Semesters of Computer Science in Five Hours Part II](https://btholt.github.io/four-semesters-of-cs-part-two/)
## License
The **code** is this repo is licensed under the Apache 2.0 license.
I include the CC-BY-NC-4.0 license for the content; this is what I recommend you license your **content** under: anyone can use and share the content but they cannot sell it; only you can.