this post was submitted on 28 Sep 2024
78 points (98.8% liked)

Selfhosted

40359 readers
414 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

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.

Any ideas or suggestions?

Thanks!

all 35 comments
sorted by: hot top controversial new old
[–] pixxelkick@lemmy.world 26 points 1 month ago* (last edited 1 month ago) (1 children)

I use Hugo, it's not super complicated.

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.

[–] godber@lemmy.az.social 13 points 1 month ago

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.

[–] adam@doomscroll.n8e.dev 10 points 1 month ago

Hugo can be as simple as installing it, configuring a site with some yaml that points at a really available theme and writing your markdown content.

It gets admittedly more complex if you're wanting to write your own theme though.

But I think this realistically applies to most all static site generators.

[–] StringPotatoTheory@lemmy.world 10 points 1 month ago (2 children)

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.

[–] exception4289@lemmy.world 3 points 1 month ago

My vote goes to Zola, too.
I recently migrated my Hugo blog to Zola.

[–] manuel2258@lemy.lol 3 points 1 month ago

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!

[–] fubarx@lemmy.ml 9 points 1 month ago

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.

https://pages.github.com/

Hugo can also be used, but it takes a few extra steps: https://gohugo.io/hosting-and-deployment/hosting-on-github/

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

[–] rutrum@lm.paradisus.day 9 points 1 month ago

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.

[–] thayerw@lemmy.ca 9 points 1 month ago

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.

[–] hperrin@lemmy.world 8 points 1 month ago* (last edited 1 month ago)

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.

[–] KaninchenSpeed@sh.itjust.works 6 points 1 month ago* (last edited 1 month ago)

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.

[–] nutbutter@discuss.tchncs.de 5 points 1 month ago

i recommend using Jekyll to make the website, and for hosting I recommend codeberg pages.

[–] thisfro@slrpnk.net 4 points 1 month ago (1 children)

You could write your content in markdown and use pandoc to generate a html file. Add header/footer in template if you want

[–] wizardbeard@lemmy.dbzer0.com 2 points 1 month ago

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.

Grav may fit your needs.

[–] Moonrise2473@feddit.it 4 points 1 month ago

What about Publii?

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.

[–] mbirth@lemmy.ml 3 points 1 month ago

GitHub supports Jekyll page generation. Or at least did this a few years ago.

And please make sure to also generate an RSS feed for us feed reader users. ;)

[–] poVoq@slrpnk.net 3 points 1 month ago* (last edited 1 month ago) (1 children)

Maybe https://picocms.org/

But Hugo is fine, no need to use all the advanced features.

[–] halm@leminal.space 1 points 1 month ago

I've been eyeing Pico, but it doesn't seem to be super well maintained? Do you know if it's still active?

[–] 2xsaiko@discuss.tchncs.de 3 points 1 month ago

How about GNU M4 + Make (output)?

(to be clear this is a joke suggestion. but yes it is what I legitimately use)

[–] Kcg@lemmy.ml 2 points 1 month ago* (last edited 1 month ago)

Mkdocs is great! Used by many different OS projects. Simple markdown to HTML site.

[–] anguo@lemmy.ca 2 points 1 month ago

If you don't want to code it, give Publii a look. Otherwise, my go-to is Eleventy, simple and clean.

[–] chips@startrek.website 2 points 1 month ago

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!

[–] l_b_i@yiffit.net 1 points 1 month ago

how about jekyll? Lots of customization available.

[–] JetpackJackson 1 points 1 month ago

Currently using Jekyll but working on switching to Haunt cause I like Scheme

[–] atzanteol@sh.itjust.works 1 points 1 month ago

I like jbake. Create templates, pages are either html or markdown. Pretty easy to use.

[–] acockworkorange@mander.xyz 1 points 1 month ago

LibreOffice Write, a template, save as HTML, FTP to your host.

[–] keyez@lemmy.world 1 points 1 month ago

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.

https://www.httrack.com/

[–] daco@lemm.ee 1 points 1 month ago

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.

[–] yggdar@lemmy.world 1 points 1 month ago

DocFx could do what you're looking for. You would write your stuff in markdown and it generates an interactive and customizable site.

[–] Irf23@eviltoast.org 0 points 1 month ago

I think most of the other suggestions seem like a better solution than WordPress, but there is a plugin for WordPress that exports static websites.