DEV Community

Cover image for Create Your Website For FREE with Github Pages — Angular
Dale Nguyen
Dale Nguyen

Posted on

10 5

Create Your Website For FREE with Github Pages — Angular

In the previous post, I show you how to do some research in order to have a glimpse of how to research for your own website - such as a portfolio website. Today, you will know to create a sample Angular site and host in on Github Pages.

Github is great for storing and sharing projects. And if you may not know, Github can also host your websites — for FREE with some limitations. That’s why you shouldn’t use it to run online business or e-commerce site.

  • GitHub Pages source repositories have a recommended limit of 1GB .
  • Published GitHub Pages sites may be no larger than 1 GB.
  • GitHub Pages sites have a soft bandwidth limit of 100GB per month.
  • GitHub Pages sites have a soft limit of 10 builds per hour.

It’s a platform to build a static website with HTML, CSS & JavaScript, so I will create my personal website (Angular, Firebase, Github pages) starting from this simple post.

Create a New Repository

Create a New Repository

After that, you can push a simple index.html to your master branch.

git clone https://github.com/username/username.github.io
cd username.github.io 
echo "Hello World!!!" > index.html
// Push your file to github
git add --all 
git commit -m "Initial commit" 
git push -u origin master
Enter fullscreen mode Exit fullscreen mode

Check Your Project Setting

Check Your Project Setting

Form now, you can access your website. Is it fascinating!!!

It works

After this moment, it’s totally depends on your imagination and skills — modify index.html file and push it back to master → DONE.

Building Github Pages with Angular Project

Now, we will take advantage of Angular to build our website on Github pages. angular-cli-ghpages is needed for deploying to Github.

npm install -g angular-cli-ghpages
Enter fullscreen mode Exit fullscreen mode

The website is on master, so we need to create a dev branch for the development process.

git checkout -b dev
Enter fullscreen mode Exit fullscreen mode

Create a new Angular project, make sure that the project is in the root folder of your git.

ng new username-github-io
Enter fullscreen mode Exit fullscreen mode

Remember to edit angular.json file, so the build will be under dist folder rather than dist/app.

Prepare for deployment

ng build --prod --base-href 'https://username.github.io/'
Deploy project to master
 ✔  ngh --message="Commit message"
 ✔  ngh —branch=master
 ✔  ngh --dry-run
 ✔  ngh
> app@0.0.0 deploy
🚀 Successfully published via angular-cli-ghpages! Have a nice day!
Enter fullscreen mode Exit fullscreen mode

Yay, my angular project is being deployed to Github pages!!!

Angular github pages

This is the final step, we need to update the default branch to dev because the master branch will have production files. Dev branch will give you a better understanding of the project.

You may take a look at my Github — the real project may not be updated yet :)

Sentry blog image

How I fixed 20 seconds of lag for every user in just 20 minutes.

Our AI agent was running 10-20 seconds slower than it should, impacting both our own developers and our early adopters. See how I used Sentry Profiling to fix it in record time.

Read more

Top comments (1)

Collapse
 
johanneshoppe profile image
Johannes Hoppe

Please use the new "ng deploy" api of angular-cli-ghpages.

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay