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.
npm
is bundled with Node.js but you may want to update it using the command:npm i npm@latest -g
-
Or 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.io
-
Change your current directory to repo.'s directory.
cd badersur.github.io
-
Either use Docker or node package managers (npm / yarn):
-
Using Docker, and if you have node installed, then just run:
npm run develop:docker
and visit http://localhost:8000/ to run the development version of the site.npm run serve:docker
and visit http://localhost:9000/ to run the production version.
In case you don't have node installed, run:
-
for the development version:
docker-compose build
to build it.docker-compose up
to 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
sudo
before thedocker
commands! -
Using package managers:
-
Install the dependencies using npm or yarn.
npm i
yarn
-
Either use npm scripts or Netlify CLI:
-
using npm scripts, run:
npm run develop
and visit the development version of the app at: http://localhost:8000/en/npm run build
to have a production-ready version of the app.npm run serve
and open the production version at: http://localhost:9000/en/
-
using Netlify CLI, run:
npm install netlify-cli -g
netlify dev
to 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