Configuration
MD-Slides applies configuration in priority order — highest wins:
- CLI flags —
--theme dark - Project config —
.mdslides/config.jsoncommitted with your deck - Global config —
~/.mdslides/config.jsonfor personal preferences - Built-in defaults —
lighttheme, images copied, accessibility checks on
Project config
Commit .mdslides/config.json next to your deck to set defaults for everyone working on it. MD-Slides also finds it in a parent folder.
{
"theme": "dark",
"outputDir": "dist",
"footer": "{{title}} · {{pageNumber}} / {{totalPages}}",
"breakScreen": "images/break.png"
}
| Field | Meaning |
|---|---|
theme | Theme name (see Themes) |
outputDir | Where the rendered presentation goes |
copyImages | false to skip copying images |
skipAccessibility | true to skip the theme contrast check |
accessibilityReportPath | Write the accessibility report to this file |
header, footer | Deck-wide header and footer, with tokens |
breakScreen | Image shown in break mode |
Unknown fields are rejected, so typos are caught.
Global config
~/.mdslides/config.json applies to all decks on your machine. Settings go under defaults; paths.themesDir points at a folder of your own themes:
{
"defaults": {
"theme": "light"
},
"paths": {
"themesDir": "/home/me/slides/themes"
}
}
The global file accepts defaults (theme is required there; also copyImages, skipAccessibility, breakScreen), author, and paths. Unknown fields are rejected: a top-level "theme" is reported as an unknown field and ignored.
Viewing active config
java -jar md-slides.jar config
Shows each config file, whether it was found, the settings it contributes, and the priority order.