juanjosegarciaripoll/quarkfoil

Markdown-based presentation system

4

stars

35

commits

JavaScript

primary language

Sep 7, 2026

updated

README

Quarkfoil logo

Quarkfoil

CI Documentation

Quarkfoil is a local, browser-based editor for scientific presentations written in Markdown. It combines structured slide layouts with freely positioned Markdown, LaTeX, and image objects, and presents the result with Reveal.js.

Read the illustrated documentation · View the live sample presentation

Quarkfoil editing the included example presentation

The presentation remains a readable Markdown file accompanied by a figures/ directory. Quarkfoil itself is installed once; its application files are not copied into every presentation project.

Highlights

  • Seven layouts: 1, 1+1, 1+2, 2+1, 0, Front page, and Free canvas.
  • Markdown and KaTeX equations remain editable rather than becoming screenshots.
  • Image fit, crop focus, overlay position, size, typography, alignment, and fragments are editable graphically.
  • Native MP4/WebM video plus optimized AVI/MKV conversion when FFmpeg is installed.
  • Source, Design, and Present modes use the same Markdown source of truth.
  • Local assets and pinned browser libraries require no runtime CDN or Node/npm toolchain.
  • Presentations export as self-contained static websites, with an optional pinned-CDN mode.
  • Saves are atomic, conflict-checked, and restricted to the selected presentation directory.

Install

Quarkfoil requires Python 3.11 or newer. The recommended installation uses uv:

uv tool install quarkfoil

Until a package is published, install from a local checkout:

uv tool install .

Run a presentation with:

quarkfoil path\to\presentation.md

If that Markdown file is missing or empty, Quarkfoil creates a minimal starter presentation. It never replaces a nonempty file.

Quarkfoil opens a local address such as http://127.0.0.1:8765/. Stop the server with Ctrl+C in its terminal.

Try the included example

From a source checkout:

uv run quarkfoil example\deck.md

The example/ directory is also a template for new presentation projects.

Export a static website

quarkfoil export path\to\presentation.md --output presentation-site

The generated folder can be served by GitHub Pages or any ordinary static web server. Add --cdn to reference exact, integrity-checked jsDelivr packages instead of copying the browser libraries. See the export guide for details.

Documentation

Licenses

Quarkfoil itself is released under the MIT License.

Quarkfoil includes pinned, locally served copies of the following permissively licensed components. Their complete license texts are kept in the repository and included in distributed packages:

Versions, copyright holders, source checksums, and redistribution details are listed in the complete third-party licensing notice.

Contributors

juanjosegarciaripoll/quarkfoil

Markdown-based presentation system

4

stars

35

commits

JavaScript

primary language

Sep 7, 2026

updated

README

Quarkfoil logo

Quarkfoil

CI Documentation

Quarkfoil is a local, browser-based editor for scientific presentations written in Markdown. It combines structured slide layouts with freely positioned Markdown, LaTeX, and image objects, and presents the result with Reveal.js.

Read the illustrated documentation · View the live sample presentation

Quarkfoil editing the included example presentation

The presentation remains a readable Markdown file accompanied by a figures/ directory. Quarkfoil itself is installed once; its application files are not copied into every presentation project.

Highlights

  • Seven layouts: 1, 1+1, 1+2, 2+1, 0, Front page, and Free canvas.
  • Markdown and KaTeX equations remain editable rather than becoming screenshots.
  • Image fit, crop focus, overlay position, size, typography, alignment, and fragments are editable graphically.
  • Native MP4/WebM video plus optimized AVI/MKV conversion when FFmpeg is installed.
  • Source, Design, and Present modes use the same Markdown source of truth.
  • Local assets and pinned browser libraries require no runtime CDN or Node/npm toolchain.
  • Presentations export as self-contained static websites, with an optional pinned-CDN mode.
  • Saves are atomic, conflict-checked, and restricted to the selected presentation directory.

Install

Quarkfoil requires Python 3.11 or newer. The recommended installation uses uv:

uv tool install quarkfoil

Until a package is published, install from a local checkout:

uv tool install .

Run a presentation with:

quarkfoil path\to\presentation.md

If that Markdown file is missing or empty, Quarkfoil creates a minimal starter presentation. It never replaces a nonempty file.

Quarkfoil opens a local address such as http://127.0.0.1:8765/. Stop the server with Ctrl+C in its terminal.

Try the included example

From a source checkout:

uv run quarkfoil example\deck.md

The example/ directory is also a template for new presentation projects.

Export a static website

quarkfoil export path\to\presentation.md --output presentation-site

The generated folder can be served by GitHub Pages or any ordinary static web server. Add --cdn to reference exact, integrity-checked jsDelivr packages instead of copying the browser libraries. See the export guide for details.

Documentation

Licenses

Quarkfoil itself is released under the MIT License.

Quarkfoil includes pinned, locally served copies of the following permissively licensed components. Their complete license texts are kept in the repository and included in distributed packages:

Versions, copyright holders, source checksums, and redistribution details are listed in the complete third-party licensing notice.

See what people are saying

Contributors

Languages

JavaScript

49.8%

Python

40.2%

CSS

5.3%

HTML

4.7%