Twitter/Medium because I'm a normal person looking for the easiest solution that I know of. I'm not picky and I don't care about principles or owning my content. I just want to write and then get a link that I can share with people.
I know this perspective isn't well represented on HN so I figured it'd be helpful to share.
If I had a more acute reason for starting a blog like personal branding, or some sort of strategic media objective, I may look more into the implications of publishing on 3rd party sites, but for the casual use-cases that I anticipate for myself, that angle doesn't matter for me.
I wrote my surrounding static text as a Common Lisp program; relevant BLOBs are put into a resources directory. Blog entries are in Markdown, then read into the program, transformed, and the entire thing spat out as HTML.
It then uploads to S3 and renders out in a domain. I'll be moving to the Google cloud edition of that sometime in the next 4 months, I figure.
I've dinked with wordpress, blogger, tumblr, livejournal, dreamwidth, and other platforms, along with 1 or 2 other static site generators, along with writing my own static site generator. This beats all of them in terms of maintainability and simplicity.
I'm a no-name software engineer and this is a way to write down things that I want to share with people. It works really well.
I also use Lisp, but slighly differently: I've really come to love how flexible and powerful Emacs Org is. With all static generation tools (including those i built myself) I've hit limits. Not with Org, yet.
I keep hoping to see a "Show HN" article one of these days featuring an Electron app that functions as blog editor and publishes static files via rsync to the server and backs up all blog content via distributed source control to the source control host of your choice through which other contributors to the blog can sync.
I used to use Tumblr but moved to the static site generator because
- I wanted full flexibility
- I didn't use web GUI to write or redesign my blog
- Tumblr looked outdated at some point - and this could happen to any platform.
I still love my self-hosted WordPress instance. I wanted, for so long, to not use WordPress (for stupid reasons).
I keep a minimal set of plugins activated and my blog just works. It allows me to focus on content instead of trying to do a bunch of "dev work" on it.
I tried to go with Jekyll but didn't even bother setting up a ruby env. So I went with Hyde. It works OK but I still was rather annoyed that I had to learn yet another markup/template syntax. Customizing wasn't really straightforward either, docs were rather lacking on some areas, so it was mostly trial and error. I'd prefer some static blog generator that's really dumbed down enough to have a dead simple template system and uses some form of simple markdown, but my search wasn't successful...
If you run Linux or MacOS you could always run Jekyll in Docker and not worry about Ruby.
Unfortunately Jekyll with Docker for Windows doesn't work. The file watcher is completely busted (even with polling). It's strange too because every other language / framework works fine (Flask, Rails, Phoenix, Node), etc. It's just Jekyll that's broken.
I tried Hugo years ago but couldn't get on board because it doesn't treat assets as a first class citizen.
For example with Jekyll, all you have to do is pull in Jekyll-Assets and you get perfect md5 asset tagging for cache busting along with typical SCSS / JS processing and other goodies. It takes about 2 minutes to configure a hyper optimized asset pipeline and you never have to think about it again.
Building scss/js with hugo hasn't been an issue for me yet - the theme I use shipped with its own build pipeline, as I imagine others do. Fortunately, the theme dev organized it well.
I didn't know about the cache busting with jekyll. Right now, I just toss assets into the 'static' dir so I don't think Hugo does anything with them, but I think there are other ways/shortcodes to serve them. Overall, I'm not super happy with hugo, I just latched onto the "it's fast" marketing line because I've had bad experiences with Ruby's performance. As far as my main gripe, the go templating engine seems pretty bad.. Either that, or I don't know how to use it well. I believe templating engines are swappable, however.
Overall, my content is so simple (photos + text) that the usability issues don't bug me yet.
Cache busting would be appending things like the last 8 characters of an asset's MD5 hash to the file name.
You end up serving logo-bad253c1.jpg as your asset file name, so you can cache it forever with nginx, and if the logo changes, the asset's filename gets changed.
With Jekyll-Assets (a plugin) all of that is taken care of for you under the hood. You just reference {% image logo.jpg %} in your templates and it does the rest when you build your site.
Doing things like converting SCSS to CSS and other optimizations are included too, but the main issue is I don't think Hugo has anything for that cache busting strategy that works in a generic way (adding a querystring is no good because a lot of proxies strip out that data).
I have been using Ghost for more than four years now (I tried using Wordpress before but I was left frustrated). Although I know there are probably attractive alternatives (Hugo/Netlify), I don't feel the urge to try something else. I like the Ghost editor and it provides with a nice and focused experience of writing [1].
I use a very simple, minimalist (albeit, slightly modified) theme called Oscar [2].
Many years ago, I started with Wordpress (and tried many PHP-based CMS like Typo3, Drupal, Joomla, Mambo, etc). Many years later, I eventually moved onto static site generators and discovered the joy and freedom of pure static HTML. I've been using Jekyll for a while. But I wanted to move away from Ruby so I've played around with Metalsmith, Hexo, Pelican, Gatsby, etc., but Hugo won over by a big margin. It has no dependencies, works on all platform, and it has the fastest build of any static generators.
Hugo. Self hosted. There is no way I'm going to hand my content to some third party to monitor and track the visitors and monetize at their discretion.
For my blog [0], I use Jekyll. I'm not super enthusiastic about it, but it gets the job done. Ideally, I'd use a system that doesn't require as much futzing around with Bundler and pip (I use pygments for source highlighting, so Python is in the mix too) every time I touch it. It's kind of slow too.
For my first book [1], which is online too, I hand-rolled a tiny Python script [2] that converts the Markdown pages to HTML. It uses Python Markdown and that's about it. SASS for authoring CSS. (Weird observation: that 499-line Python script is probably the most profitable code I've ever written.)
For my second book [3], I took that script and gave it some more juice since book #2 has more complex needs around including code snippets [4]. It's still hand-rolled. In addition to Python Markdown, the other interesting library it uses is jinja2 for templates. I like it.
I understand the arguments against rolling your own, but a blog generator is simple enough that the benefits of code reuse are relatively small. Meanwhile, the convenience of being able to jam little hacks specific to your need is very real [5].
When I get time to hack on my blog again, there's a good chance I'll ditch Jekyll and roll my own.
Also this setup is not as "nerdy" / "geeky" as you might think. I migrated a team of 3 content writers and editors from Wordpress to Hugo and it was mostly painless. Just need to find a good Markdown Editor with preview. Hugo also have live reload, so the content writers can see their posts in a copy of the live site locally, and are able to fix a lot of typographical and visual errors before publish.
Still trying to find a way to do scheduled posts.
If you are looking for a publishing house type stuff with a lot of writers, this may not be the solution.
I used to have a blog, but for the last couple of years I've been using Medium.
For my use case, an unknown very occasional blogger, it doesn't make sense to invest in a dedicated website or pay for a service like Ghost. I imagine this is very different for full time bloggers or more notorious individuals such as Jeff Atwood (Coding Horror).
I would like to have something like CityDesk (I paid for that software back in... Y2K?).
I remember someone was able to "hack" it to embed articles inside excel sheets: he just used an excel sheet as a template (which was zipped XML) and Citidesk substitued some variables inside the templeate
Yes, Wordpress is still the default, but after getting hacked despite working hard to keep it up to date I will no longer host my own. A boring answer and it's not as customisable as I'd like, but a paid plan on wordpress.com is a lot less hassle and I don't regret the switch.
Tiddlywiki on anything which can serve a single html file. It's not just a blog, but it does that quite well. It's platform agnostic and incredibly flexible.
I use Resilio Sync and Lighttpd. I edit from any of my devices, and it's online within a minute.
Jekyll. Although, I would like to check out some alternative static site generators as I've never been 100% satisfied with how Jekyll works.
I like having all of my articles as self contained text files that I can run through pandoc and end up with a nice looking pdf for proofreading. I amuse myself with the idea that someday I'll write a series of articles good enough to warrant printing into a book, in which case I'm one step closer down the typesetting chain.
Also, I can use git for versioning my articles, and just back them up like any other old file instead of worrying about dumping and importing a database.
Twitter to blog thoughts, reach and interact with intellectuals, weirdos, and other assorted new faces. It is hugely underrated, and much more useful since the 280 character shift.
Medium to write long pieces. They do a nice job promoting content. They even narrated (did a voice version of) one of my posts. I don't think as many people would have read it (or listened) if it was on a regular blog, which probably would have been hugged to death if it got popular anyway.
Earlier this year, I threw together something in Rails with Bulma. It took an afternoon, except for never-ending css tweaks. Rails is built for that kind of thing so it wasn't a huge amount of effort.
It's not very socially media aware or SEO-savvy of me, but I'm doing it as a fun way to build a fun website, which was something people used to use the internet for.
After trying both Wordpress and Hugo, I decided to keep it simple and set up Ghost using Digital Ocean's 1 click install. It has everything I need and I'm very satisfied with Ghost's editor.
I set up my blog using wintersmith and github pages years ago. It still works well. Being able to write articles in the editor of my choice and having the full power of git is great.
It's the minimal version of a blog, and it's easier to get people to come back and read when new posts show up in their inbox.
(I am one of the founders of Substack, that lets you do a newsletter + website for free, and even charge subscriptions for it. There are a couple interesting writers choosing it including Matt Taibbi who is doing an AMA right now at https://news.ycombinator.com/item?id=17239602)
I know this perspective isn't well represented on HN so I figured it'd be helpful to share.
If I had a more acute reason for starting a blog like personal branding, or some sort of strategic media objective, I may look more into the implications of publishing on 3rd party sites, but for the casual use-cases that I anticipate for myself, that angle doesn't matter for me.