Alvin Chang    Archive    About me

How this blog is built

Posted: 6/7/2023

I'm inspired by the small web.

Technically speaking, it's about creating websites with simple technical architecture. It's akin to the advice writers get from the Elements of Style by Strunk and White – "omit needless words."

But beyond that, making a small website in 2023 – the era of superfluous hardware and blazing internet speeds – seems to be a statement.

The internet is mostly feeds that corporations generate using data they stole from us. Those feeds are a firehose of content thrown at our faces, 24/7, mostly to either sell things to us or get more data from us. So individuals have lost control over what the internet is.

In the beforetimes, the internet was content with links to other content. It felt like internet creators were less interested in my money and attention, and more interested in me.

That's what drove me to build this blog with the "small web" ethos in mind.

Writing in Markdown

Markdown is an easy way to write formatted text, without writing raw HTML while trying to compose a blog post. These files are put into a single directory.

The Markdown files are parsed with a very fast PHP library called Parsedown. It just turns Markdown into HTML, using PHP.

Home + posts

The index.php file grabs all the posts from my content directory, and writes out a list of posts.

When you click a post, it reloads index.php but instead of grabbing all the posts, it reads the URL's parameter. In this case, it's called "post" and this post is called 2023-06-smallweb.

It takes that name, fetches the full post, and writes it out.

The actual structure of this blog is super simple:

* index.php
* Parsedown.php
> content
    * 2023-06-smallweb.md
    * 2023-06-pinboard.md
    * ... etc

Simple HTML markup

The actual structure of the HTML is extremely simple. There are no classes or ids. There's a <div> for the header, an <article> for the main content, and <footer> for the footer. It's like a template page for learning HTML.

The inline CSS only styles things for legibility and enough aesthetic good stuff to make it a good reading experience.

Publishing with FTP

There is no CMS. I just write in Markdown using whatever text editor I enjoy at the moment, and then I use my FTP client (I'm a longtime Transmit user) to upload the file. That's it.

That's it!

I've worked in more than 10 newsrooms, and they all had different ways to publish content. It was always complicated, even though they tried to make it simple. (Shoutout to Vox Media's Chorus – it's very good.)

But those were companies. Companies aren't inherent to the internet. People are inherent to the internet. So this is a blog that is designed for people (you) to read, and designed for people (me) to alter.