MaTiSSe.py, Markdown To Impressive Scientific Slides
Project description
MaTiSSe
Markdown To Impressive Scientific Slides — a KISS CLI that compiles plain Markdown into high-quality, self-contained HTML presentations with full scientific-content support.
| 📝 Markdown-first authoring Write clean, readable Markdown — no HTML, no LaTeX preamble. MaTiSSe extends standard syntax with chapter/section/subsection headings, a $titlepage directive, and $include() for multi-file compositions. Syntax reference |
🎨 YAML theme system Define canvas, headers, footers, sidebars, and content areas entirely in YAML blocks. Apply per-slide overrides with overtheme. Six built-in LaTeX-Beamer-style themes ready to use out of the box. Theme reference |
| 🔢 LaTeX equations Inline $…$ and display $$…$$ math rendered by MathJax 3 — no extra setup required. Works in slide content, box captions, figure captions, and headers. Math guide |
🔬 Scientific environments First-class environments for figures, boxes, notes, tables, videos, and multi-column layouts — each fully customizable via CSS and YAML. Figures · Boxes · Columns |
| ✨ Syntax-highlighted code Code blocks rendered by highlight.js 11 with 100+ bundled styles. Tab-completion on --highlight-style lets you preview styles instantly. CLI reference |
📦 Offline & PDF modes--offline bundles all JS/CSS assets locally for air-gapped environments. --pdf disables impress.js animations for clean PDF printing. CLI reference |
| 🆓 Free and open source Released under the GNU GPL v3 license. Free to use, study, modify, and distribute. Contributions welcome — see the contributing guidelines. |
🖥️ Powered by impress.js Each slide gets full impress.js positioning and transition support — rotate, scale, translate in 3D. Or disable animations entirely with --pdf. Quick start |
Full documentation — installation, quick start, CLI reference, theme gallery
Why MaTiSSe?
LaTeX Beamer produces beautiful slides, but its compile cycle is slow and its syntax is noisy. PowerPoint and Keynote are WYSIWYG and therefore hard to version-control or script. Modern presentation frameworks like impress.js are impressive but require hand-written HTML.
MaTiSSe takes a different path: you write clean, readable Markdown — with optional YAML theme blocks and a handful of scientific-content environments — and MaTiSSe compiles it into a self-contained HTML/CSS/JS presentation.
# Generate a sample and build it immediately
matisse build --sample mytalk.md --theme beamer-madrid
matisse build -i mytalk.md -o mytalk/
Open mytalk/index.html in a browser and navigate with arrow keys or spacebar.
| Title page | Figure environment |
|---|---|
| LaTeX equations | LaTeX-Beamer themes |
Main features
-
markdown-to-htmlslides builder with extended Markdown syntax; - structured presentations: chapters, sections, subsections, slides;
- presentation metadata (title, authors, affiliations, …) with
$keyinterpolation into themes; - automatic table of contents slides (
--toc-at-chap-beginning,--toc-at-sec-beginning, …); - flexible theme system defined entirely in YAML:
- canvas, headings, headers, footers, sidebars, content areas;
- per-slide theme overrides (overtheme);
- six built-in LaTeX-Beamer-style themes (
beamer-antibes,beamer-berkely,beamer-berlin,beamer-madrid,matisse,sapienza);
- LaTeX equations via MathJax 3 (inline
$…$and display$$…$$); - scientific content environments:
-
$figure…$endfigurewith captions and custom CSS; -
$box…$endboxfully customizable; -
$note…$endnote; -
$table…$endtable; -
$video…$endvideo; -
$columns…$endcolumnsmulti-column layout;
-
- syntax-highlighted code listings via highlight.js 11 (100+ styles);
-
$include(file)for composing presentations from multiple source files; -
--offlinemode: all JS/CSS assets bundled locally (air-gapped environments); -
--pdfmode: animations disabled for clean PDF printing; - shell tab-completion for
--themeand--highlight-style; - powered by impress.js for 3D-capable slide transitions.
Author
Stefano Zaghi — stefano.zaghi@gmail.com · GitHub
Copyrights
MaTiSSe is an open source project distributed under the GPL v3 license. Anyone interested in using, developing, or contributing to MaTiSSe is welcome — see the contributing guidelines.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file matisse_py-1.4.5.tar.gz.
File metadata
- Download URL: matisse_py-1.4.5.tar.gz
- Upload date:
- Size: 855.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c38175ce1125446ffa402354917090b537ab20f92d19ab11796ac3d28b4e370c
|
|
| MD5 |
866ca705fdf705c362d5c404349a1b6d
|
|
| BLAKE2b-256 |
38139cb108f80c39f4d8b052856b8ef1de2f335a61fdb6d42b54e4ce533022d1
|
Provenance
The following attestation bundles were made for matisse_py-1.4.5.tar.gz:
Publisher:
ci.yml on szaghi/MaTiSSe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
matisse_py-1.4.5.tar.gz -
Subject digest:
c38175ce1125446ffa402354917090b537ab20f92d19ab11796ac3d28b4e370c - Sigstore transparency entry: 1234131040
- Sigstore integration time:
-
Permalink:
szaghi/MaTiSSe@ebace501f861e8110325630de0917124d5b07295 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/szaghi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@ebace501f861e8110325630de0917124d5b07295 -
Trigger Event:
push
-
Statement type:
File details
Details for the file matisse_py-1.4.5-py3-none-any.whl.
File metadata
- Download URL: matisse_py-1.4.5-py3-none-any.whl
- Upload date:
- Size: 1.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d881ce520f2e6a10963e487abad8250bc6089de81480a8e1b47d7011350f6c6
|
|
| MD5 |
24bd9e505503a79e5d263a4c1ef6ef66
|
|
| BLAKE2b-256 |
83eacafed80fd45919c55056a33434e9b527a98b3ab209b8fcaffe80b3103dd7
|
Provenance
The following attestation bundles were made for matisse_py-1.4.5-py3-none-any.whl:
Publisher:
ci.yml on szaghi/MaTiSSe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
matisse_py-1.4.5-py3-none-any.whl -
Subject digest:
0d881ce520f2e6a10963e487abad8250bc6089de81480a8e1b47d7011350f6c6 - Sigstore transparency entry: 1234131133
- Sigstore integration time:
-
Permalink:
szaghi/MaTiSSe@ebace501f861e8110325630de0917124d5b07295 -
Branch / Tag:
refs/tags/v1.4.5 - Owner: https://github.com/szaghi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@ebace501f861e8110325630de0917124d5b07295 -
Trigger Event:
push
-
Statement type: