This is the source code for my github pages. It's a Progressive Web Application (PWA) showing my skills, completed courses, projects and blog posts using React and Gatsby.
badersur.github.io (built by Travis CI)
badersur.netlify.app (built by Netlify's continuous deployment)
Responsive design using vanilla CSS (Flexbox and Grid).
Performance optimization - Images, JavaScript, HTML and CSS are minifed.
Using modern JavaScript/TypeScript features.
Offline support thanks to Service Worker and
gatsby-plugin-offline.Static asset revisioning by appending content hash to filenames for better caching.
I suggest using nvm to download Node.js and manage multiple versions of it.
npmis bundled with Node.js but you may want to update it using the command:npm i npm@latest -gOr just use Docker!
Open the Terminal / Command Prompt (cmd).
Clone the repo. using git (or download it).
git clone https://github.com/badersur/badersur.github.ioChange your current directory to repo.'s directory.
cd badersur.github.ioEither use Docker or node package managers (npm / yarn):
Using Docker, and if you have node installed, then just run:
npm run develop:dockerand visit http://localhost:8000/ to run the development version of the site.npm run serve:dockerand visit http://localhost:9000/ to run the production version.
In case you don't have node installed, run:
for the development version:
docker-compose buildto build it.docker-compose upto run it.
for the production version:
docker build -t bs-app .to build it.docker run --rm --detach --publish 9000:9000 bs-app
Note: you may need to add
sudobefore thedockercommands!Using package managers:
Install the dependencies using npm or yarn.
npm iyarn
Either use npm scripts or Netlify CLI:
using npm scripts, run:
npm run developand visit the development version of the app at: http://localhost:8000/en/npm run buildto have a production-ready version of the app.npm run serveand open the production version at: http://localhost:9000/en/
using Netlify CLI, run:
npm install netlify-cli -gnetlify devto serve the production version of the app and visit the link shown in the screen...
You may want to read my post: Helpful resources and notes for Udacity's web development course to learn about web development and Google App Engine.
Test deploying to Netlify with my app as a template, for free!
What happens when you click 'Deploy to Netlify'?
Jen Simmons and her amazing Layout Land YouTube channel especially her mind-blowing Resilient CSS series
Wes Bos and his great projects and courses especially:
Traversy Media YouTube Channel and their fantastic courses especially:
All awesome open source projects :)
MIT © Bader Nasser Al-Hashmi