Hello everyone!
I was thinking about starting a website where to dump some guides on stuff Iearn about selfhosting and general IT stuff.
I don't want a WordPress or similar. I want static pages (but I'm ok with some JavaScript for navigation maybe, or for proper display on different kind of devices).
Ideally I'd like to host it on an AWS S3 bucket since it has the built-in option for static hosting.
I could even go back to the '90s and do it myself from scratch in textedit and html by hand, but I'm pretty sure there are better options out there.
I took a look at Hugo but even that it seems overly complicated for what I need.
You basically just define templates in pseudo html for common content (header, nav panel, footer, etc), and then you write your articles in markdown and Hugo combines the two and outputs actual html files.
You also have a content folder for js, css, and images which get output as is.
That's about all there is to it, it's a pretty minimalist static site generator.
Hosting wise you can just put it on github pages for free.
The other advantage of Hugo is that it’s just a single binary executable. Using something like Jekyll means you have to manage a ruby environment over the long term. Which sucks. I’d recommend trying Hugo again and getting past the pain points.
I've been meaning to change my website from Hugo to Zola. It has a few good themes to choose from and it's easy to set up. Hugo has way more themes though.
You might want to check out a lot of SSGs to see what themes each has, and pick the one you like the most.
I build my website using Zola, which worked pretty good. However I wasn't satisfied with the existing templates so I did build my own using DaisyUI.
That also worked pretty good most of the time and was a pleasant experience!
If you use github pages, you can create, deploy, and host static websites for free. Only cost, if you want your own URL, is for a custom DNS name.
You can use their default Jekyll static rendering engine, and create the content using Markdown. And with github actions, all you need to update the content is create markdown, then push the change to the same repo. After a few minutes, the new content shows up.
You can also find 'themes' to customize the look and feel of the site, specific to the site generation tool.
If you want a lot of extra features, Docusaurus is pretty much as good as it gets, and you can set it up to push out to GH pages: https://docusaurus.io/docs/deployment
Lots of great responses here already. In terms of simplicity and ease of maintenance, Hugo is going to be the best solution with its single binary, built-in features, and ease of setup/use.
I recently built a site with hugo. Its very easy. You pick a theme, then write some markdown files. And when you need flexibility, you have it for later. I also think it's the most popular right now, which lends to a lot of themes to pick from and a lot of cpmmunity support.
What I use for a lot of my sites is SvelteKit. It has a static site generator. If you like writing the HTML by hand, it’s great. Also HTML5 Up is where I get my templates. I made the https://nymph.io website this way. And https://sveltematerialui.com.
I'm currently using Astro for that. You can write the pages in markdown, html or one of the many js frameworks. It also allows you to mix them.
By default it generates static websites with out any js, but it allows you to add js where needed. Optional server side features are wip, if you decide to need them later on.
They also have pre made themes on their website if you don't feel like writing css.
This is probably the simplest option. I've seen a good number of simple yet functional and pretty sites built in markdown and converted to html via some simple tool like pamdoc.
WYSIWYG static site generator but personally I like to keep the content in markdown pages in a git repository so i can keep unlimited edit history; this saves everything in a local sqlite database.
Unfortunately the most powerful one that checks all the boxes, including automatic upload to s3 is hugo, but as you said the learning curve is high. Maybe try to see if you can run the example site of this theme, install hugo in your system, then go in the examplesite directory and run hugo serve. Slowly edit the files until you understand how it works.
Hey there! For a friendly and simple static site generator, you might wanna check out Jekyll. It's pretty lightweight, works great with Markdown, and has a nice community. Plus, it's super easy to deploy on S3. You can still hand-code if you want, but Jekyll will save you a bunch of time!
I had a workflow a few years ago where I ran and configured a local drupal instance, then ran this HTTrack tool which would export all the pages and images to flat HTML which I then zipped and pushed to an S3 bucket to host the website. Worked great because it just needed to host info, no comments or accounts or anything.
I use Nikola and it hasn't let me down. It just works and supports all the ways I write content: markdown, asciidoc, rest, Jupiter Notebooks, html and so on. It does not have so many themes, but the default one works and it's not hard to customise if needed.
If you like to use python it's also easy to extend. I've written a bit about Nikola here in case it picks your interest.
I've deployed it to CloudFlare pages, but GitHub pages, Gitlab pages and any other provider also work.