Skip to content

Repository files navigation

Flatmark

Flatmark turns a folder of Markdown, templates, and static assets into a static website.

Documentation · Releases · Examples · MIT license

Flatmark renders syntax highlighting, KaTeX, Mermaid, and Graphviz during the build, so the generated site does not need client-side JavaScript for them. It also provides Jinja templates, themes, multilingual routes, YAML data files, search indexing, Sass compilation, and a development server with live reload.

Quick start

For Debian or Ubuntu, download and install the .deb package:

curl -fL https://github.com/sake92/flatmark/releases/download/v0.2.0/flatmark_0.2.0_amd64.deb -o flatmark.deb
sudo apt install ./flatmark.deb

For macOS, other Linux distributions, and Windows, download the installer for your platform from the latest release.

Create a site containing one Markdown page:

my-site/
└── content/
    └── index.md

Add a heading to content/index.md:

# Hello, Flatmark!

Then start the development server from my-site/:

flatmark serve

Open http://localhost:5555. Flatmark rebuilds the site and reloads the browser when a source file changes. Generated files are written to _site/.

The first build may download the default theme and a headless Chrome runtime. Continue with the full quickstart, or consult the CLI reference.

Documentation

  • Tutorials provide guided learning paths.
  • How-to guides solve specific authoring and configuration tasks.
  • Reference documents configuration, templates, Markdown, and the CLI.
  • Explanation describes Flatmark's build model and design trade-offs.

Development

Flatmark uses Mill 0.12.14 and Scala 3.7.0.

./mill -i __.test
./mill -i cli.jvm.assembly
./mill -i cli.jvm.run build -i docs

See DESIGN.md for the module architecture and DEV.md for native-image development notes.

Releases

Sponsor this project

Contributors

Languages