Commit graph

4 commits

Author SHA1 Message Date
Brenno de Winter
3e664193ce Add self-contained Marp HTML export
New export target: a single offline .html rendered from the deck's Marp
Markdown. Bundles (inlines) marked, highlight.js, MathJax (tex-svg, no font
files) and mermaid, so code highlighting, LaTeX math and mermaid diagrams all
render in any browser with no network access.

- MarpHtmlService splits the deck on `---`, strips front-matter, and inlines
  the vendored libraries (assets/web_export/) with a </script> breakout guard.
  The asset loader is injectable for testing.
- ExportFormat.html wired through ExportService (no rasterization needed),
  the export dialog (new button, skips slide rendering) and app_shell
  (passes the generated Markdown). Export dialog is now scrollable.

Note: rendered with marked, not Marp Core, so theme fidelity differs from the
in-app preview / PDF / PPTX; the win is a portable, dependency-free deck.

Tests: slide splitting, library inlining, breakout escaping, and an
end-to-end .html export.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 01:37:46 +02:00
Brenno de Winter
4f2f5fea7c Export speaker notes to PPTX; fix stale README CI reference
PPTX export now writes each slide's speaker notes into the PowerPoint notes
pane (notesSlide parts + a notesMaster, wired through content-types and
relationships). Slides without notes stay note-free, so the machinery is
omitted entirely when no slide has notes. Note text is XML-escaped and
multi-line notes become separate paragraphs.

Also drop the README line pointing at the removed ci.yml workflow.

Tests: notes embedded only for noted slides, text present and escaped,
slide links to its notesSlide, and all (including notes) XML well-formed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 00:51:09 +02:00
Brenno de Winter
85ff813568 docs: add file format specification
Document the OciDeck on-disk format: Marp-compatible Markdown, project
folder layout, YAML front matter (incl. TLP and base64url style profile),
per-slide-type markup, image caption sidecars, special HTML comments, and
the portable .ocideck package. Link it from the README.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 09:55:58 +02:00
Brenno de Winter
dd2e91d61b Initial commit: OciDeck Marp presentation builder
Flutter desktop app for building Marp presentations via structured
slide editors, with live preview, fullscreen presenter, and PDF/PPTX
export. Includes Makefile quality gate, CI workflow, and full test suite.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 23:28:39 +02:00