No description
Find a file
2026-04-13 14:11:03 +02:00
archetypes add: default hugo/blowfish config 2026-04-13 13:05:01 +02:00
assets/img add: crappy little mesh-hero.svg (remove before publishing?) 2026-04-13 13:32:00 +02:00
config/_default fix: replace freifunk page with URL to website 2026-04-13 14:08:41 +02:00
content add: initial demo content 2026-04-13 14:08:07 +02:00
themes add: blowfish theme 2026-04-13 12:55:04 +02:00
.gitmodules add: blowfish theme 2026-04-13 12:55:04 +02:00
README.md fix: readme.md 2026-04-13 14:11:03 +02:00
TODO.md add: todo file 2026-04-13 14:08:55 +02:00

meshnet.lu

Hugo website for the MeshNet project. Uses the Blowfish theme, added as a git submodule (not the Hugo module approach).

Setup

You need Hugo extended installed. Then:

git clone --recurse-submodules <repo-url>
hugo server

If you already cloned without --recurse-submodules, run git submodule update --init to pull the theme.

Structure

Config lives in config/_default/ (Blowfish's multi-file config style, not a single hugo.toml at the root). Content is organized as:

content/
  projects/
    meshcore/
    meshtastic/
    freifunk/
  posts/
  about/

Projects are under a dropdown in the nav. Blog posts go in posts/.

All pages should be Hugo page bundles: that means an index.md inside its own folder rather than a standalone .md file. This lets each page carry its own images and other resources alongside it.

Some config choices

  • Theme is a Git submodule: sits at themes/blowfish and is pinned to the main branch. Update it with git submodule update --remote. This allows for forking and modifying the theme, if really necessary.
  • Homepage uses the "hero" layout: custom SVG background (assets/img/mesh-hero.svg). The SVG uses currentColor and low opacity so it works in both light and dark mode without readability issues. disableHeroImageFilter is set to true because the default Blowfish color overlay doesn't play well with a transparent SVG. SVG is merely temporary example!!
  • Header is "fixed": sticky on scroll, not the default "basic".
  • Search is enabled: outputs JSON (home = ["HTML", "RSS", "JSON"] in hugo.toml).
  • Sharing links: set to Mastodon, Bluesky, WhatsApp, LinkedIn, and email. No Twitter/X.

Deployment

hugo builds the site into public/. Point web server to that folder, or a copy of it. The baseURL is already set to https://meshnet.lu/.