How to setup a website like mine for free using Github page?

2 minute read

Intro

This post will guide you through the set up of github page and build your own website using one of the most popular template jekyll. All of these are free!

Methodology

Basically we follow academicpages with some add-ons and corrections due to its outdated info. Also notice that github page may need some time to deploy, depending on where their servers are. But typically it should be less than 10 minutes.

Steps

  • Follow this or this to create an empty github page repo
  • Follow jekyll docs to install jekyll
  • Clone my github page source code (which is the source code running this website)
  • Run bundle exec jekyll serve in that repo, and wait a few seconds for it to compile
  • Go to url 127.0.0.1:4000 If you see the errors like below in the terminal and not seeing the icons show up on the left column (like Email, GitHub, etc)
[2023-07-27 11:41:52] ERROR Errno::ECONNRESET: Connection reset by peer @ io_fillbuf - fd:24
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/httpserver.rb:82:in `eof?'
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/httpserver.rb:82:in `run'
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/server.rb:310:in `block in start_thread'
[2023-07-27 11:41:52] ERROR Errno::ECONNRESET: Connection reset by peer @ io_fillbuf - fd:23
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/httpserver.rb:82:in `eof?'
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/httpserver.rb:82:in `run'
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/server.rb:310:in `block in start_thread'
[2023-07-27 11:41:52] ERROR Errno::ECONNRESET: Connection reset by peer @ io_fillbuf - fd:27
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/httpserver.rb:82:in `eof?'
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/httpserver.rb:82:in `run'
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/server.rb:310:in `block in start_thread'
[2023-07-27 11:41:53] ERROR Errno::ECONNRESET: Connection reset by peer @ io_fillbuf - fd:25
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/httpserver.rb:82:in `eof?'
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/httpserver.rb:82:in `run'
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/server.rb:310:in `block in start_thread'
[2023-07-27 11:41:53] ERROR Errno::ECONNRESET: Connection reset by peer @ io_fillbuf - fd:24
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/httpserver.rb:82:in `eof?'
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/httpserver.rb:82:in `run'
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/server.rb:310:in `block in start_thread'
[2023-07-27 11:41:53] ERROR Errno::ECONNRESET: Connection reset by peer @ io_fillbuf - fd:27
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/httpserver.rb:82:in `eof?'
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/httpserver.rb:82:in `run'
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/server.rb:310:in `block in start_thread'
[2023-07-27 11:41:53] ERROR Errno::ECONNRESET: Connection reset by peer @ io_fillbuf - fd:23
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/httpserver.rb:82:in `eof?'
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/httpserver.rb:82:in `run'
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/server.rb:310:in `block in start_thread'
[2023-07-27 11:41:53] ERROR Errno::ECONNRESET: Connection reset by peer @ io_fillbuf - fd:29
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/httpserver.rb:82:in `eof?'
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/httpserver.rb:82:in `run'
        /home/wei-chih/gems/gems/webrick-1.7.0/lib/webrick/server.rb:310:in `block in start_thread'

Don’t worry, just click any tab on the top and it should be working as normal

  • Make some changes to the source code. To begin with, try modify _posts/2023-07-27-web.md and see the changes
  • Then push the code to your github repo by git push
  • And it’s done. Now you have your own website

Further reading