You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ricard Illa fc1ade0cbe
feat: changed gpg key
2 months ago
assets feat: changed gpg key 2 months ago
icons icons as a submodule 1 year ago
pages feat: changed gpg key 2 months ago
sass donate 2 years ago
.envrc added flake direnv 1 year ago
.gitignore removed html files from tree 1 year ago
.gitmodules icons as a submodule 1 year ago
.woodpecker.yml feat: ci/cd: clone recursively 5 months ago
LICENSE added license 1 year ago
Makefile minor cosmetic adjustments to Makefile 1 year ago icons as a submodule 1 year ago
config.yaml feat: removed donate page 5 months ago
flake.lock added flake direnv 1 year ago
flake.nix added rsync to flake for deployment 1 year ago
footer.j2 complete rewrite 2 years ago
header.j2 icons as a submodule 1 year ago

Personal static frontpage

This is what I use to build my static personal frontpage accessible from the clearnet and from the tor network.

I use Jinja2 templates for the HTML content and Sass for the styling. GNU make is used to automate the build.

The result are simple static HTML files with embedded CSS.

I build two separate versions: one for the clearnet and another for the tor network. The only difference between both versions is the domain name used in the links.


My site is simple enough that using a proper static site generator would have been overkill, but I still wanted something easier to maintain than directly writing HTML by hand. So a templating system like Jinja2 is a nice compromise.


I'm using the feather icons for the website navigation bar. The repo with the icons is cloned as sub-module and the needed SVGs are embedded into the HTML when the website is built.

Build dependencies

There's a zero chance than anyone other than me would want to build this, and I'm already keeping track of that using a Nix Flake. But still:

  • GNU Make: used to automate the build
  • GNU findutils: my Makefile uses find and makes use of some of its GNU extensions, so POSIX-compliant find wouldn't be enough
  • j2cli: to render the Jinja templates
  • sassc: to convert the Sass files into CSS
  • html-tidy: to validate and tidy up the resulting HTML files a bit
  • rsync: to copy the result to my public web server