Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Best Blogging Platform
92 points by mrfusion on Aug 26, 2019 | hide | past | favorite | 130 comments
I’m curious what everyone would recommend for a new blog? I really want to focus on the writing and not deal with updates and viruses. But I’d still like to do a good degree of customization and plugins and a custom domain name.

To avoid updates and viruses, go with a static site.

There are a ton of good static site generators out there. My blog[0] runs on Jekyll[1]. Hugo[2] is a popular option. I've fiddled with Gatsby[3] and heard good things. Eleventy[4] looks as close to Jekyll-but-in-JavaScript as I've seen.

Since you want to be able to customize it, I'd probably take the static site generator's language into account. Do you like...

Ruby? -> Jekyll[1]

Go? -> Hugo[2]

JavaScript? -> Gatsby[3] or Eleventy[4]

Some other language? -> google "[language] static site generator" and see how many GitHub stars it has.

Once you've figured that out, most of the hosts support custom domains. Netlify[5] is free, and works very well. It's what I use currently. I used to host my site on DigitalOcean[6], but Netlify is definitely more painless, especially from a devops/patching standpoint. Plus it has a CDN so your site would be faster.

[0] https://daveceddia.com/

[1] https://jekyllrb.com/

[2] https://gohugo.io/

[3] https://www.gatsbyjs.org/

[4] https://www.11ty.io/

[5] https://www.netlify.com/

[6] https://www.digitalocean.com/

Static blogs are ok until it's a smallish blog with not much content or many visitors. But can't recommend it for a serious blog proect. One would have to jump through the hoops and use hacks for even the basic things like commenting, searching etc. And forget about slightly advanced stuff like popular posts, related posts etc without some Hugo or Jekyll hacking. WordPress has the lowest barrier to entry as most shared hosts offer one click installs, is the most feature rich blogging platform and even for a complete noob, it is much easier to get started and even customize their blog to a great extent with plugins. I would also like to add that virus affecting WordPress is much of a myth now, WordPress has improved greatly in the recent years and if you just stick with the basic install and just install the reputable plugins, you should be fine. The hacking cases related to WordPress are very few and far between.

I agree that getting things like comments and search running on a static site is a lot work. But I’m of the opinion your personal site doesn’t need those things.

Rarely have I seen interesting discussion happen in the comments of a personal blog. All great discussion is held in aggregators like HN.

Similarly search is best left to specialized platforms such as a search engine. Blogging software may have decent search by why recreate a search engine when duckduckgo.com will far exceed capabilities with site: and filetype:?

For me a personal site and blog are mostly single visit kind of stops. I end up on a blog via a link but almost never do I feel the need to read the top 5 best posts of some blog. I got some interesting information from the current article but then I’m of to the next link that shows up in my feed.

In my opinion a website needs readability[0] and an ATOM/RSS feed. All the rest is part ego ("my content is so great people just have to see what else I wrote") and part feature creep.

[0] https://www.sinax.be/blog/general/guidelines-for-spartan-web...

Sure, for a personal site or a portfolio site, they are not even needed. I also use Hugo for one of my sites, which is just a 5 page website. It is great for such stuff. But for a personal blog, I think both of those things(commenting and search) are absolutely essential.

>Rarely have I seen interesting discussion happen in the comments of a personal blog.

I disagree with this and even more so if we are talking about programming blogs. A lot of interesting discussions and rebuttals happen in the comment sections.

Regarding outsourcing search to a dedicated search engine, its a mixed bag. 99% of the users don't even know about the `site:` and `filetype:` stuff. You also have the option of embedding Google site search but the first four results are ads which isn't very ideal. Wordpress search is decent out of the box but if you want something advanced, it has some nice plugins that allow advanced searching with fuzzy matches.

> But for a personal blog, I think both of those things(commenting and search) are absolutely essential.

What I've found to work well for commenting is to put an e-mail address on the page where people can send their comments. When there is a good comment, I put an update in the article.

The main advantage of this approach is that it weeds out garbage responses. By making it ever so slightly harder for people to post a comment, they are forced to take an extra few seconds to consider if they really have something meaningful to add.

I'm also a fan of the 'email me your comments' approach. The extra effort required acts as an extra filter that is often welcome.

That is a good idea but would people really want to leave the site to open their email client and make a comment?

I had once thought about a different approach - Creating a Google form (for each blog post) and then embedding it on the blog post. Then whenever anyone submits a comment via the form, it would get saved to a Google spreadsheet(this needs to be made publicly readable). The unwanted comments can just be deleted from the spreadsheet. The contents of this spreadsheet can then be obtained in a JSON format and displayed on the blog post using Javascript.

Hmm interesting approach. What about reply notifications? If Jane replies to Joe's comment? Maybe with Zapier or ifttt it'd be possible to construct automatic reply notifications. ... But then, what about unsubscribe, hmm.

> saved to a Google spreadsheet(this needs to be made publicly readable)

Hmm, then, people's email addresses cannot be remembered, meaning, no reply notifications?

Yeah this is just a hacky solution, not very effective. Forget reply notifications, even replying to a comment in a threaded style would be tricky using this approach :)

> That is a good idea but would people really want to leave the site to open their email client and make a comment?

In most cases this means tapping on the link and typing the response. Mobile OSes make it pretty seamless.

Or you can just post the blog post to Reddit/HN with a link to those at the end of the article and let your readers comment there.

Yes but again, I prefer not to offload commenting to a third party because they can ban you(reddit can ban your subreddit) or just stop their service(Google Plus comments). If I am to use Reddit, I might as well just use Disqus or Facebook comments that I can embed on the site and my visitors won't even have to leave the site to comment on a post.

Hmm a 1st party commenting service can ban you too? What makes you feel safer w.r.t. getting banned, if you were to use say a service provided by Ghost, instead of e.g. Disqus?

A difference could be that, with a 1st party commenting service, your whole blog might get banned, instead of only the comments. (Depending on how banning gets implemented.)

Yes I agree. That's why I am a proponent of hosting your blog posts and comments yourself using Wordpress or other similar CMS on a VPS or a shared host.

Also, Ghost doesn't even have a commenting service of their own and one would need to rely on Disqus to add comments on a Ghost powered blog :)

> because they can ban you

Anyone can ban you, even your hosting company. In practice banning is pretty rare.

> I might as well just use Disqus or Facebook comments that I can embed on the site

And you will contribute to unethical tracking practices even if your users are not logged in to Facebook or Disqus[1].

[1] https://replyable.com/2017/03/disqus-is-your-data-worth-trad...

Hosting companies banning you is very rare(at least with reputable ones, I am not sure of the cheap VPSs on lowendbox). And you can always download the database and move to another hosting pretty easily. Subreddits getting banned is not so rare. If lets say Disqus (or reddit) bans you, how do you move those comments to another third party lets say facebook comments(or HN)?

>And you will contribute to unethical tracking practices even if your users are not logged in to Facebook or Disqus[1].

I don't care much about that because one way or the other one of the tech giants is going to track us anyway. I would much rather install Google analytics and get a great overview of my visitors. I don't think anyone who is an active user of the tracking behemothos Facebook or Google(which represents most of the internet users) should be concerned about tracking.

But coming to main point, I am actually against Disqus or facebook comments. I prefer plain old self hosted comments(wordpress) for other reasons and this solves your concern as well.

> Subreddits getting banned is not so rare

If you moderate a subreddit it's extremely unlikely a ban would happen since you have control over the content.

But hey, I get it, you like Wordpress.

Except if you are ayende.com/blog

Yes, the website starts to build slower with growing number of pages. I'm using Metalsmith static site generator for https://www.visualwatermark.com/ The website currently have about 400 pages and it takes 60-70 seconds to build it. Part of the problem is Metalsmith itself - the code in some parts is awful. I had to make some changes to make it work faster. Unfortunately, it's impossible to solve the underlying problem - you have to build the whole website at once, while WordPress builds pages on-demand.

Also static generators aren't as convenient as WordPress is. I'm OK working with markdown or hacking the code, but it's too difficult for my wife, for example. So, she's running a WordPress blog.

Commenting is also better on WordPress. She used to use Discuss for commenting and people are more to reluctant leave Discuss comments than to leave WordPress comments. I believe that's because you don't have to register to leave a comment in WordPress - just type your email and you're ready to go.

Those issues you mention can be easily solved with Jekyll or any other SSG. You do need a bit of hacking but the zero maintenance and raw speed of static sites is worth it IMO.

I wouldn't go with Wordpress or any other CMS unless I absolutely needed permissions for multiple authors and such or if the author couldn't handle writing markdown and using a terminal command.

I am not sure how hacking Hugo or Jekyll could help me add commenting, searching etc. without using a third party service. Don't get me wrong, I still think they are great for small blogs and I use them myself as well for static sites but for a serious blog project or a money site, I think it is much more practical to go with a full blown solution like Wordpress. Regarding speed, with caching plugins and optionally with CDNs like cloudflare, Wordpress can be pretty fast. And for regular users who aren't tech savvy, hugo or jekyll are almost a no-go.

>if the author couldn't handle writing markdown and using a terminal command.

I would say this represents more than 99% of the bloggers. Even I prefer a WYSIWYG interface to markdown any day even though I consider myself somewhat tech-savvy. I find markdown to be very hacky when its a bit more than just headings and paragraphs(eg. nested lists with ordered list inside unordered list are so hard to do in markdown)

> I am not sure how hacking Hugo or Jekyll could help me add commenting, searching etc.

Searching should be left to Google. I'm skeptical blog users actually search on a site though I admit I've never seen any metrics about that.

If you insist on having comments on your site and force users to sign-in etc this can be easily implemented with an API and some client-side code.

> I would say this represents more than 99% of the bloggers.

This thread is about HN users, not the general population.

> I find markdown to be very hacky when its a bit more than just headings and paragraphs(eg. nested lists with ordered list inside unordered list are so hard to do in markdown)

Well, no wonder you prefer Wordpress.

>Searching should be left to Google. I'm skeptical blog users actually search on a site though I admit I've never seen any metrics about that.

They do, please be assured of that. There is a reason companies like Algolia exist to provide better on-site search.

>If you insist on having comments on your site and force users to sign-in etc this can be easily implemented with an API and some client-side code.

Yes or without signing up and just commenting as guest. Welcome to Wordpress :) (And if I have to build another API just for comments, doesn't it defeat the simplicity of using a static generator like Hugo?)

>This thread is about HN users, not the general population.

I am not sure where you got that from? The author never said he was going to create a blog targeted for the HN crowd or anything like that. Maybe I am missing something?

>Well, no wonder you prefer Wordpress.

At least you acknowledge markdown's inferiority in this case.

> There is a reason companies like Algolia exist to provide better on-site search.

I didn't say users do not search on-site, I said users do not search on blogs.

> And if I have to build another API just for comments, doesn't it defeat the simplicity of using a static generator like Hugo?

Not really. That is solved once and all your hosting problems are solved forever.

> Maybe I am missing something?

Maybe I'm wrong, but OP seems to be asking for himself, and this is HN after all.

> At least you acknowledge markdown's inferiority in this case.

No, I'm acknowledging your lack of technical skills.

>I didn't say users do not search on-site, I said users do not search on blogs.

I think they do. Also, Algolia has an official Wordpress plugin for one click installation. Why do you think that exists? Many of the highly trafficked sites in every niche are blogs. Take Mashable, ZDNet for instance. If you really think people don't do on site search on those blogs, then I have no say.

Yes the OP is asking for himself but he doesn't mention he's targeting the HN crowd.

>No, I'm acknowledging your lack of technical skills.

Yes, I already said `I consider myself somewhat tech-savvy` so no need to be snide. But that is beside the point, and you actually just proved what I am trying to say - for a regular user, accomplishing those things is much easier with a WYSIWYG editor that Wordpress or other CMSs offer, than with markdown.

> virus affecting WordPress is much of a myth now

There's still few every year https://wordpress.org/news/category/security/

And that's just the core WordPress. Plugins and themes carry their own issues. Reputable or not.

big props to hugo for using a static binary without some insane dependency chain, i'm really pleased with it. hosting my blog on a $15/y vps with a vanity domain and hugo was one of my first projects to learn to manage a server, and i gave up with jekyll after way too much struggling with ruby.

that said i'm not sure how it fares wrt to plugins, i think it's pretty vanilla in terms of user-facing features (though plenty of very straightforward theme tweaking is possible).

I was balking at $15 (for a static site) until I re-read and got /y right. Who offers that?

i use ramnode but you should check out lowendbox, they aggregate cheap vps services and deals

Specifically I believe you are referring to tinykvm , their 256mb ram tiny vps. I used them when I made my wedding website in flask and was very pleased with their service. Not affiliated with them at all and was a happy customer.

I am wary of the very cheap VPSs. I have seen many complaints about lack of customer support, long downtimes and poor performance for these ultra cheap VPSs on lowendbox. Vultr is generally my goto.

Do people write their own static site generators because they're bored, or because templating is always annoying and it's more fun to write your own than learn a new system?

None of them do anything novel, or particularly better than all the others. They just have some quirk that makes people choose them. "This one is a static binary!" "This one uses a specific programming language!" "This one uses a unique templating language!"

Would having a dedicated, generic standard for templating even be possible? Something with extra standards for specific uses, so you could just learn the extensions that are useful for your particular application? Maybe that would eliminate the need for 1,000 identical-but-incompatible solutions.

After a while, what you actually want is a CMS, but the good ones usually are not free.

> Do people write their own static site generators because they're bored, or because templating is always annoying and it's more fun to write your own than learn a new system?

In my case [0] because I wanted to generate the site from a single Markdown file. I wrote a Perl program to accomplish this. Then I got bored and wrote a Python version as well. And it works, I have kept up posting to my blog [1] for 150+ days since it went live.

[0] https://github.com/john-bokma/tumblelog

[1] http://plurrrr.com/

> In my case [0] because I wanted to generate the site from a single Markdown file.

Did you consider pandoc?

SSGs are great. In Python I like Nikola.


Pelican is also cool: https://blog.getpelican.com/

We use Netlify and Hugo for our company site, which also shows our 'real-time' inventory. In reality, I have a python script that grabs our inventory from our internal ERP system, generates a hugo site and redeploys to Netlify every 20 minutes.

It's been running like a charm for ~1 year.

While it doesn't seem very popular in Hacker News, I think WordPress [1] is an excellent platform for a blog. The community is terrific, there is a tremendous amount of documentation out there, and it is entirely customisable.

If you go with the managed hosting route, most companies handle security and updates for you, so you can focus on writing and leave everything technical to someone else.

I am working on one myself — and have a private beta running, if you are interested [2], —, but of the top of my head, some companies that will go above and beyond as far as WordPress is concerned, include Kinsta [3], Pantheon [4] and Presslabs [5]. The last one is based in Romania and open sourced a bunch of their stack, worth checking out.

[1] https://wordpress.org

[2] Just email me at help@madpony.co for information

[3] https://kinsta.com

[4] https://pantheon.io

[5] https://www.presslabs.com

I think Wordpress is fine if you keep it maintained. I've just seen a ton of sites end up with malware, gaping security holes, etc. because the site owner didn't vet the plugins they were installing.

Wordpress falls over under an even modest amount of traffic without jumping through a bunch of caching plugin hoops, it’s written in PHP, it requires dynamic hosting, and it regularly has major security issues. It’s not good.

IMO, the only reason that you gave that holds water here is that it requires dynamic hosting and that the resulting operational complexity just isn't worth it for a personal blog. Having to add caching plugins/config for a PHP CMS isn't out of the ordinary, being written in PHP is not in itself a negative point (modern PHP really doesn't suck).

I will never, ever, ever advocate for running Wordpress for much of anything, but I would also argue that any nontrivial piece of software has a fair number of security issues and that Wordpress vulnerabilities are particularly visible because of how widely used it is and the public-facing nature of the software.

What is the benefit of wordpress over hosting yourself?

The OP's footnote for WordPress linked to wordpress.org, which suggests they meant the self-hostable software.

If you have a gun pointed to your head with the requirements you have listed then you go Wordpress. Updates aren't difficult. I'm not sure about plugins (I haven't used WP in a long time,) but you can set the core Wordpress updates to be automatic. It will handle everything you need.

If after a week of coding you arrive to the weekend and think "I want to do a bunch more coding" then you go with a static site generator. Then you don't finish over the weekend and have to screw with it the following weekend as well. Then you finally publish the thing with "good enough but not quite what you wanted" functionality and let it sit there for weeks. Then you come back to it and scratch your head trying to remember how to publish / build / deploy it (or you cycle through your shell history hoping the commands are still in there.) One day you decide that you want to add that functionality you left out the first time and find that you have to relearn everything you had to learn to build the thing in the first place. Sure, you vaguely remember the easy stuff, but you have to refresh on the easy stuff to get back to the harder stuff which you never had time to figure out from the beginning.

Anyone been there? ;) In this case, I'm thinking of Hugo, but I imagine it's much the same for all the others.

With Wordpress you get enough balance of customization and ease of use that you can just get on with it. If you need a bit of help, then get on Fiverr or similar and have someone throw you pointers (or just do it for you) to save you time in getting past tricky parts.

There's a reason loads of sites on the internet are using WP. People use it to GTD and move on to something else.

Exactly. Outside of the nerd bubble of HN, Wordpress is still the defacto choice for a blogging platform. Nothing comes close to WordPress in terms of customization freedom and "zero to deploy".

I agree. A social (card gaming) group I’m involved with used self-hosted WordPress and it’s been great. We use it primarily for events and post-game blog posts. Non technical people can contribute blog posts and other stuff, and I can occasionally pretend to be a sysadmin.

Cost is essentially free since it piggy backs on a VPS that would otherwise be running anyway.

at 30% of the web, and made from years of sprawling PHP it's a Wonderful attack target which is why it requires constant updating, maintaining, and unfucking from the malware that got through.

I have WP sites. I have static sites. i HATE the WP sites despite how much easier they are to use, because i'm constantly dealing with spam and BS hacking attempts (sometimes successful).

If you like writing Python code, I recommend https://github.com/sunainapai/makesite (makesite.py). As the README says, it is a simple, lightweight, and magic-free static blog generator. The entire static blog generator code is in a single file named makesite.py.

Add your content to the `content` directory. Then run `python3 makesite.py` to generate the static blog. It writes the generated blog to the `_site` directory. Finally copy this directory to wherever you want to serve your blog from, e.g., GitHub repo with GitHub pages enabled, virtual private server, cloud storage, etc.

It works pretty well out of the box and it is highly customizable too because doing so involves just modifying the existing Python code or writing your own Python code.

Disclaimer: This project has been written by my wife. I use it myself to render my static blog at https://susam.in/.

FYI: That's a disclosure, not a disclaimer. A disclaimer would be something like "This project has been written by my wife, so I don't take any responsibility for its quality", which is clearly not your intention.

Thanks for correcting me. Indeed, I meant it as a disclosure, not a disclaimer. I was aware of the difference between the two words but I made a thinking error while writing my comment.

I have a soft spot for python modules that fit in a single file like this, like bottle.py as well. Gives you so much freedom to just drop a file in a folder and call it a day, instead of having to worry about what can sometimes be complex dependency management.

> This project has been written by my wife.

Aww... That's so sweet.

Ghost https://ghost.org/ https://github.com/TryGhost/Ghost is best for the need you've described, it's no-nonsense fast as lightning, unlike bloated WordPress.

Hosted Ghost is really expensive.

Self-hosted Ghost is a pain in the ass to maintain.

Disclaimer: the above is my own experience, and not necessarily that of others.

How is it a pain to maintain? I’m using the Dockerized version and apart from increasing the version number in the Docker Compose file there’s 0 maintenance in the last years of running it.

The Docker community maintains that image, not Ghost directly.

I ran into several problems writing Ansible automation to spin up and configure a Ghost server. Eventually I gave up and used a different blog engine that was more amenable to automation.

Granted, this may just be a low motivation on my part to use Ghost, in favor of just getting something up and running.

Sadly even though it is not popular in HN WordPress is the best for you.

Easy to set up and try and you can customize it as well. With lots of plugins for everything.

You can go with the paid WordPress.com and they will handle all the updates for you.

Static sites are good but when it is time for SEO and customisation you will realize that it can get really painful in a static site generator.

> Static sites are good but when it is time for SEO and customisation you will realize that it can get really painful in a static site generator.

care to explain? because that makes _no_ sense to me. SEO is primarily about content these days. The little "add this tag for SEO WIN" type things stopped being useful years ago. Have a good title, have good content, link your stuff well, update regularly: success!

> Static sites are good but when it is time for SEO and customisation you will realize that it can get really painful in a static site generator.

My experience has been quite the contrary. I've found it super easy to get good SEO with Jekyll sites.

What have you found to be painful?

If you really want to avoid updates and viruses, you need to go static. There's hundreds of static site generators out there.

I recommend [1] hexo, for it's simplicity. You can write in markdown files and generate a static blog for static hosting.

But [2] Gatsby is another similar framework, but it uses React.

[1] https://hexo.io/

[2] https://www.gatsbyjs.org

Another static site generator that is gaining traction is Eleventy[1]. It's very small and simple, entirely build in js, supports most templating languages you already know and it's more flexible than GatbyJS. For a more complete blogging solution, though, I'd recommend Ghost.[2]. If you're building a small blog just for fun you should definitely go static and scratch your hacker's itch.

[1]https://www.11ty.io [2]https://ghost.org

You can also combine the two and use a Ghost back end with an Eleventy front-end, fwiw: https://ghost.org/docs/api/v2/eleventy/

I feel...... spuriously invoked

I wrote my own one-off static site generator.

It is freeing. Anything is possible, and nothing is in your way. It really doesn't take that much time.



Yeah I find just knock something up in NodeJS. Then when you need to do something custom you are writing JS. Familiar stuff. Compare that to the headache of figuring out how to get Hugo templates to do anything non trivial. Or even getting Jekyll to run.

I used Wordpress for years. It was such a hassle constantly getting emails about patching. In the end I got fed up and moved to hugo hosted on netlify. Fantastic. Zero maintenance.

I was also impressed by Netlify. I tried multiple other solutions to host my website but Netlify was my favorite at the end. Easy to setup, free and fast. I configured my account, access to Github, deployment, custom domain and SSL in 5 minutes.

Static sites are cool but annoying to customize. WordPress is cool but a server is annoying to maintain.

Solution: build on WordPress, use wget to pull a mirror, serve that as a static site. This is way more common than you may initially guess.

I also wrote my own static site generator using Python [0] that I use to generate my personal site [2], and that I introduced as a blog post here [1].

Posts are written in Markdown with simple formatting, templates are HTML/CSS with Jinja2 templating, and it includes support for things like automatic table-of-contents generation for posts, blog index pagination, tags, related posts (manually tagged, for now), comments (using utteranc.es and GitHub issues), and automatic image compression/scaling/caching (between builds). Eventually, I intend to add things automated 'related posts' list generation, but haven't gotten around to it yet.

[0]: https://github.com/ggoss/sitegen

[1]: https://garrettgoss.com/blog/2019/05/sitegen.html

[2]: https://garrettgoss.com

WordPress all the way. I genuinely think it's the self-hosted solution that offers the best combination of control, flexibility and ease-of-use. You just need a couple of plugins for performance and safety and you are set [0].

There are literally tens of thousands of themes - open source and commercial - that you can try out in a matter of minutes instead of wasting days or weeks designing your own theme.

You rarely have to code stuff by yourself because there is a plugin for any functionality you can imagine.

Latest version of WordPress comes with the new Gutenberg editor which I'm personally not a huge fan of as it obfuscates too much of WordPress' inner workings. You might, therefore, want to use the Classic Editor plugin as a solution.

If you haven't already bought a domain name, I recommend Porkbun. Moved several domains to them in the past months and have found them to be cheap and yet reliable straight shooters.

[0] My list of must-have plugins: Yoast (for SEO), Autoptimize (caching/performance), Wordfence Security (multi-layer security).

For any serious blogging project, WordPress is by far the best choice, nothing comes close in terms of features, ease of use and ease of customization. I would also add contact form 7 to the list.

I got tired of dealing with WordPress. I moved to Jekyll hosted on Netlify. I use Forestry as a frontend. You can read more at https://dev.clintonblackburn.com/2019/03/31/wordpress-to-jek....

After years of trying different things, I found something that works great for me, though I suspect you’ll have to try a few things until you find what is comfortable for you.

I publish my blog as a static site served by nginx on a $5 / node (which also hosts a dozen other things—I don’t get much traffic). Every once in a while I ssh in and run an apt upgrade but no updates to manage beyond that. I use https://getstatik.com/ to generate the site from markdown files. I’m surprised it hasn’t caught on more given how flexible it lets you be with defining how your site should work. The whole thing is stored on git and I can deploy with a push to my server remote.

That said if you want to focus on writing I would start with something as simple as ghost of medium to see if you’re actually as into writing as you think.

I personally started with a hand-rolled static html site and some content. When I decided to self-host, I got a super cheap VPS and just ran the site off of Node.js with an nginx reverse proxy.

After around 10 blog posts, I just wrote my own static site generator: https://smalldata.tech/blog/2018/08/16/building-a-simple-sta...

Most importantly, what works for me is just writing in HTML. It is more expressive than markdown and the browser preview _just works_ (including displaying images and/or running inlined js if certain posts require it)!

I've been using pelican [1] with S3 for my blog [2]. It comes with a nice makefile that handles the generation (markdown -> HTML), dev server (localhost:8000 that regenerates files upon modification) and deployment to S3 (uses s3cmd along with API keys to upload to a designated bucket). It offers GitHub, ftp, ssh, and dropbox options for deployment as well, but I've never tried them.

[1] https://blog.getpelican.com

[2] http://nil.wallyjones.com

Also rsync (the one I use).

I use both, WordPress and Hugo.

I use WordPress for personal blog, which consist mostly of links, highlights from books, photography, and stream of concise writing.

And I use Hugo for my professional website with a few blog posts but it is mostly focused on resume.

WordPress makes it super easy to share content via its app or bookmarklet on computer. Writing experience on WordPress editor is okay. I get average of 100 visitors per month but don't get any comments. I leave comments turned on because if I want to add a note when using someone else's machine, I can. Otherwise, I would turn off commenting and reduce one risk vector.

For Hugo, I use dedicated writing app, iaWriter[0]. It is definitely better experience of writing. My Hugo blog also has a private area where I write my fiction projects or write private notes. Of course, Hugo has no comments or search. Not really important for me. You can easily modify Hugo template to your liking but stuff like scheduled posts, automatic sharing on social networks, related posts, etc is not easily doable.

Based on the fact that you want to focus on writing, I would suggest Hugo with a good writing app. Of course, you can write blog posts in any editor and copy paste into WordPress or wherever.

[0]: https://ia.net/writer

I’ve spent countless days trying various static site generators and alternatives. I was trying to replace a self host Wordpress site with github pages to save money.

I am now planning to instead build a new wordpress site and self host somewhere cheaper. WP is a PITA from a security point of view, but the alternatives are IMO uniformly terrible. WordPress just works and has a good ecosystem of plugins and themes.

I was really disappointed with the static site generators. I’d love to write one that works as I’d expect - a simple way to turn markdown into a site with a single config file and python command, no complex setup, no using git as a package manager etc. with a ready set of auto-generated based on themes for other packages - but this will be a future project.

It would look something like:

/pages - contains markdown pages /posts - markdown posts /themes - one subdir per theme /output - generated html

To generation html “ssg” in the root dir.

The themes would be anything you like, with very few template tags. The markdown would be translated to simple html and inserted in the files.

  pip install ssg
  create a page in /posts with a title and body
  open output/index.html

I also wrote my own static blog generator. It's available as either a Perl or a Python program [0]. I use it to write a static microblog [1].

[0] https://github.com/john-bokma/tumblelog

[1] http://plurrrr.com/

I use Hugo for my blog but also for other non-blog sites. Generating static HTML gives me peace of mind and Go is super fast at regenerating the site. Deploying is a joyful process using GitHub and Netlify. I’d go static just to use Netlify. And the best part for me is the tech is “boring” so I just focus on the content, rather than on the blog platform.

Your posts have been helpful, thanks for the writing you do!

If you like writing some code, want full control (i.e. payload size, extensibility, theming, etc) with some OOTB features (i.e. zero setup, server rendering, static exporting, etc), and don't mind react or markdown, I'd recommend nextjs + netlify.

I find Gatsby and Hugo very powerful; but miss the simplicity of Jykell. Even if you don't think nextjs is great for blogging, it's still worth checking out! Their docs + getting started guide are some of the best.

For example; writing up a small MVP site to test out a business idea (https://www.hiredsomehelp.com/), it's in progress, but even still, only took about 15 minutes to push up via netlify.

That being said, I feel like all these new static site generators are terrific; a real sweet spot in web development in my opinion :)

Stay the hell away from Wordpress. It. Will. Get. You. When you least expect it ️

This may not be for everyone but here is what I did.

I wrote 5 articles that I thought were interesting. Then I bought a domain name, wrote a php script to serve them. (If url1 do x, if url2 do y) nothing fancy.

Only when I saw that I could sustain writing regularly I started worrying about the platform. And there is no best platform, only the one you are familiar with.

Curious, why didn't you just make it a static site then?

Only to have a reusable header and footer.

You can do that with a static site and includes.

I ended up with a domain purchased on Gandi.

A Hugo static website on Github.

Netlify hosting that Github repo.

It's really turnkey and zero maintenance, and free.


Github Pages + Jekyll.

Can use it with your custom domain, pretty customisable, and since its a static site, relatively secure.

That’s what I use, but one word of warning: if you rely on GitHub to generate the pages for you, you can’t use any custom plugins aside from the ones they’ve whitelisted.

I had a similar issue - turns out you can generate it statically locally and commit the generated HTML files: https://help.github.com/en/articles/using-a-static-site-gene...

Unless you absolutely cannot stand PHP I will always recommend Kirby. You get blogging out of the box, comments, search, tags, related posts, featured posts, metadata stuff like SEO/RSS/Sitemaps is easy, a decent amount of themes out there, easy to make your own, can be deployed on shared hosting like Siteground or a bespoke server like Digita Ocean and the CMS interface is a joy to use.

Downsides: all the code is on github but it’s not technically open source. I forget what the license is but it’s not MIT or anything like that.

It also technically costs money. The maintainers let you download a working basic site and never nag you about paying. It’s an honor system.

Highly recommend the ghost platform. It gets out of your way and lets you focus on writing. Nothing else. You can customize it as much as you want but it's primary focus is getting you to writing first.

This is assuming you are willing to pay for at least your own server. Their hosted option is also great and highly recommended if you want to just start writing before thinking of customizations.

I find static site generators to be awesome but generally a hindrance to the flow of wanting to start writing spontaneously. More often than not, more time goes into figuring out the perfect workflow for the blog system rather than writing. Caveats, YMMV etc apply :)

Does Ghost support commenting yet? Can't imagine a blog without a commenting feature.

There's several comment integrations you can choose from https://ghost.org/integrations/community/

That is exactly my point. With Ghost, I would have to resort to a third party service to have something so essential as a commenting system for a blog. Comments are a part of your blog's content and it is necessary to have your own control over it, as these third party providers can shut down or just ban your site for any reason(take Google Plus comments for instance which many blogs were using as a commenting platform for their blogs). Relying on a third party provider for comments should be a choice, not a compulsion.

Aren't comments a response to your blog content and not part of the content itself? Having the option to use a multitude of commenting services seems like lots of control surely?

If you look at the various options being suggested in the comments here you'll see many of them don't come with comments out of the box. Jekyll, Gatsby, Hugo, 11ty all require you to use a third party service or roll your own.

I strongly believe that they are a part of the content, just not in the traditional sense. Many times I find more substance in the comments than in the main content. Sure it's great to have more control over which commenting system to choose, but would adding a native commenting diminish that control? Certainly not right? (If you check out ghost's forums, you will find many people asking for a native commenting system)

Yes none of those static site generators support commenting, making them not very suitable for blogging(they dont even support searches). That is why I am not a proponent of static generators as a blogging platform.

Ghost itself chose to not solve commenting. They give you flexibility to install commenting via js or however else you see fit by allowing editing of templates.

I wonder what the motivation for that would have been. There seem to be many users of Ghost who are asking for this functionality and I don't think it's a big deal for the Ghost team to implement that. I think it is not a good idea to rely on a third party for commenting especially if you have a thriving blog. They could ban you or just shut down services(Google Plus comments), some insert their own ads(Disqus) and so on.

Glad to hear it's no big deal to solve it :) https://github.com/tryghost - looking forward to your PR!

I see you are a founder of Ghost. Maybe I would have given it a shot if I were proficient in Node or JS :) But I remember creating toy blog app that had commenting feature, some years back.

Like the GP, I was also under the impression that Ghost doesn't support commenting by design but you are suggesting otherwise. I find it hard to believe that adding commenting system(something that all major CMSs have had since forever) would be that technically challenging that it hasn't been added even six years after its first release.

wordpress always felt really overkill for what i wanted, and static site gens are fun for people who like to tinker under the hood. personally i use hugo, but i am still shopping around for something a little less convoluted. stumbled onto a super old package called blazeblogger and it'a been neat, but we will see

when i just want something i can setup with minimal hassle, i have always loved GetSimple (http://get-simple.info/) although i imagine mentioning a flat-file platform will probably elicit some reactions - flat-file meaning it doesn't use a database to store content, but instead simply stores the data, encrypted, in actual textfiles on your webserver. when i was using godaddy as a host, their mysql db's were always a bit laggy, and something like wordpress would always have that extra, noticeable pause during loading that bugged me to no end. getsimple with the blogging plugin was always faster, configuring it was easy, and i didn't have to stray too far outside my limited knowledge of html/css/php to play with the styling and theming.

WordPress is hard to beat. For a simple blog the updates are minimal and there are even Managed WordPress hosts that will keep it updated for you as part of the hosting plan. They typically also have on boarding.setup wizards to get it all fully setup in a few minutes.

Sure, you could use something more custom, but you'll just spend more time coding rather than writing on your blog.

Static is great: more secure, stands up to very high loads, minimal maintenance.

I'd actually recommend writing in plain html+css at first, and then moving over to a static site generator once you have ~10 posts. You'll have a much better idea about what makes a good system at that point.

(I wrote my own static site generator after ~100 posts, which is longer than I'd recommend going!)

In my experience Hugo has been really nice and simple to work with. I just push markdown to git and it shows up on my site.

Tiddlywiki! Currently I'm working on having Tiddlywiki in a serverless env: Lambda + DynamDB + API Gateway.

We’re working on a security focused managed Wordpress hosting platform with custom email and templates included. If you’d like to beta test it email admin@ sitebay.org and we’ll put you up for however long you need free. Thanks to YC summer startup school for hooking us up with some compute credits.

You're describing hosted WordPress (wordpress.com, instead of wordpress.org).

If you don't care as much about customization or plugins, then WriteFreely is quite nice.

If you're willing to put in a fair amount of coding and design effort, you could use a static site generator, backed by Netlify as the host.

Another options that seems promising is Netlify CMS: https://www.netlifycms.org

It puts the content in the git repo so that your SSG can read from that. Then your CI can trigger a build and deploy after each push to the repo.

Gatsby, Hugo or plain(ish) Jekkyl.

Simple, clean, fast. Updates and viruses are a non-issue.

Depends what plugins you're talking about, but if you're a non-programmer/dev type, then you're probably better off using Wordpress as a blogging platform if some serious customisation is wanted.

Tried gatsby recently and I hate it. Their choice to use graphql for a static site generator makes no sense to me.

Trying to build anything beyond a super generic blog is a huge chore. Hugo has a much, much better community IMO

I agree. Gatsby is one of the worst products I have ever worked with. The code itself isn't bad, but the tech stack and UX is horrible. It's the epitome of hipster JavaScript.

I'm amazed that they got funding for it...

I hate to be negative about products others have built as I tend to believe that if it "sucks" it's because I'm not the target audience.

That said, I am happy to hear I'm not the only one with this sentiment.

I’m the same way, but there’s a big difference between using a technology that’s not designed for your use case and using a technology that just sucks, and frankly gatsby is the latter. It in no way outshines any other major static site generator available today.

There's Zola, a bit like Hugo but written in Rust,


and, looking at the readme, a bit more features than Hugo, e.g. built in search (how does that work?).

> I really want to focus on the writing and not deal with updates and viruses.

In such case, html+css might be a good choice for you. Using static site generator could make it easier to maintain your blog. I personally like Hugo due to its speed.

Humorously, you can (probably) do all that with BlogSpot.

Blogspot is still a very good platform. If I am not hosting it myself, I would choose a Blogspot blog over a GitHub pages one anyday. And blogspot also allows advertisements which is great.

I would argue that advertisements are not, in fact, great.

But Blogspot as a blogging platform is still a viable choice.

Yes of course ads aren't great but I love me some money on the side while I am blogging away :). Also I don't find adsense small text ads to be very obtrusive. 10 years ago I knew a few bloggers that were making 4 figure earnings via just blogspot blogs and adsense. Adsense pays like shit these days.

I use hugo with gitlab pages. Hugo is customizeable and portable. You can host with anything, not just gitlab. nginx even.

https://micro.blog is nice too.

Recently I looked into the landscape to see what I felt comfortable with.

tl;dr: I ended up using eleventy with tailwindcss.

It depends what you are comfortable with...

There are a few blogging sites (their names escape me at the moment but are similar to https://write.as) that seemed interesting. Again, I did a quick search but couldn't find the one I had in mind.

My preference is python, so naturally I looked there first. I can't remember what happened to pelican, why I didn't go for it. Nikola seemed nice until I started reading the documentation. I also looked at some that were further down static gens list. But something was missing.

Jekyll has great documentation, but there are a lot of moving pieces. You can make it into a full fledge website that has a blog, or make it into a blog - quite easily. It seems that whoever states that Jekyll is geared towards creating a blog..... who knows why?!

Played around with Hugo last year and meh...

Now, I don't know how much looking into different ssg influenced the ease it was to pick up eleventy, but it just made sense. It's a bare bones static site generator that - just works. There are several blog posts that will get you up and running quickly. There are several skeleton GitHub repos, some use tailwindCSS, some have netlify Cms already configured, some are plain. Or you can just build your own.

Another I picked it, which is on a personal level. Since it's such a well structured, bare-bone project, its helping me learn/practice JavaScript and it's ecosystem. npm scripts is all you need.

All the other tools, gatsby, etc - are great if you already understand react. And even if you don't but are interested - I got the impression (gatsby at least) that it's documentation was good and you could learn a great deal about react going through it. Maybe, I don't know.

Finally... I feel that some projects could do with an overhaul, at least with their documentation. Some parts felt like an afterthought instead of one cohesive, linear explanation. Not an easy task in the least, but what is?

But more importantly, pick one thing and stick to it (unless it proves to be hindering productivity).

I'm a Suarepspace guy myself, have been for 9 years in November.

Github + github pages.

Keep your text in md files and host them for free.

If you're looking for a blog to help you with your productivity, I highly recommend https://quire.io/blog/

This has nothing to do with the OP's question, though...

jekyll, ghost, and wordpress are the easiest to setup and customize

Publii + Netlify

github pages, and commit my own vanilla html

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact