Publish your notes as static websites. It takes Markdown notes from any folder, selects the ones marked for publication, injects them into a site repository, builds a Docker image and pushes it to your container registry. https://gramr.smoowy.fr
  • Rust 99.4%
  • Dockerfile 0.6%
Find a file
2026-11-05 11:14:55 +01:00
docs chore: clean code + add verbose command 2026-11-05 11:03:32 +01:00
src style: format with cargo fmt 2026-11-05 11:14:55 +01:00
.gitignore setup project 2026-10-29 16:29:49 +01:00
Cargo.lock feat(publish): get workspace + build and publish image 2026-11-02 16:26:55 +01:00
Cargo.toml feat(publish): get workspace + build and publish image 2026-11-02 16:26:55 +01:00
README.md docs: add first complete docs to use gramr 2026-11-04 11:25:17 +01:00
rustfmt.toml style: format with cargo fmt 2026-11-05 11:14:55 +01:00

gramr

Publish your notes as static websites.

gramr takes Markdown notes from any folder (an Obsidian vault, a Logseq graph or plain .md files), selects the ones marked for publication, injects them into a site repository, builds a Docker image and pushes it to your container registry.

gramr publish blog            # select, build, push
gramr publish blog --dry-run  # show what would be published

Status: early development, not usable yet.

Principles

  • Opt-in publishing: a note is published only if its front matter says so.
  • Generator-agnostic: Zola, Hugo, Astro… if it builds in Docker, gramr can publish it.
  • Content and presentation are separate: notes stay in your folder, and the theme and templates stay in the site repository.
  • The image is the boundary: gramr pushes an image and stops. Deployment is up to you.

Requirements

  • Git
  • Docker with Buildx

Documentation