Skip to content

Configuration file

Nprompter looks for a configuration file named nprompter.toml in your current working directory (or you can specify a custom path using --config [PATH] / -c [PATH]). If not provided, it falls back to sensible defaults.

You can generate a starter nprompter.toml file with all default values by running:

nprompter create-config

Default Configuration

[font]
size = 50
size_increment = 2
line_height = 1.2
line_height_increment = 0.1
max_size = 200
family = "'Roboto', sans-serif"

[processor]
skip_on_break = false
hide_non_default_colors = false
skip_square_brackets = false
replace_nbsp = true
render_code = "placeholder"

[screen]
padding.horizontal = 100
padding.vertical = 50
padding.increment = 10
padding.max_value = 250
hmargin.horizontal = 50
hmargin.vertical = 50
pmargin.horizontal = 50
pmargin.vertical = 50
scroll.speed = 10
scroll.speed_increment = 3
scroll.max_speed = 50
color = "white"
background = "black"

[build]
output = "prompter"
web_assets_folder = "web/assets"
filter.property = "Status"
filter.value = "Ready"
sort.property = "Name"
extra_html = ""

[manifest]
app_name = "Nprompter"
short_name = "Nprompter"
description = "A Notion-powered teleprompter"

Configuration Reference

[font]

Configures typography for the teleprompter display.

Key Type Default Description
size Integer 50 Initial font size in pixels.
size_increment Integer 2 Number of pixels font size changes per keyboard step (Q/W).
max_size Integer 200 Maximum allowable font size in pixels.
line_height Float 1.2 Initial line-height (in em).
line_height_increment Float 0.1 Step size for line-height adjustments (Z/X).
family String "'Roboto', sans-serif" CSS font family applied to scripts.

[processor]

Controls how Notion page blocks and formatting are parsed and converted to HTML.

Key Type Default Description
skip_on_break Boolean false When true, stops processing blocks at the first Notion divider (---), discarding anything below it.
hide_non_default_colors Boolean false When true, adds a .notion-hide class to blocks styled with custom Notion text/background colors (useful for director notes/cues).
skip_square_brackets Boolean false When true, ignores text enclosed in brackets like [stage cue].
replace_nbsp Boolean true When true, converts non-breaking spaces (\xa0) into standard whitespace.
render_code String "placeholder" How code blocks in Notion are rendered: "placeholder" (shows a ⚠ Code block ⚠ note), "render" (renders raw code inside <pre>), or "skip" (omits code blocks completely).

[screen]

Configures layout, margins, colors, and default scroll behavior.

Key Type Default Description
color String "white" Text color for scripts.
background String "black" Background color for the teleprompter screen.
padding.horizontal Integer 100 Initial horizontal padding in pixels.
padding.vertical Integer 50 Vertical padding in pixels.
padding.increment Integer 10 Pixels added/removed when adjusting padding (A/S).
padding.max_value Integer 250 Maximum horizontal padding in pixels.
hmargin.horizontal / .vertical Integer 50 Margins around headings.
pmargin.horizontal / .vertical Integer 50 Margins around paragraphs.
scroll.speed Integer 10 Initial scroll timer delay (lower value = faster scrolling).
scroll.speed_increment Integer 3 Speed change per keyboard step (/ or remote).
scroll.max_speed Integer 50 Upper limit for scroll timer delay.

[build]

Specifies defaults for content generation and indexing.

Key Type Default Description
output String "prompter" Target directory where the website will be generated.
web_assets_folder String "web/assets" Path to custom static assets to copy into the build folder.
filter.property String "Status" Default Notion database property to filter against.
filter.value String "Ready" Default value matching pages must have.
sort.property String "Name" Default property used to sort scripts on index pages.
extra_html String "" Optional raw HTML injected into every page (e.g. analytics or custom headers/footers).
database_id String None (Optional) Single default database ID to fetch if not supplied on the CLI.
databases Array [] (Optional) List of multiple databases to process. See Multi-database support.

[manifest]

Configures the web app manifest (manifest.json) when installed as a Progressive Web App (PWA).

Key Type Default Description
app_name String "Nprompter" Full application name.
short_name String "Nprompter" Short name displayed on mobile/desktop home screens.
description String "A Notion-powered teleprompter" Description in the web manifest.