Installing blogmaker, Vitalik Buterin's free-to-use, self-made software package

2022 Aug 05 See all posts


Installing blogmaker, Vitalik Buterin's free-to-use, self-made software package

Vitalik Buterin posts some of the most widely-read blogposts on his personal website. I have long been curious, what kind of blogging software is good enough for the co-creator of Ethereum?

Last month, my friend Luke and I were chatting on Twitter about his project Adams Exchange. I asked if anybody knew what Vitalik's website uses. The man himself kindly responded with a link to his GitHub repository!

tl;dr

This is an every-keystroke tutorial for setting up Vitalik Buterin's free blogging software.

328 lines of python code (<10KB) implements the entire CMS. The README reassures: "This is an ultra-simple self-hosted blog publishing solution."

(Optionally) pay for your own domain name. Everything else is zero-cost upfront. The setup scales with your needs, while add-on services may cost extra.

Preliminaries

Click to expand

This tutorial will not cover, but expects you are able to:

There are plenty of guides online for each of these steps.

Step 1: install blogmaker

Click to expand

Step 1 screenshot
Step 1 screenshot

commands to enter in Terminal, from your working directory:

git clone https://github.com/vbuterin/blogmaker.git
cd blogmaker
mkdir images
vi posts/hello.md

edit publish.py , changing line 253 from:

to:

Step 2: create local folder for blog files

Click to expand

Step 2 screenshot
Step 2 screenshot

commands to enter in Terminal, from your working directory:

git clone https://github.com/digitalocean/sample-html.git artlu-blog
cd artlu-blog
rm color.gif index.html

[OPTIONAL] nobody will ever see this, as we will set up a private repo

vi README.md

edit .npmignore to delete the row which mentions color.gif

Step 3: run blogmaker

Click to expand

Step 3 screenshot
Step 3 screenshot

commands to enter in Terminal:

cd ~/blogmaker
./publish.py posts/*
./publish.py --sync

Step 4: create a new repository + push to GitHub

Click to expand

Step 4 screenshot
Step 4 screenshot

commands to enter in Terminal:

cd ~/artlu-blog
rm -rf .git
git init
git add --all
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:[GH_ACCOUNT]/artlu-blogmaker.git
git push -u origin main

Step 5: tell DigitalOcean which repo to watch for updates

Click to expand

Step 5 screenshot
Step 5 screenshot

commands to enter in Terminal:

cd ~/artlu-blog

vi .do/app.yaml 

vi .do/deploy.template.yaml

git commit -a -m "tell DO how to find GH repo"
git push

Step 6: create DigitalOcean App

Click to expand

Step 6 screenshot 1
Step 6 screenshot 1
Step 6 screenshot 2
Step 6 screenshot 2

[OPTIONAL] Step 7: add your own domain name

Click to expand

Step 7 screenshot
Step 7 screenshot

Your blog is now ready!

Comments welcome on Twitter and Lens Protocol.

Next steps:


Art Lu made this tutorial.