Chandru Subramanian

A few experiments, some notes, and miscellaneous writing.

How this blog was made

Jan 26, 2024

Setting up a blog is not difficult and you should create one. This blog is created using jekyll and is hosted for free on GitHub pages. It uses Bradley Taunt’s ET-Jekyll theme.

Rachel Thomas has an extremely well-written post on why you should blog.

You should probably not self-host

It is fun to setup software and host your own blog. In 2024, setting up wordpress is a commoditized skill. Self-hosting work is a fun procrastination. It will not make your writing better.

Motion makes you feel like you’re getting things done. But really, you’re just preparing to get something done. When preparation becomes a form of procrastination, you need to change something. You don’t want to merely be planning. You want to be practicing.Clear, James. Taking Action. jamesclear.com, 20 Jan. 2020.

You should focus on publishing content.

You should probably not use medium

Medium is a paywalled online publishing platform for reading authored articles. It is a marketplace for authors to publish content and get paid for it. My goal is to publish content - I don’t want people to pay for information that I would gladly give them.

At this stage of my career, I find less need for public addulation. I also don’t want to build a large following that I can monetize. My preference is contempt-free, nuanced, and respectful conversation. Drop me a note at [email protected]

You should host on github pages

Github is easy to setup, the limits are reasonable, and it is free. Paying companies depend on GitHub so it is well maintained and monitored.

In essence, GitHub pages is a specially named public git repository. Any markdown content in this repo will be rendered automatically by GitHub. Markdown takes away the temptation to tinker with typography and layout.

You should use jekyll

Jekyll is a static site generator. It takes markdown pages and renders them into static html. Once converted, these files can be hosted on any webserver (such as GitHub pages).

You shoud do the jekyll tutorial

Doing tutorials feels tedious. But a few minutes spent on this tutorial will give you an understanding of the terrain; it will make your journey easier.

If you aren’t familiar with the ruby ecosystem, I would suggest that you understand common commands for the ruby package manager, bundle.

A few easy steps

I assume that you have a basic understanding of git and GitHub. The git cli is powerful but I tend to use GitHub Desktop for more complex operations.

Setup GitHub Pages

Excellent step by step documentation is available GitHub docs.

Repos

GitHub has the ability to detect jekyll configs and render html for you. However, I prefer to locally render markdown into html and then push that out to GitHub.

I prefer to keep my working copy in a different repo than the GitHub pages. My workflow looks something like this:

  1. Use the working repo for authoring and generating content. Use git branching, merging, PRs for managing versions.
  2. Generate the static content locally.
  3. Merge into the GitHub pages repo and push content to publish.

Optional: setup a custom domain

This is probably the most complex portion of all of the setup. But it is isn’t that difficult. The instructions on GitHub docs are excellent.


← Back to all articles