figuring out

Why I’m Building Wren

TL;DR Wren is 1) a fun little project to sink my teeth into and 2) a Bear-inspired super simple static site generator

The want to blog

I’ve wanted to have a little corner of the internet for a long time. I’ve just never gotten around to it.

I always found myself a little paralyzed by overthinking the style, the layout, the everything because it felt like something that was so mine had to reflect me. But I also came to realize the site was not what really showed me. The words and the other content was.

I realized what I needed was something that would get out of my way, and not let me get in my own way, and just let me write. I was also yearning to build something and find a side project to really sink my teeth into. So although "build it from scratch" is the most in-my-way a project could possibly be, I started experimenting with static site generation.

Around the same time, I stumbled across Bear, an amazing little platform that exemplified what I was going for. It was content-first, and writing that content was hyper-focused on the words and not the presentation. I fell in love pretty quickly.

So taking heavy inspiration from Herman Martinus’ work on Bear to get started (including borrowing plenty of its open source code), I started on an initial version of Wren.

Keep it simple

The biggest goal for this project is that making a blog should be as simple as possible.

As little configuration as possible. As few options as possible. As little thinking as possible.

This also lends itself to a few fun goals I’d like to achieve with the project as it matures. I want to aim for a single executable, with as few dependencies as possible (hopefully none). This will be an adventure into code packaging, something I haven’t really gotten to play with. I also want to keep the generated code simple. I’ve always loved the idea of semantic HTML and not having a <div> for everything. I want to aim for single HTML files, with little to no JavaScript.

A secondary goal is to make it a really great terminal tool. Of course following the first goal, there shouldn't be much in terms of options, but I still want to make what functionality there is as usable and understandable as possible. I’ve been reading the Command Line Interface Guidelines, and feeling inspired by a lot of the practices outlined there.

Goals

These are somewhat to make Wren a useful blogging platform for me, somewhat just to have some fun on the development side.

I’m going to keep working on Wren whenever I have time. If you want to keep up with it, check it out on GitHub. At the time of writing, it’s in the very early stages (I’m still referencing the actual source code for the configuration info on this post), but I think it will be getting better rapidly.