Marp workflow

Turn Marp Markdown into one publishable HTML presentation

Marp CLI can emit a single HTML file with its slide runtime embedded. That artifact avoids zip packaging and can use Slidesfly’s single-file publishing path when it fits the active size limit.

Last tested: July 28, 20267 minute workflow

Pin Marp CLI and build HTML

  1. Create or open the Marp project

    Keep the Markdown source and its local assets in one project directory.
  2. Pin the renderer

    A pinned development dependency makes future rebuilds easier to compare.
  3. Render one HTML file

    Choose an .html output path so Marp emits the browser presentation.
npm install --save-dev @marp-team/marp-cli@4.5.0
npx marp slides.md --output build/index.html

Inspect before publishing

test -f build/index.html
wc -c build/index.html

# Optional quick scan for absolute HTTP(S) asset references
grep -Eo '(src|href)="https?://[^"]+"' build/index.html

Open the generated file and test left/right navigation, touch or pointer controls, fullscreen, fonts, images, and code blocks. A zero-result URL scan does not replace a browser network check; it only catches simple absolute asset attributes.

Publish or update the deck

slidesfly publish ./build/index.html \
  --title "Marp presentation" \
  --json

# After claiming or publishing from an account, update the same reader URL:
slidesfly publish ./build/index.html --id YOUR_DECK_ID --json

Compatibility evidence and boundaries

CheckResult on July 28, 2026
Renderer@marp-team/marp-cli 4.5.0 installed and built successfully.
ArtifactOne index.html, 110,832 bytes, containing four slide sections.
Simple external asset scanNo absolute HTTP(S) src or href attributes found.
Browser evidence in this passNot completed because local browser automation authorization was unavailable.
Live Slidesfly demoNot published; do not treat the local fixture as a live reader proof.

Renderer reference: Marp CLI documentation.