Skip to content

ursa-nz/Lantern

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lantern

Lantern

A small GUI for authoring Marp slides on GNOME. Edit on the left, see the slide render on the right, present from the same window. The whole deck saves as one file.

Named after the magic lantern: the 1600s slide projector that came two centuries before cinema, where a presenter would burn an oil lamp behind painted glass slides and talk, sing or play music to the projected image. Same idea, a bit cooler (sorry).

Standing on shoulders

Lantern doesn't render slides, parse Markdown, draw the window, or make PDFs. Other people's software does all that. Lantern just wires it together behind a GUI.

Sincere thanks to:

Just want to run it

Each tagged release ships a ready-to-install bundle. Grab nz.ursa.Lantern.flatpak from the latest release, then:

flatpak install --user ~/Downloads/nz.ursa.Lantern.flatpak
flatpak run nz.ursa.Lantern

(You need flatpak itself installed: sudo apt install flatpak on Debian/Ubuntu, similar for other distros.)

Build it yourself

Flatpak. For reproducing what the release ships, or making your own changes.

sudo apt install flatpak-builder
./scripts/build-flatpak.sh
flatpak install --user build/nz.ursa.Lantern.flatpak
flatpak run nz.ursa.Lantern

Local install (for hacking on the Python). PDF and HTML export work. PPTX needs pandoc on your PATH.

sudo apt install python3-gi gir1.2-gtk-4.0 gir1.2-adw-1 \
                 gir1.2-gtksource-5 gir1.2-webkit-6.0 \
                 nodejs npm pandoc flatpak xdg-utils
./scripts/install-local.sh    # ./scripts/uninstall-local.sh to remove

Using it

  • New makes a .lantern deck. Open a .lantern, or open a .md to import it.
  • Recent decks show on the welcome screen.
  • Layout toggle in the header. Editor, split, or preview.
  • The preview follows your cursor to the slide you are editing. Turn that off in Preferences.
  • Drop an image onto the editor to add it. A dialog sets placement, size, and filters.
  • Resources button opens a floating window for the deck's theme, images, and fonts.
  • Pick a theme in Resources. A Marp theme, one Lantern ships (Ink or Dusk), or your own. Edit CSS opens it in your editor.
  • Set a font as the body, heading, or monospace face. Lantern builds the theme and the preview updates live.
  • Properties sets the deck's title and author. Preferences holds your default author name.
  • Present in a window. Borderless, keeps the current size, good for Zoom.
  • Present fullscreen with F5. Escape exits either present mode.
  • Export to HTML, PDF, or PPTX from the burger menu.
  • Ctrl+S saves the .lantern. Autosave keeps the preview live.

Layout

src/lantern/      Python GTK app
src/lantern.in    Launcher template
data/             Desktop entry, AppStream metainfo, icon
flatpak/          flatpak-builder manifest
scripts/          install-local, uninstall-local, build-flatpak

Status

It all works. Create a deck, open one, or import a .md. Edit with a live preview that follows your cursor, and autosave keeps it current. The whole deck saves as one .lantern file. Drag in images and fonts with a placement dialog. Pick a theme and edit its CSS. Set fonts for the body, headings, and code. Name a deck and reopen recent ones. Present in a window or full screen, and export to HTML, PDF, and PPTX.

PNG and JPEG export is the one thing not built yet.

Flathub

Not yet. The live preview runs a small local web server so the page can hot reload while you type. For now that server listens on every network interface, so on an untrusted network someone could reach your open deck while Lantern is running. A loopback-only preview that closes this gap is in the works. That is the main thing standing between Lantern and a Flathub submission.

License

Copyright © 2026 ursa.nz. Released under the GNU General Public License, version 3.0 or later. See LICENSE for the full text.

About

A small GNOME GUI for authoring Marp slide decks with live preview, present modes, and PDF/PPTX export.

Topics

Resources

License

Stars

Watchers

Forks

Contributors