Notewell

Configuration

Notewell reads a single notewell.toml at the project root. Every key has a sensible default, so the file can be as short as a title.

Minimal example

[site]
title = "Acme Internal Docs"
base_url = "https://docs.example.com"

The [site] table

KeyDefaultDescription
title"Notewell"Shown in the header and the browser tab.
base_url""Absolute URL of the deployed site. Used for canonical links and the search index.
base_path"/"Sub-path when hosting under a prefix, e.g. /docs/.
edit_link""Template for an "edit this page" link, e.g. a repo URL with {path}.

The [server] table

KeyDefaultDescription
addr"127.0.0.1:8080"Address the daemon binds to. Bind to loopback and put a reverse proxy in front for TLS.
cache_max_age3600Seconds to set on Cache-Control for static assets.
gziptrueCompress HTML and text responses on the fly.
Production note: Notewell is meant to sit behind a reverse proxy that terminates TLS. Keep addr on 127.0.0.1 and let the proxy handle the public certificate.

The [build] table

KeyDefaultDescription
out_dir"public"Where notewell build writes static output.
cleantrueEmpty the output directory before each build.
minifyfalseMinify generated HTML and CSS.

Full example

[site]
title    = "Acme Internal Docs"
base_url = "https://docs.example.com"
edit_link = "https://git.example.com/acme/docs/edit/main/{path}"

[server]
addr          = "127.0.0.1:8080"
cache_max_age = 7200
gzip          = true

[build]
out_dir = "public"
minify  = true