Ask HN: What is your blogging platform of choice in 2018?
What do you use to setup a blog now a days?
What do you use to setup a blog now a days?
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.
For the curious, here's an out of date edition of the site as Lisp: https://gist.github.com/pnathan/d57bb0e95fa68552a51755814844...
Am I hoping for too much?
I only pay for the domain via namesilo.
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 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.
Even with over 200 posts and a bunch of pages, it's a fast write -> preview loop (less than 3 seconds).
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.
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.
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).
Hugo v0.43 has inbuilt cache busting on the roadmap, and Hugo v0.42 will probably be released in about a week.
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 use a very simple, minimalist (albeit, slightly modified) theme called Oscar [2].
[1] https://abronan.com/ [2] https://github.com/abronan/oscar-ghost
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.
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.
[0]: http://journal.stuffwithstuff.com/
[1]: http://gameprogrammingpatterns.com/
[2]: https://github.com/munificent/game-programming-patterns/blob...
[3]: http://www.craftinginterpreters.com/
[4]: https://github.com/munificent/craftinginterpreters/tree/mast...
[5]: https://github.com/munificent/craftinginterpreters/blob/mast...
Fast, cheap, secure, and fully automated once the hard part (writing) is done.
Works great, and Hugo has incremental builds, so it's blazing fast even for 1000s of blog posts.
I did a somewhat lengthy video on how to get this setup up and running : https://www.youtube.com/watch?v=CSwoCvd4QIc
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.
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 miss that piece of software.
[0] https://github.com/11ty/eleventy [1] https://www.netlify.com
I use Resilio Sync and Lighttpd. I edit from any of my devices, and it's online within a minute.
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.
I'm going to give it a try for my next post.
If Netlify ever dies, it would take me all of 15 minutes to get my site back online on a VPS somewhere.
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.
I would advice against medium, it's a terrible experience from mobile and on PC.
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.
I haven't been working on it much lately, though, as it reached the point of my own personal itch being scratched.
I simply commit the edits in git, push them to Gitlab, and Netlify picks those up and publishes using Hugo to https://scripter.co.
I host my own blog on Gitlab using Jekyll (though I'm hoping to move to my own custom solution on the Elixir language later this year).
Medium is still helpful but I'd rather use that for republishing my work rather than simply letting them own my content outright.
Can import Wordpress, easy editing with Wagtail, sane templating from Django.
Looking at potentially replacing this setup with Wordpress on dotnet core.
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)