I redesigned my site. The last version was up for less than a year. I was never really happy with it. I had spent months scrapping designs, changing things, going through the WordPress code trying to gut it and keep it as clean as possible. But by the end, I knew I just had to launch it and move on. A project can last forever when the client is yourself.
I intentionally avoided that process with this new site. I got a working version up as quickly as possible and tried to iterate on it as I went – and will continue to in the future.
Both the design and code is much simpler than previous versions. I’ve abandoned using WordPress. As much as WordPress is a great content management system, it’s just too much for what I want. And it may have been a psychological barrier but the UI felt like it was preventing me from writing.
Most of them have simple templating systems that let you build out universal headers and footers and specify custom templates whenever you want.
I’m using Jekyll. There are a lot of other static blogging engines that come highly recommended, like Statamic and Pelican, but Jekyll ended being more suited to my needs. It’s a Ruby app and was super easy to set up and run locally. Plus, it powers GitHub Pages.
While I still have my own server for development and testing, this site is now hosted on GitHub. There’s a public repository with all of the source files that are used to build the site. And it’s all free.
(If I ever wanted to go back to self hosting, I could just push the repo to my server and run Jekyll from there. You’re not stuck with GitHub if you don’t want to be.)
Since the entire site is a Git repository it means I have version control for everything I write.
When people wrote by hand, or on a typewriter, the record of their process was easy to preserve. Someone would write a first draft, then mark it up with their changes. They’d add notes in the margins, cross out sections, and do edits that didn’t destroy the original content. Then they’d throw the first draft in a drawer and set out writing a new version.
It’s a sad irony that the advent of digital writing probably caused many writers to lose that record of their process. Unless you’re saving every version of a Word document separately (with filenames ever-increasing in absurdity,
Zombie_Novel_v2_Wills_Edits_FINAL_05-11-98.doc) or using the godawful track changes system, then most of what you write is lost as you get closer to your final draft.
This is exactly what version control prevents. Every time you save your document all of the changes are logged (with your comments on what you changed and why.) This means that the history of your files is preserved, whether it’s a short blog post or a huge novel. Version control systems also let you roll back to previous versions, branch the files and maintain multiple versions at one time, and easily collaborate with others.
Macs now have version control built into OS X and many online editors (like Google Docs) automatically save your revisions. But if you want to seriously track and maintain your changes, I recommend something like Git or Mercurial.
There are a lot of good apps out there that provide graphical interfaces, so you don’t have to use the command-line. I use SourceTree, which is free. GitHub for Mac is another free option. Gitbox is a paid app, but may be the friendliest for non-developers.
Git can be intimidating for non-developers, but it’s a powerful tool that more writers should use.
I only migrated my four most popular posts so there’s not much here. The rest just aren’t that good or are almost never searched for. If there’s a specific post you’re looking for, check the previous version of this site or my old Tumblr blog. None of that stuff is really considered “canon” at this point, so take it all with a grain of salt.
I’m hoping to fill up the article section by actually writing and posting frequently. That’s a resolution I’ve made before but the new site and new workflow will hopefully help.
Published on February 4, 2013