In 2016, elementary moved to a Medium publication to host our official blog. At the time, Medium was touted as a simple, clean, and reader-focused host for writers. They supported custom domains, a robust API, RSS, rich formatting, and great image embedding. We had been largely happy with the experience—as were our readers—but something changed in 2017.

(Via Welcome to the New Blog ⋅ elementary Blog)

I like elementaryOS. Yet this is not a post about it. Nor is this yet another post about the problems with Medium.

I’m still considering moving PRJorgensen.com from my self-hosted WordPress on DreamHost to a static site on SDF.org. This elementaryOS post documents my own thoughts on this potential migration.

Jekyll

The post talks to several key points I like:

  • Fast. Since it’s a static site, there’s no waiting around for pages to load and render on a server. They’re served as-is directly off a fast, global CDN.
  • Total control. Since we are writing the entirety of the HTML, CSS, and JS, it means we can decide exactly what the blog is, looks like, etc.
  • Privacy-first. Because we have total control and are leaning on the static nature of Jekyll, it means we can be fanatical about privacy: no external JavaScript, no analytics, no social tracking scripts, etc. Just what matters: the content.

Where I diverge is not relying on GitHub. i have two reasons:

  1. It’s yet another corporate cloud provider owned by Microsoft; and
  2. I don’t use GitHub all that much for reasons that have nothing to do with 1.

SDF.org has Jekyll support. I like SDF’s model and they’ve been around for over 30 years.

More advantages:

Modern Features
Just because it’s a simple static blog doesn’t mean we don’t support all the modern features you’d expect:

  • RSS feed for all the subscribing and cross-posting you could desire.
  • Completely responsive design from the start.
  • Great typography for long-form reading with sane line-lengths, pull quotes, etc. […]
  • Rich image embedding with side-by-side layouts, zooming in, and full-bleed support.
  • Sharing to social media without the privacy-invasiveness that usually comes with it.

I’m also following their lead by avoiding a on-site comment system. Instead I will rely on ActivityPub. If I want to see how my posts do, because:

… [I] get enough sense of “engagement” via social media and press coverage to know what [my] users and readers find interesting. And since [my] goal for the blog is to spread genuinely useful information …

[I’m] not incentivized to tailor […] content to what gets the most clicks or attracts the “right kind” of readers. 

No Tracking, Remote JS, External CSS, or AMP

Here is one of my key tenants:

… avoid as many forms of tracking as possible. This sounds easy, but it turns out that modern web development practices heavily push you towards including external scripts, tags, etc. for simple functionality … 

Because this drives me crazy:

We’ve also found that a clean, tailored blog doesn’t actually need any JavaScript to function (a near-blasphemous concept on the modern web!), and any tiny amounts of progressively-enhancing JS we may want can be included on the page where needed. For CSS, we use Sass to make it easier to write (and more organized across multiple component files), then the preprocessor compiles it all into one minified file.

In addition to the above, I love their statement around Google’s largely unnecessary AMP technology:

We feel that AMP is perhaps an acceptable technology that may solve problems for large, slow sites, but Google is unacceptably pushing it on all websites—and unfairly deprioritizing sites that don’t adopt their technology. Instead, we believe in web standards and the open web, and will continue to publish stories on a crazy-fast performing static blog without resorting to non-standard technologies.

Final Thoughts on WordPress and DreamHost

I have no ill will for either company (Automattic in the case of WordPress). I’m finding I’m spending too much time fixing and tuning compared to writing. Both are solid choices for a self-hosted on a trusted platform solution.

Stay tuned!