Shared dr-iissi Marp theme for the IISSI slide decks.
css/
dr-iissi.css
us-footer.png
us-title-bg.png
us-default-bg.png
fonts/
scripts/
marp-engine.js
install-local-fonts.sh
templates/
templates.md
package.json
- Theme CSS in
css/dr-iissi.css - Local image assets and local fonts
- Custom Marp engine logic in
scripts/marp-engine.js - A guide and visual regression deck in
templates/templates.md
Required:
- Node.js
- npm
- Marp CLI
- A browser supported by Marp in
PATH
Install Node.js first, because Marp CLI is distributed through npm:
node --version
npm --versionThen install Marp CLI globally:
npm i -g @marp-team/marp-cliVerify the installation:
marp --versionSupported browser resolution in the scripts:
chromium-browsergoogle-chromechromiumfirefox
Optional:
npm run install-fontsThe theme is not only CSS.
The full rendering stack is:
- Marp CLI
dr-iissi.cssmarp-engine.js- local fonts and local background assets
The engine adds behavior for:
- column markers
mrcode blocks- SQL highlighting
- KaTeX and relational algebra macros
- asset resolution through
marp-theme-rel-dir
From a repo that vendors this submodule:
marp --theme-set ./marp-theme/css/dr-iissi.css --engine ./marp-theme/scripts/marp-engine.js slide.md --pdfIn the slide front matter:
---
marp: true
theme: dr-iissi
marp-theme-rel-dir: ./marp-theme
paginate: true
image-box: false
---Adjust marp-theme-rel-dir so it is relative to the markdown file being rendered.
Optional front matter:
image-box: falsedisables the default framed box around images for that deck- omit it, or use
image-box: true, to keep the current framed style
Default image styling:
- images keep a very subtle granate frame by default
image-box: falseremoves that frame, padding, and rounded corners
The reference deck lives in:
templates/templates.mdtemplates/run-marp.jsis the portable launcher used by the localbuildandwatchscripts
Build it with:
npm --prefix marp-theme/templates run buildWatch it with:
npm --prefix marp-theme/templates run watchImplementation note:
- the templates scripts no longer rely on POSIX-style inline environment variables
run-marp.jsresolvesCHROME_PATHin a cross-platform wayCHOKIDAR_USEPOLLING=1is enabled automatically only for WSL watch mode- this avoids the previous failure mode on native Windows shells