/lookatme

An interactive, terminal-based markdown presenter

Primary LanguagePythonMIT LicenseMIT

Master Build Status Coverage Status PyPI Statistics Latest Release Documentation Status

Twitter Follow

lookatme

lookatme is an interactive, extensible, terminal-based markdown presentation tool.

TOC

Features

  • Markdown rendering
  • Built-in tutorial slides lookatme --tutorial
  • Live (input file modification time watching) and manual reloading
  • Live terminals embedded directly in slides
  • Syntax highlighting using Pygments
  • Loading external files into code blocks
  • Support for contrib extensions
  • Smart slide splitting
  • Progressive slides with <!-- stop --> comments between block elements

Tutorial

pip install --upgrade lookatme
lookatme --tutorial

NOTE: lookatme 3.0 is nearing completion! Check out the latest release candidate with: pip install --upgrade --pre lookatme. Be warned, version 3.0 may not be as stable and contains breaking changes (mostly with styles) from previous major versions.

General tour

lookatme_tour

Embedded terminal example

terminal example

Sourcing external files example

file loader example

Navigating the Presentation

Action Keys Notes
Next Slide l j right space
Prev Slide h k left delete backspace
Quit q Q
Terminal Focus Click on the terminal
Exit Terminal ctrl+a and then a slide action
Vertically scroll within slide up/down or page up/page down

CLI Options

Usage: lookatme [OPTIONS] [INPUT_FILES]...

  lookatme - An interactive, terminal-based markdown presentation tool.

  See https://lookatme.readthedocs.io/en/v{{VERSION}} for documentation

Options:
  --debug
  -l, --log PATH
  --tutorial TEXT                 As a flag: show all tutorials. With a
                                  value/comma-separated values: show the
                                  specific tutorials. Use the value 'help' for
                                  more help
  -t, --theme [dark|light]
  --style [default|emacs|friendly|friendly_grayscale|colorful|autumn|murphy|manni|material|monokai|perldoc|pastie|borland|trac|native|fruity|bw|vim|vs|tango|rrt|xcode|igor|paraiso-light|paraiso-dark|lovelace|algol|algol_nu|arduino|rainbow_dash|abap|solarized-dark|solarized-light|sas|staroffice|stata|stata-light|stata-dark|inkpot|zenburn|gruvbox-dark|gruvbox-light|dracula|one-dark|lilypond|nord|nord-darker|github-dark]
  --dump-styles                   Dump the resolved styles that will be used
                                  with the presentation to stdout
  --live, --live-reload           Watch the input filename for modifications
                                  and automatically reload
  -s, --safe                      Do not load any new extensions specified in
                                  the source markdown. Extensions specified
                                  via env var or -e are still loaded
  --no-ext-warn                   Load new extensions specified in the source
                                  markdown without warning
  -i, --ignore-ext-failure        Ignore load failures of extensions
  -e, --exts TEXT                 A comma-separated list of extension names to
                                  automatically load (LOOKATME_EXTS)
  --single, --one                 Render the source as a single slide
  --version                       Show the version and exit.
  --help                          Show this message and exit.

Known Extensions

Below is a list of known extensions for lookatme:

Extension Name Install Name Notes
qrcode lookatme.contrib.qrcode Renders QR codes from code blocks
image_ueberzug lookatme.contrib.image_ueberzug Renders images with ueberzug (Linux only)
render lookatme.contrib.render Renders supported code blocks (graphviz and mermaid-js) by calling an external program. requires an image-rendering extension

Documentation

See the documentation for details.