
Gitmal
This repository is a fork of upstream.
[!WARNING] ** All commits after the fork are generated by LLM Coding Agent and have not been reviewed by humans. Use at your own risk.**
Gitmal is a static page generator for Git repositories. Gitmal generates static HTML pages with files, commits, code highlighting, and markdown rendering.
Installation
go install github.com/antonmedv/gitmal@latest
docker run --rm -v $(pwd):/repo antonmedv/gitmal /repo
Or download prebuilt binary from releases.
Usage
Run gitmal in the repository dir. Gitmal will generate pages in ./output directory.
gitmal .
Run gitmal with --help flag to get a list of available options.
gitmal --help
Generate static files for Git dumb HTTP protocol (enables git clone via HTTP):
gitmal --git .
Generate multiple repositories with a TOML config file:
gitmal --config repos.toml
Example repos.toml:
site_name = "My Git Host"
[[repos]]
name = "nix-config"
slug = "nix-config"
path = "/home/user/nix-config"
default_branch = "main"
[[repos]]
name = "dotfiles"
slug = "dotfiles"
path = "/home/user/dotfiles"
default_branch = "master"
Filter branches with a regular expression:
gitmal --branches '^(main|master)$' .
Screenshots
Examples
Here are a few examples of repos hosted on my website:
- git.medv.io/zx/ — github.com/google/zx
- git.medv.io/zig/ — codeberg.org/ziglang/zig (light theme)
- git.medv.io/my-badges/ — github.com/my-badges/my-badges
Gitmal on kubernetes repository works as well. Generation on my MacBook Air M2 with --minify and --gzip flags
takes around 25 minutes, and the generated files weigh around 2 GB.
Themes
Gitmal supports different code highlighting themes. You can customize the theme with --theme flag.
gitmal --theme github-dark


