top | item 41014806

Ask HN: What is the best way to author blogs in 2024?

120 points| badrabbit | 1 year ago

I want to share technical blog content but I want to author it as I am developing the content easily, screenshots and markdown would be ideal and I don't want to self host things.

What is the ideal tool to help create quality content?

133 comments

order

nicbou|1 year ago

I run allaboutberlin.com for a living. I switched from Craft CMS to a homebrew static site generator (Markdown + Jekyll) and it was a game changer.

Static sites are almost maintenance-free. They cost pennies to host. You work on your content using the tools that you love, if necessary offline. There are many excellent markdown editors and no CMS comes close. Everything is under source control and deploys with a push.

If you're used to text files and command line utilities, static site generators are a no-brainer. You probably shouldn't roll your own though.

Brajeshwar|1 year ago

All about Berlin is beautiful. I felt nice to know about the simple but powerful setup. I was all after CloudFlare pages with all the options a few years back and I experienced downtimes. I don't remember a single downtime in the last year or so with GitHub Pages. Of course, I use CloudFlare on top to greet the visitors.

guenthert|1 year ago

Just had a peek at allaboutberlin.com. Pretty, thankfully slim and what I've seen (just glanced over the housing section) solid advice. You deserve some price for that.

pcranaway|1 year ago

thank you for making this site! i'm planning on moving to germany after i'm done with my studies and this will be pretty helpful do you have any other resources helpful for expats? (perhaps something more like adjusting to the social life, meeting people, etc) would sure be helpful to put it there

pjot|1 year ago

Why not roll your own? Sure, you have to build it and maintain it, but isn’t that in the spirit of programming? It’s fun.

tnvmadhav|1 year ago

Use a Static Site Generator like [Hugo](https://gohugo.io) and use GitHub pages or even Netlify which allows for CI/CD + Custom Domain with HTTPS/SSL certificates.

I've been using Hugo + Netlify combination for more than 4 years now and It's a breeze.

If you want to go with a full no-code solution, I'd recommend [feather.so](https://feather.so/) (I haven't used personally but heard good things about it in the past)

vladsiv|1 year ago

I am using a simple Jekyll theme minimal-mistakes[0] which I customized to suit my needs.

I'm hosting my blog[1] on GitHub Pages, the repo[2] is public so you can take a look and fork it if you find it interesting.

The setup is really simple, straightforward, and no-cost.

[0] - https://github.com/mmistakes/minimal-mistakes

[1] - https://www.vladsiv.com/

[2] - https://github.com/VladimirSiv/VladimirSiv.github.io

BearGrass|1 year ago

My lack of knowledge has led me to only have heard of WordPress, but it feels cumbersome to operate, so I've been writing some 'draft' blogs locally. Thank you for letting me know about this solution; I've already started my first blog.

activatedgeek|1 year ago

I use Astro + Cloudflare Pages for my website [1]. I document the key bits of my stack here [2] for completeness.

I've been very happy with Astro because it is a good example of low floor and high ceiling software. I can start with plain HTML, make it more flexible with Astro language (still very close to HTML), make authoring easier with Markdown (+ lifestyle extensions from Remark/Rehype), and extend to frameworks like React on a need basis (which I use for some pages where I use maps).

[1]: https://sanyamkapoor.com [2]: https://sanyamkapoor.com/kb/the-stack

zaep|1 year ago

I am very happy with Zola. Every SSG has its own shortcomings, for Zola I was initially bothered by lack of 'proper' footnotes and the insistence on having to have frontmatter, but I've yet to feel that I cannot do something really. The docs can be a touch confusing imo, but they're written with care.

comatory|1 year ago

I can only recommend Zola as well. I’ve been using it for past 4 years or so and it’s been very stable. Like you, I feel the docs could be a bit more deeper (+more examples) but I’ve always managed to figure out what I need to do.

sakesun|1 year ago

I'd suggest Astro (https://astro.build/)

BasiliusCarver|1 year ago

Astro is awesome. It’s easy enough to get started with a template for a static site and flexible enough to build dynamic web apps.

My static personal site is Astro hosted on cloudflare pages https://github.com/ShaunLawrie/shaunlawrie.com

And I used their documentation template https://starlight.astro.build/ for my autogenerated docs on https://pwshspectreconsole.com/

I love having the ability to focus on the content and never having any blockers if I want to do something weird like embed a prebuilt react component for some edge cases.

J_Shelby_J|1 year ago

1+ Astro.

I actually built a low-code blog template using Astro for my partner and friends [1].

I set it up so you can publish a github pages site from your browser (using a dev container), or you can just drop in markdown files into vscode. It's not quite no-code, but I think if I could add a simple UI it in theory could be.

[1] https://github.com/easy-astro-blog-creator/easy-astro-blog-c...

cpach|1 year ago

Haven’t tried Astro myself, but AFAICT it’s compatible with AWS Amplify – which in my book is a huge plus.

The Amplify hosting platform is very easy to get started with. I use it with Hugo, it’s super-convenient, IMO.

https://docs.astro.build/en/guides/deploy/aws/

photon_collider|1 year ago

Astro is really good for this use case. Also easy to host on platforms like Netlify.

aryonoco|1 year ago

Some alternative solutions that I haven't seen mentioned here are: Write.as (or it's open source code WriteFreely if one wants to self host) and Memos (which can be self hosted, or you can use a platform such as pikapods to host it for you

Personally I settled on Astro + Netlify for my technical blog. I can write in Markdown, push to GitHub, and it automatically gets compiled and hosted by Netlify for free.

However for non programmers friends and family, I've setup a few blogs with Memos and they all love it.

__rito__|1 year ago

Can you please share your Astro + Netlify blog's URL?

cpach|1 year ago

usememos.com?

manuelmoreale|1 year ago

Not sure which one’s the ideal tool but I’m slowly collecting them all here: https://manuelmoreale.com/blog-platforms

jessetemp|1 year ago

I don't want to cramp your style, but displaying those in a table would really improve readability

cpach|1 year ago

This list is great. Thank you for compiling it!

torunar|1 year ago

Whatever way you choose, don’t forget to include an RSS feed for your blog.

inglor_cz|1 year ago

I am just happy with self-hosted Wordpress. Lots of interesting plugins, once you get the hang of it, you can write your own plugins (as I did). Can take moderate load (say, 30 visitors a minute) just fine.

1000 a minute would be bad, but that's not a typical load for a blog, unless something you wrote goes completely viral. Happened precisely once to me in 8 years of writing.

curious_curios|1 year ago

If you want simple, free and flexible you can build a static site blog with Hugo and host on GitHub Pages.

j_bum|1 year ago

I love Quarto [0] and use GitHub pages for hosting.

Quarto works nicely with several IDEs, and works out of the box with both Python, R, and Observable JS. Typst support was also just added, but I haven’t explored that yet.

The documentation is also extensive. Here is the link to setting up a blog [1].

[0] https://quarto.org/

[1] https://quarto.org/docs/websites/website-blog.html

vcf|1 year ago

I’ve been using Quarto for a few months now and it’s been great to be able to turn Jupyter notebooks into blog posts with not extra work.

imacrayon|1 year ago

Eleventy. It’s a static site generator that’s super stable, they take backwards compatibility very seriously so you can count on it for a long time. It’s lightweight so you don’t have to install a million dependencies to get it working, and it’s the only one of the big SSG projects that’s independently funded so they’re not chasing VC-backed hyper growth.

https://www.11ty.dev/

kylebenzle|1 year ago

In 2024 the ONLY reasonable way to keep a blog is your own personal site. EVERYTHING else will eventually get sold or turn to crap when they need to monetize.

gls2ro|1 year ago

I use Hashnode[0] for my main technical blog[1] as they support custom domain and all posts can be automatically saved to Github as markdown.

I also use for manually saving some comments/replies I post on social media Scribbles - a simple blog engine. I publish them on a subdomain[3] in case you want to see how it looks like.

Here are some things I would look for when choosing a platform:

1. Bring your own domain - this is very important because it allows flexibility to switch to any other platform while keeping your audience/place

2. Export as markdown - while markdown is not the best format, still exporting to it makes the possibility to migrate easier.

3. Have support for RSS - I use RSS to track a big number of technical blog and consider it important

4. Have support to display author name and date of publishing. This is important for technical topics to allow proper citation and to put the knowledge in context.

- [0] https://hashnode.com

- [1] https://allaboutcoding.ghinda.com

- [2] https://scribbles.page

- [3] https://notes.ghinda.com

xrd|1 year ago

(I'm biased because I wrote this blog tool, so take my comments with the appropriate skepticism)

I recommend Svekyll (https://extrastatic.dev/svekyll/svekyll-cli). Svekyll combines the simplicity of Jekyll with the power of Svelte.

This is a post I made recently:

https://webiphany.com/2024-04-29-distance-sean-shawn

That post uses Svelte to build interesting animations, includes a AI embedding model right inside the post and runs in your browser.

And, if you want to hack the entire post yourself, scroll to the bottom, click the view source button and then click download. That will download a zip file which can build that post independently by just running "npm i && npm run build". That command generates a single HTML file with everything inlined so you can take that and put it on any static website.

Svekyll posts are just markdown, but you can add anything like vanilla js and Svelte components, and tailwind is included automatically.

I don't see anything else out there that is as simple or expressive as Svekyll. And 99% of that is just that I don't see anything out there that is as simple or expressive as Svelte.

rtpg|1 year ago

You could probably get far with Wordpress. Why? Because if you're technical you can navigate the tricky setup well, and it's made in a way to support a lot of things for non-technical people.

Of course you gotta get it running (or pay people like WP Engine), but you're going to end up with a thing that will work.

That or dev.to is a good spot I think.

scary-size|1 year ago

I run a Wordpress instance on my home server. An extract job regularly exports a static version of the site. I host it on a DO droplet with a bunch of other static websites.

cpach|1 year ago

If you don’t want to self-host then Ghost or wordpress.com might be worth checking out.

steve_adams_86|1 year ago

Ghost has a solid self hosting story as well. Upgrading is easy, changing and updating themes isn’t hard, and you don’t need many resources to run it.

igor47|1 year ago

I like using my blog to experiment with technology. I used to use GitHub pages and wrote some tips about using it with custom domains: https://igor.moomers.org/posts/github-pages-proxying-and-red...

But then I wanted to play with nextjs + typescript, have total control over how everything works, and host it myself in a container so I wrote a little static generator with next: https://github.com/igor47/blog

I think there are many ways to generate a site from images and markdown and the "best" depends on what you're trying to achieve

ycsh|1 year ago

I used to just use GitHub Pages but not really satisfied with the existing templates that the generators (Jekyll, Hugo etc.) have on GitHub. I now just started using self-hosted Ghost and absolutely loving it. It has a really nice CMS, and beautifully designed templates.

sorokinvj|1 year ago

I developed my personal site - https://vladislavsorokin.com (not much content there though) with NextJS typescript markdown blog template https://github.com/vercel/next.js/tree/canary/examples/blog-...

Now I am thinking about markdown editor, because writing content in VSCode, well, its ok, especially if you copy-paste from GPT, but ideally I would like to write it on the page itself so you see immediately what you get and you don't need to run the localhost etc. I think its not really that hard to make it.

ivanjermakov|1 year ago

Use whatever static site generator you like (*kyll, hugo, etc) and host it on a free static web hosting (netlify, github pages and others).

viking2917|1 year ago

Depends a bit on what you want to accomplish.

I use Jekyll/Minimal Mistakes/Github pages for product blogs, where I just want to broadcast information or have it available for people to find through search, and where I need to own and brand the domain name itself.

I use Substack for a few projects where I want a stronger relationship with the audience - commenting, automatic email list building and distribution, and easy/attractive formatting. I just keep the Substack free, and don't worry about the domain name (x.substack.com) is fine.

HermanMartinus|1 year ago

Bear blog hosts a bunch of technical blogs, is markdown based, and open-source.

https://bearblog.dev

cinntaile|1 year ago

You should mention you're the creator.

nickzelei|1 year ago

I do a flavor of this. I use Hugo as my blog system and plugged in the bearblog template to it. Right now I host on GitHub pages with my own custom domain. Works well!

Turboblack|1 year ago

I can recommend you a simple and backwards compatible hosting http://web1.0hosting.net/

Web 1.0 Hosting - is an advanced static hosting with some predefined most necessary ready-made scripts, a smallweb project that makes it possible to access static websites from old devices such as retro computers, old operating systems, palmtops, and cellular phones as part of an initiative to save the old web and support the smallweb movement. Hosting of modern websites and the use of modern technologies are also permitted. There is also a search engine, web mail and web chat, working on both modern and legacy systems.

wannabebarista|1 year ago

Jekyll is easy to use and you can write posts using markdown. There are several themes available out there, but it's also easy to work with the back end to customize. I've used Jekyll with Gitub pages for several years with no issues [0]. Plus, hosting is free on Github!

[0] https://bcmullins.github.io

Brajeshwar|1 year ago

My personal blog/website (and a lot of my other small websites) are hosted on Github. Jekyll, the OG of SSG, manages them. Github also has a built-in editor that you can write directly in the browser. If you are starting from scratch, it should be pretty straight forward and easy.

I wrote an article on how I moved to this much simpler setup from WordPress after 15+ years https://brajeshwar.com/2021/brajeshwar.com-2021/

You focus on the content, let Github take care of the tooling.

- https://docs.github.com/en/codespaces/the-githubdev-web-base...

- https://jekyllrb.com/docs/github-pages/

whitefables|1 year ago

Had the same grip as you, so I set out to fix it.

I found solutions out there were either full fledged cms which are cumbersome to setup and honestly distracting.

I was looking for something that was easy to work with like medium or notion, supports markdown syntax, and is fully headless because I like tinkering with the other frontend stuffs. If you have similar issues, check out wisp: https://wisp.blog/.

You can even try out the editor before signing up for anything: https://www.wisp.blog/try-editor

Also if you are looking to have a blog template to just kickstart the process, you can get everything wired up in the next 20 mins with this: https://github.com/Wisp-CMS/nextjs-blog-cms-wisp

Disclaimer: I'm the builder for wisp and have 200+ happy users now.

solardev|1 year ago

Just put it on WordPress or Wix if you don't mind paying.

If you don't want to pay, use Astro and put it on Vercel or Cloudflare Pages.

heimegutAGS|1 year ago

I like to keep things as simple as possible. I just write my blog posts directly as HTML, using Svelte+Kit as my technology stack, hosted on a cheap Hetzner VPS. I didn't want to learn or build a static site generator, and my articles mostly consists of a header and a bunch of <p>-s anyway.

jpamata|1 year ago

Jekyll, hosted on github pages is what I use

Currently using a theme from here https://jekyll-themes.com/free

When I'm travelling I could just edit the markdown/upload photos on the phone browser

PmTKg5d3AoKVnj0|1 year ago

I wrote a very simple python script to crush markdown into HTML in the right way. Maybe 200 lines.

I think the writing effort was about similar to the effort it would take to learn some other guy's system, adapting it to my particular requirements.

hapiben|1 year ago

I use NuxtJS + Netlify + Cloudflare (DNS). Recently Nuxt released https://nuxt.studio making it more easier for me to edit contents.

My sites are pretty small. The only thing I pay for now is the domain which is around $9 to $15 per year/domain.

salamo|1 year ago

By far the easiest if you just want to go from markdown to online blog would be a static site on Github pages. I use Hugo [0] with a custom theme but there are even easier options if you don't even care about style. In particular, I have used Grip [1], which can generate HTML from markdown.

[0] https://lukesalamone.github.io

[1] https://github.com/joeyespo/grip

keiferski|1 year ago

I recommend Ghost. You can self host it or use their hosting service.

steve_adams_86|1 year ago

I’ve been happy with it for around 8 years. It only gets better.

ruzig|1 year ago

I use https://www.bridgetownrb.com/ and it works pretty well. Very easy to use and deploy. Blog posts are listing line by line, like "index". I didn't customize much from the generated code(only logo and header). You can take a look: ruzig.com

esalman|1 year ago

WordPress tbh.

fatfox|1 year ago

I switched back and forth between Astro and Hugo.

I ended up staying with Hugo because I post loads of photos and image optimisation, or responsive images, was much easier to implement in Hugo.

I heard Astro now has better image processing, so I might give it another try as migrating templates and posts between Hugo and Astro was actually pretty easy.

maddynator|1 year ago

I use substack thinkingthrough.substack.com

I have hosted many in the past. Self hosted, wordpress, and a php version (I forgot what it was called)

The biggest problem with all those was dealing in spam comments and bad cross links.

Then I tried medium but it didn’t use to share subscriber emails.

Ended up migrating to Substack and been very happy with it for past 3 years

tiffanyh|1 year ago

Have you considered not having Comments?

That would completely eliminate spam and ~100% of your troubles.

udev4096|1 year ago

Write in markdown, transfer it with rsync to a server running hugo or jekyll?

slau|1 year ago

If you don’t want to maintain the infrastructure, you can also just commit to git and push to GitHub, and there have CI build the Hugo/Jekyll website and host it using GitHub pages.

You can easily have your own domain connected to it and GitHub will provide an SSL certificate.

the__alchemist|1 year ago

Github pages + HTML/CSS. Maybe with a markdown converter.

Havoc|1 year ago

Something static on a cdn

gavinhoward|1 year ago

Use a static site. Compress your pages. Easy way to make it fast.

A static site generator is probably best, but the best one for you comes down to preference.

nutrie|1 year ago

I like SvelteKit + mdsvex, which is built on top of remark. You can generate a static site with the static adapter.

kjkjadksj|1 year ago

Text and imagery? Html is made for this.

Vaslo|1 year ago

You mean to code it by yourself? Nah, I, like most people interested in blogging, will pass.

1oooqooq|1 year ago

i will extend the questions with: is there anything like github|gitlab|etc pages, which allow full access to access logs?

(because git* pages is the near perfect solution, if they gave access to access logs)

malloryerik|1 year ago

What about Substack and just keeping it free? I’m more curious more than convinced…

efilife|1 year ago

Do not use eleventy, their cli bugs out very frequently Hugo is underpowered

archermarks|1 year ago

Pandoc! I write markdown and generate HTML pretty straightforwardly.

syndicatedjelly|1 year ago

Follow up, what is the best way to author blogs for the next decade?

JCharante|1 year ago

How about github gists? It has comment support built in

hooverd|1 year ago

Whatever your templating library of choice is.

sujayk_33|1 year ago

I'd suggest github pages or substack

tavish1|1 year ago

plain html with htmx and zero-md and symlinks, no generator.

thelastparadise|1 year ago

Great now I have analysis paralysis with all these options.

kjkjadksj|1 year ago

Just make a static html page and be done with it after an afternoon.

cpach|1 year ago

  import random
  platform = random.SystemRandom().choice(["Astro", "Blogger", "Hugo", "WordPress", "Ghost"])
  print(platform)

awahab92|1 year ago

GOLANG, TAILWIND, and HTMX