What I Did With My Summer Vacation

My wife created a lovely website for herself using Squarespace. It took about ninety minutes. And she built a blog for herself using Wordpress; that was around an hour’s labor.

I’ve had my first unoccupied vacation time in ten years this past week and immediately set about occupying it in the construction of this site. (Relaxation is a young man’s game.) In the time it took me to develop skrvn.com, Whitney could have created forty websites. (To save you a math, I spent fifty hours on this basic[1], buggy[2], alpha-quality product.)

So why’d I do it?

Motivation

Because I’m implacable and eccentric. I already have a blog, but that blog is for…I don’t know. Other things. This blog is for…boring things. Things I get embarrassed talking about on my “accessible” blog. Thoughts clogging my head (like this very post) that I need an outlet for.

And I needed a beautiful (or adequate, anyway) space[3] in which to air them–a space that fit my exacting requirements. Plus, my other blog was limited in certain ways:

  • I don’t control its servers.
  • I can’t manage the post repository.
  • I cannot arbitrarily create or design its pages and, corollary, I don’t control the source.

Apparently I’m something of an autocrat and anything shy of absolute power sets me on edge. Plus, a generous friend had created the other blog for me and there are prideful feelings that get mixed up in all of this, motivating me to prove I’m capable of creating a blog on my own, without anyone’s help (not even Wordpress’s), thank you very much.

Finally, because it made me happy, I had fun doing it, it was a growth opportunity, and the whole process–while exhausting–was weirdly relaxing and cleared my head. I’m generally not a diehard codebro who spends his evenings, I don’t know, implementing C in Python.[4] But give me a week off and left to my own devices I go straight back to what I do for a living. I’m blessed to be employed doing just what I’d naturally do anyway.

Technologies

This is the good stuff. I love all this so much. It gives me chills.

Appropriate Gif

Source Control

I use Git for version control, but of course. However, which version control is nowhere near as important as simply having version control…something my other blog didn’t give me. I’ve already lost years of writing to a blogging platform that died and took my post history down with it and I learned my lesson. Never again will I rely on a third-party to have mastery over my documents; I’ll store them via a medium that is easily accessible and keep a local copy.

Site Generator

Static site generators are very much en vogue these days, and while I briefly considered a more elaborate tool, I decided any sort of dynamic content was overkill for my needs.

One of my requirements for a generator was Markdown support. It’s my markup language of choice, balancing portability and readability. This, combined with the source control, should enable my documents to be preserved and transported with me the rest of my life, with minimal management. It’s about time.

Additionally, I hoped the generator would be written in a language I parsed (in case I wanted to do any debugging or customization), be easy to work with, and generally be robust with good community support

I went with Hexo, since I can work with javascript, their documentation was clear, and the available plugins seemed fairly exhaustive.

Responsive Framework

Bootstrap. Because I’ve heard of it, and I think it was in fashion like a decade ago.

Hosting/CI

Ok, so I’m not really hosting the site myself. But it would be but an afternoon’s labor to spin this up on Apache server. And it’s important that I design the site with that requirement in mind, so that I’m never beholden to some other company for my blog’s existence. However, that requirement being fulfilled, why go to that effort when there are companies willing to provide static site hosting for free?

I used GitLab instead of GitHub for a couple of reasons:

  • Free private repositories! I don’t want people hypothetically looking in my drafts folder or at in-progress features! And, err, I don’t want to pay money, either…
  • Native Continuous Integration support, with lots of sample projects (including one for Hexo).

With GitLab it was a snap to set up an integration that would generate the site when I pushed to master. It is possibly a little bit overkill for a simple site like mine, but it was easy enough to implement and will make things like updating the site from my phone (via the GitLab web editor) possible. And more flexibility is a good thing.

Why It Took Me So Long

I don’t know. Because I’m not a frontend dev. Because rather than use a pre-existing Hexo Boostrap Theme, I decided to write my own. Just for the learning experience. Because I’m bad at this. Because I spent four hours fiddling with this:

Unicorn-hole

Conclusion

Those who know me in real life know I’m not a talker. And yet I HAD TO SAY ALL THESE THINGS about what I did in making this site. I don’t care if no one reads it. I had to get it out. And if, for whatever perverse reason, you’ve read this post, I thank you and give you digital kudos.


  1. Non-exhaustive list of missing features:

    • Archive
    • Comments
    • Categories
    • Non-simple syndication options
    ↩︎
  2. Non-exhaustive list of bugs:

    • Homepage play animation is unreliable
    • Responsiveness breaks for some resolutions/aspect ratios
    • Music widget requires two clicks to play, and doesn’t quit when you close its modal window
    • The list goes on…
    ↩︎
  3. “Real” writers talk about needing a place to write (what? No, I don’t have a source for this…) and I can identify. Though, the place I need is not physical but rather conceptual…a metaphorical megaphone with the implicit permission I am allowed to shout to no one at all about what I’m feeling whatsoever. ↩︎

  4. It would be called “Ouroboros”. ↩︎