The tech behind EG
Posted by ekr on 01 Jun 2021
At this point there are a fair number of options in how to set up a blog. You can do Blogger, Substack, Wordpress etc. If you want to self-host there are a lot of options too. A lot of tech people use what's called a "static site generator", which means that instead of having some piece of software like Wordpress that runs on the site and you enter your posts into, you just write your posts in a text editor, use the generator to build the HTML for the site, and then upload it to the server.
The specific SSG I use is Eleventy (11ty)[1] which I use with Netlify and Github. The way this works is:
-
I use the 11ty base blog template, which has the basic setup for an 11th-based blog. I've customized it some, mostly to have my preferred style, as well as to have the archives in the sidebar.
-
I write[2] posts locally in Markdown. Eleventy has a local server that automatically builds the site whenever the source changes. I work in a Github branch so that I can have multiple posts going at once and also so that I can ask people for review via Github PRs on the repo.
-
When I'm done, I merge the Github branch and push that to the main repo. Netlify automatically detects this, builds the site, and publishes it.
-
I use Cloudflare Web Analytics to monitor traffic.
One point about using Netlify for this application: They ask for a more expansive set of Github permissions than I was willing to give, so I created a new Github account just for the blog and gave Netlify permissions on that. Then I made my regular Github account a collaborator. This also let me fork the main repo into my own account and let people review PRs there without having to give them access to the main repo.
Thanks to Tantek Çelik for the recommendation. ↩︎
Using Emacs, naturally ↩︎