As you can see, this blog is a completely static HTML site. Compared with dynamic sites written in PHP, static sites load faster and are easier to deploy. Even a complete beginner who cannot program can build a site of their own by spending a little time learning a few tools.
This site is rendered with Hugo
. Hugo is very simple to use. If you want to learn it yourself, you can read the official documentation
. Like other blogging systems, Hugo has many clean and attractive themes
. The theme originally used by this site was maupassant
. Update in 2024: after the blog migration, the current theme is PaperMod
. The theme was originally developed by cho
for Typecho
, then ported to many other platforms and expanded with new features.
All Hugo pages support Markdown syntax. With Markdown, we can write posts with consistent formatting in any environment without worrying about appearance. Markdown is easy to learn; anyone can pick it up quickly. If you are interested, you can start with this tutorial
. Typora
was the lightweight cross-platform Markdown editor I was using at the time. Its interface is clean and simple, and it is free and open source. Update in 2024: Typora became paid software in 2022, and my current editor is MarkText
.

After Hugo generates the complete HTML pages, we can put them on a server. You can buy a virtual host, or more conveniently, use a Git repository to host your site. Git is a widely used version control tool, and a Git repository is a small server for hosting source code. The best-known Git hosting services are GitHub and GitLab . In addition to free source-code hosting, they also provide Pages hosting.
Pages were originally used as documentation pages for open-source projects, but they are also small static HTML web servers. With Pages, we can easily deploy a static website for free.
If you do not want to manually create pages or edit configuration files, and prefer a visual interface similar to the admin panel of a dynamic PHP blog, you can try Forestry . It is a visual content management system that supports multiple environments. With Forestry, you can manage a static site much like a dynamic blog and push edited content directly to your Git repository, creating a truly no-code website workflow.
This site was built with Hugo + Forestry + GitHub. From starting to learn the tools to writing this post, it took me three days in total. I am grateful to everyone who created these tools or wrote tutorials for free. Without standing on their shoulders, this site would never have come into being.