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
| Key | Default | Description |
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
| Key | Default | Description |
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_age | 3600 | Seconds to set on Cache-Control for static assets. |
gzip | true | Compress 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
| Key | Default | Description |
out_dir | "public" | Where notewell build writes static output. |
clean | true | Empty the output directory before each build. |
minify | false | Minify 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