- Go 77.5%
- Go Template 11.5%
- CSS 10.6%
- Nix 0.3%
| .github | ||
| docs | ||
| img | ||
| pkg | ||
| .envrc | ||
| .gitignore | ||
| blob.go | ||
| branches.go | ||
| commit.go | ||
| commits_list.go | ||
| config.go | ||
| Dockerfile | ||
| dumb.go | ||
| flake.lock | ||
| flake.nix | ||
| go.mod | ||
| go.sum | ||
| index.go | ||
| index_multi.go | ||
| LICENSE | ||
| list.go | ||
| main.go | ||
| markdown.go | ||
| package.nix | ||
| post_process.go | ||
| readme.go | ||
| README.md | ||
| RELEASE.md | ||
| styles_gen.go | ||
| tags.go | ||
| themes.go | ||
| utils.go | ||

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


