Content designed to increase developer happiness 😁 and productivity 🚀.
The monorepo is organized into five sub-projects.
hugo- Static Site Generator. This is where the content livesdesign- Theme & CSScomponents- Angular Elements Web Componentsfunctions- Firebase Cloud Functions Serverless Backendcypress- End-to-End & Integration Specs
First, install Hugo.
git clone <fireship-repo>
npm install
npm run devVisit localhost:1313 and you should be live. You do not need the web components for general content development, but they can be built with:
cd components && npm install
npm run buildEdit and fix the site's content in hugo/content/. Feel free to submit PRs for small issues. For large issues or features open an issue first.
First, fork this repo on Github.
git clone <your-forked-repo>
npm install
npm run dev
git checkout -b my-fix
# fix some code...
git commit -m "fix: corrected a typo"
git push origin my-fixLastly, open a pull request on Github. Once merged, your changes will automatically be deployed to the live site via the CI/CD pipeline.
As features are added and fixes are made to the original repo (usually referred to as the 'upstream') your fork will become out of date. You can keep your fork up to date by doing the following:
Run from your terminal
npm run link-upstreamThis should add the official repo as a remote called: 'upstream'. You can see all remotes by entering:
git remote -vIn a typical setup, you should see your fork on Github listed as origin, and the fireship-io original as upstream:
origin https://github.com/ZackDeRose/fireship.io (fetch)
origin https://github.com/ZackDeRose/fireship.io (push)
upstream https://github.com/fireship-io/fireship.io (fetch)
upstream https://github.com/fireship-io/fireship.io (push)
Whenever you believe your fork may be out of sync, just run from your terminal
npm run syncThis will update your local master branch to match the original repo's master branch! It will then push those changes to your fork on GitHub, essentially keeping all 3 in sync!
If you want to re-install this project and continue contributing, just run the next command in the terminal
npm run resetThis will remove package-lock.json and node_modules, then runs npm install followed by npm run dev.
Read the style guide for some tips before contributing.
cd hugo
hugo new -k bundle lessons/angularfire-google-oauth
hugo new snippets/my-cool-snippet.mdFirst time? Add your bio and a social links to content/contributors.
Interactive features are built with Angular Elements web components in components/