After posting about create and hosting personal website using Hugo + GitHub Page, I couldn’t get off the fact that my custom domain does not have HTTPS support. Finally, I decided to figure it out.
The first partial workaround I found was based on CloudFlare. Basically, it replace DNS server by this CloudFlare which can add a certificate to all traffic going through it. However, there is no guarantee for the traffic between GitHub and CloudFlare which makes it less secure. Even more importantly, some browser will mark it as insecure (Chrome does, Firefox and Safari was OK) which repels people from reading my website.
By the way, all these take is a free netlify plan.