Command Line Interface

This page contains an exhaustive list of all the commands available with manim-slides.

manim-slides

Manim Slides command-line utilities.

If no command is specified, defaults to present.

Usage

manim-slides [OPTIONS] COMMAND [ARGS]...

Options

--notify-outdated-version, -S, --silent

Check if a new version of Manim Slides is available.

-v, --version

Show the version and exit.

-h, --help

Show this message and exit.

checkhealth

Check Manim Slides’ installation.

Usage

manim-slides checkhealth [OPTIONS]

convert

Convert SCENE(s) into a given format and writes the result in DEST.

Usage

manim-slides convert [OPTIONS] [SCENES]... DEST

Options

--folder <DIRECTORY>

Set slides folder.

Default:

PosixPath('slides')

--to <FORMAT>

Set the conversion format to use. Use ‘auto’ to detect format from DEST.

Default:

'auto'

Options:

auto | html | pdf | pptx | zip

--open

Open the newly created file using the appropriate application.

-c, --config <config_options>

Configuration options passed to the converter. E.g., pass ‘-cslide_number=true’ to display slide numbers.

--use-template <FILE>

Use the template given by FILE instead of default one. FILE can be a filesystem path or a built-in template name.

Available built-in templates: [firebase_sync.html, revealjs.html]

To echo the default template, use ‘–show-template’.

--one-file

Embed all local assets (e.g., video files) in the output file. The is a convenient alias to ‘-cone_file=true’.

--offline

Download any remote content and store it in the assets folder. The is a convenient alias to ‘-coffline=true’.

--show-template

Show the template (currently) used for a given conversion format and exit.

--show-config

Show supported options for given format and exit.

-v, --verbosity <verbosity>

Verbosity of CLI output.

Options:

DEBUG | INFO | WARNING | ERROR | CRITICAL

Arguments

SCENES

Optional argument(s)

DEST

Required argument

Environment variables

MANIM_SLIDES_VERBOSITY

Provide a default for -v

init

Initialize a new default configuration file.

Usage

manim-slides init [OPTIONS]

Options

-m, --merge

Merge any existing configuration file with the new configuration.

-f, --force

Overwrite any existing configuration file.

-c, --config <FILE>

Set path to configuration file.

Default:

PosixPath('.manim-slides.toml')

-h, --help

Show this message and exit.

-v, --verbosity <verbosity>

Verbosity of CLI output.

Options:

DEBUG | INFO | WARNING | ERROR | CRITICAL

Environment variables

MANIM_SLIDES_VERBOSITY

Provide a default for -v

list-scenes

List available scenes.

Usage

manim-slides list-scenes [OPTIONS]

Options

--folder <DIRECTORY>

Set slides folder.

Default:

PosixPath('slides')

-h, --help

Show this message and exit.

-v, --verbosity <verbosity>

Verbosity of CLI output.

Options:

DEBUG | INFO | WARNING | ERROR | CRITICAL

Environment variables

MANIM_SLIDES_VERBOSITY

Provide a default for -v

present

Present SCENE(s), one at a time, in order.

Each SCENE parameter must be the name of a Manim scene, with existing SCENE.json config file.

You can present the same SCENE multiple times by repeating the parameter.

Use manim-slide list-scenes to list all available scenes in a given folder.

Usage

manim-slides present [OPTIONS] [SCENES]...

Options

-c, --config <FILE>

Set path to configuration file.

Default:

PosixPath('.manim-slides.toml')

--folder <DIRECTORY>

Set slides folder.

Default:

PosixPath('slides')

--start-paused

Start paused.

-F, --full-screen, --fullscreen

Toggle full screen mode.

-s, --skip-all

Skip all slides, useful the test if slides are working. Automatically sets --exit-after-last-slide to True.

--exit-after-last-slide

At the end of last slide, the application will be exited.

-H, --hide-mouse

Hide mouse cursor.

--aspect-ratio <aspect_ratio>

Set the aspect ratio mode to be used when rescaling the video.

Default:

'keep'

Options:

keep | ignore

--sa, --start-at <SCENE,SLIDE>

Start presenting at (x, y), equivalent to --sacn x --sasn y, and overrides values if not None.

--sacn, --start-at-scene-number <INDEX>

Start presenting at a given scene number (0 is first, -1 is last).

--sasn, --start-at-slide-number <INDEX>

Start presenting at a given slide number (0 is first, -1 is last).

-S, --screen <NUMBER>

Present content on the given screen (a.k.a. display).

--playback-rate <RATE>

Playback rate of the video slides, see PySide6 docs for details. The playback rate of each slide is defined as the product of its default playback rate and the provided value.

--next-terminates-loop

If set, pressing next will turn any looping slide into a play slide.

--hide-info-window

Hide info window. By default, hide the info window if there is only one screen.

--show-info-window

Force to show info window.

--info-window-screen <NUMBER>

Put info window on the given screen (a.k.a. display). If there is more than one screen, it will by default put the info window on a different screen than the main player.

-h, --help

Show this message and exit.

-v, --verbosity <verbosity>

Verbosity of CLI output.

Options:

DEBUG | INFO | WARNING | ERROR | CRITICAL

Arguments

SCENES

Optional argument(s)

Environment variables

MANIM_SLIDES_VERBOSITY

Provide a default for -v

render

Render SCENE(s) from the input FILE, using the specified renderer.

Use manim-slides render --help to see help information for a specific renderer.

Usage

manim-slides render [-h] [--CE|--GL] [RENDERER_ARGS]...

Options

--CE

If set, use Manim Community Edition (CE) renderer. If this or --GL is not set, defaults to CE renderer.

--GL

If set, use ManimGL renderer.

Arguments

[RENDERER_ARGS]...

Optional argument(s)

Environment variables

MANIM_RENDERER

Provide a default for --CE

MANIMGL_RENDERER

Provide a default for --GL

wizard

Launch configuration wizard.

Usage

manim-slides wizard [OPTIONS]

Options

-m, --merge

Merge any existing configuration file with the new configuration.

-f, --force

Overwrite any existing configuration file.

-c, --config <FILE>

Set path to configuration file.

Default:

PosixPath('.manim-slides.toml')

-h, --help

Show this message and exit.

-v, --verbosity <verbosity>

Verbosity of CLI output.

Options:

DEBUG | INFO | WARNING | ERROR | CRITICAL

Environment variables

MANIM_SLIDES_VERBOSITY

Provide a default for -v

All config options

Each converter has its own configuration options, which are listed below.

HTML
RevealJS options.

Please check out https://revealjs.com/config/ for more details.

assets_dir: {basename}_assets
# Assets folder.
# This is a template string that accepts 'dirname', 'basename', and 'ext' as variables.
# Those variables are obtained from the output filename.
template: None
# Custom template path or built-in template name.
one_file: False
# Embed all assets (e.g., animations) inside the HTML.
offline: False
# Download remote assets for offline presentation.
width: '100%'
# Width of the presentation.
height: '100%'
# Height of the presentation.
margin: 0.04
# Margin to use around the content.
min_scale: 0.2
# Bound for smallest possible scale to apply to content.
max_scale: 2.0
# Bound for large possible scale to apply to content.
controls: false
# Display presentation control arrows.
controls_tutorial: true
# Help the user learn the controls by providing hints.
controls_layout: 'bottom-right'
# Determine where controls appear.
controls_back_arrows: 'faded'
# Visibility rule for backwards navigation arrows.
progress: false
# Display a presentation progress bar.
slide_number: false
# Display the page number of the current slide.
show_slide_number: 'all'
# Can be used to limit the contexts in which the slide number appears.
hash_one_based_index: false
# Use 1 based indexing for # links to match slide number (default is zero based).
hash: false
# Add the current slide number to the URL hash so that reloading the page/copying the URL will return you to the same slide.
respond_to_hash_changes: false
# Flags if we should monitor the hash and change slides accordingly.
jump_to_slide: true
# Enable support for jump-to-slide navigation shortcuts.
history: false
# Push each slide change to the browser history.  Implies `hash: true`.
keyboard: true
# Enable keyboard shortcuts for navigation.
keyboard_condition: null
# Optional function that blocks keyboard events when retuning false.
disable_layout: false
# Disable the default reveal.js slide layout (scaling and centering) so that you can use custom CSS layout.
overview: true
# Enable the slide overview mode.
center: true
# Vertical centering of slides.
touch: true
# Enable touch navigation on devices with touch input.
loop: false
# Loop the presentation.
rtl: false
# Change the presentation direction to be RTL.
navigation_mode: 'default'
# Change the behavior of our navigation directions.
shuffle: false
# Randomize the order of slides each time the presentation loads.
fragments: true
# Turns fragment on and off globally.
fragment_in_url: true
# Flag whether to include the current fragment in the URL, so that reloading brings you to the same fragment position.
embedded: false
# Flag if the presentation is running in an embedded mode, i.e. contained within a limited portion of the screen.
help: true
# Flag if we should show a help overlay when the question-mark key is pressed.
pause: true
# Flag if it should be possible to pause the presentation (blackout).
show_notes: false
# Flag if speaker notes should be visible to all viewers.
auto_play_media: null
# Global override for autolaying embedded media (video/audio/iframe).
preload_iframes: null
# Global override for preloading lazy-loaded iframes.
auto_animate: true
# Can be used to globally disable auto-animation.
auto_animate_matcher: null
# Optionally provide a custom element matcher that will be used to dictate which elements we can animate between.
auto_animate_easing: 'ease'
# Default settings for our auto-animate transitions, can be overridden per-slide or per-element via data arguments.
auto_animate_duration: 1.0
# See 'auto_animate_easing' documentation.
auto_animate_unmatched: true
# See 'auto_animate_easing' documentation.
auto_animate_styles: ['opacity', 'color', 'background-color', 'padding', 'font-size', 'line-height', 'letter-spacing', 'border-width', 'border-color', 'border-radius', 'outline', 'outline-offset']
# CSS properties that can be auto-animated.
auto_slide: 0
# Control automatic progression to the next slide.
auto_slide_stoppable: true
# Stop auto-sliding after user input.
auto_slide_method: null
# Use this method for navigation when auto-sliding (defaults to navigateNext).
default_timing: null
# Specify the average time in seconds that you think you will spend presenting each slide.
mouse_wheel: false
# Enable slide navigation via mouse wheel.
preview_links: false
# Open links in an iframe preview overlay.
post_message: true
# Expose the reveal.js API through window.postMessage.
post_message_events: false
# Dispatch all reveal.js events to the parent window through postMessage.
focus_body_on_page_visibility_change: true
# Focus body when page changes visibility to ensure keyboard shortcuts work.
transition: 'none'
# Transition style.
transition_speed: 'default'
# Transition speed.
background_size: 'contain'
# Background size attribute for each video.
background_transition: 'none'
# Transition style for full page slide backgrounds.
pdf_max_pages_per_slide: Number.POSITIVE_INFINITY
# The maximum number of pages a single slide can expand onto when printing to PDF, unlimited by default.
pdf_separate_fragments: true
# Print each fragment on a separate slide.
pdf_page_height_offset: -1
# Offset used to reduce the height of content within exported PDF pages.
view_distance: 3
# Number of slides away from the current that are visible.
mobile_view_distance: 2
# Number of slides away from the current that are visible on mobile devices.
display: 'block'
# The display mode that will be used to show slides.
hide_inactive_cursor: true
# Hide cursor if inactive.
hide_cursor_time: 5000
# Time before the cursor is hidden (in ms).
background_color: black
# Background color used in slides, not relevant if videos fill the whole area.
reveal_version: 6.0.1
# RevealJS version.
reveal_theme: black
# RevealJS version.
cdn_url: https://cdn.jsdelivr.net/npm/reveal.js@{reveal_version}
# CDN URL to load RevealJS assets from. Known CDNs include https://cdn.jsdelivr.net/npm/reveal.js@{reveal_version}, https://cdnjs.cloudflare.com/ajax/libs/reveal.js/{reveal_version}, or https://unpkg.com/reveal.js@{reveal_version}.
title: Manim Slides
# Presentation title.
Zip

Note

The Zip converter inherits from the HTML converter.

assets_dir: {basename}_assets
# Assets folder.
# This is a template string that accepts 'dirname', 'basename', and 'ext' as variables.
# Those variables are obtained from the output filename.
template: None
# Custom template path or built-in template name.
one_file: False
# Embed all assets (e.g., animations) inside the HTML.
offline: False
# Download remote assets for offline presentation.
width: '100%'
# Width of the presentation.
height: '100%'
# Height of the presentation.
margin: 0.04
# Margin to use around the content.
min_scale: 0.2
# Bound for smallest possible scale to apply to content.
max_scale: 2.0
# Bound for large possible scale to apply to content.
controls: false
# Display presentation control arrows.
controls_tutorial: true
# Help the user learn the controls by providing hints.
controls_layout: 'bottom-right'
# Determine where controls appear.
controls_back_arrows: 'faded'
# Visibility rule for backwards navigation arrows.
progress: false
# Display a presentation progress bar.
slide_number: false
# Display the page number of the current slide.
show_slide_number: 'all'
# Can be used to limit the contexts in which the slide number appears.
hash_one_based_index: false
# Use 1 based indexing for # links to match slide number (default is zero based).
hash: false
# Add the current slide number to the URL hash so that reloading the page/copying the URL will return you to the same slide.
respond_to_hash_changes: false
# Flags if we should monitor the hash and change slides accordingly.
jump_to_slide: true
# Enable support for jump-to-slide navigation shortcuts.
history: false
# Push each slide change to the browser history.  Implies `hash: true`.
keyboard: true
# Enable keyboard shortcuts for navigation.
keyboard_condition: null
# Optional function that blocks keyboard events when retuning false.
disable_layout: false
# Disable the default reveal.js slide layout (scaling and centering) so that you can use custom CSS layout.
overview: true
# Enable the slide overview mode.
center: true
# Vertical centering of slides.
touch: true
# Enable touch navigation on devices with touch input.
loop: false
# Loop the presentation.
rtl: false
# Change the presentation direction to be RTL.
navigation_mode: 'default'
# Change the behavior of our navigation directions.
shuffle: false
# Randomize the order of slides each time the presentation loads.
fragments: true
# Turns fragment on and off globally.
fragment_in_url: true
# Flag whether to include the current fragment in the URL, so that reloading brings you to the same fragment position.
embedded: false
# Flag if the presentation is running in an embedded mode, i.e. contained within a limited portion of the screen.
help: true
# Flag if we should show a help overlay when the question-mark key is pressed.
pause: true
# Flag if it should be possible to pause the presentation (blackout).
show_notes: false
# Flag if speaker notes should be visible to all viewers.
auto_play_media: null
# Global override for autolaying embedded media (video/audio/iframe).
preload_iframes: null
# Global override for preloading lazy-loaded iframes.
auto_animate: true
# Can be used to globally disable auto-animation.
auto_animate_matcher: null
# Optionally provide a custom element matcher that will be used to dictate which elements we can animate between.
auto_animate_easing: 'ease'
# Default settings for our auto-animate transitions, can be overridden per-slide or per-element via data arguments.
auto_animate_duration: 1.0
# See 'auto_animate_easing' documentation.
auto_animate_unmatched: true
# See 'auto_animate_easing' documentation.
auto_animate_styles: ['opacity', 'color', 'background-color', 'padding', 'font-size', 'line-height', 'letter-spacing', 'border-width', 'border-color', 'border-radius', 'outline', 'outline-offset']
# CSS properties that can be auto-animated.
auto_slide: 0
# Control automatic progression to the next slide.
auto_slide_stoppable: true
# Stop auto-sliding after user input.
auto_slide_method: null
# Use this method for navigation when auto-sliding (defaults to navigateNext).
default_timing: null
# Specify the average time in seconds that you think you will spend presenting each slide.
mouse_wheel: false
# Enable slide navigation via mouse wheel.
preview_links: false
# Open links in an iframe preview overlay.
post_message: true
# Expose the reveal.js API through window.postMessage.
post_message_events: false
# Dispatch all reveal.js events to the parent window through postMessage.
focus_body_on_page_visibility_change: true
# Focus body when page changes visibility to ensure keyboard shortcuts work.
transition: 'none'
# Transition style.
transition_speed: 'default'
# Transition speed.
background_size: 'contain'
# Background size attribute for each video.
background_transition: 'none'
# Transition style for full page slide backgrounds.
pdf_max_pages_per_slide: Number.POSITIVE_INFINITY
# The maximum number of pages a single slide can expand onto when printing to PDF, unlimited by default.
pdf_separate_fragments: true
# Print each fragment on a separate slide.
pdf_page_height_offset: -1
# Offset used to reduce the height of content within exported PDF pages.
view_distance: 3
# Number of slides away from the current that are visible.
mobile_view_distance: 2
# Number of slides away from the current that are visible on mobile devices.
display: 'block'
# The display mode that will be used to show slides.
hide_inactive_cursor: true
# Hide cursor if inactive.
hide_cursor_time: 5000
# Time before the cursor is hidden (in ms).
background_color: black
# Background color used in slides, not relevant if videos fill the whole area.
reveal_version: 6.0.1
# RevealJS version.
reveal_theme: black
# RevealJS version.
cdn_url: https://cdn.jsdelivr.net/npm/reveal.js@{reveal_version}
# CDN URL to load RevealJS assets from. Known CDNs include https://cdn.jsdelivr.net/npm/reveal.js@{reveal_version}, https://cdnjs.cloudflare.com/ajax/libs/reveal.js/{reveal_version}, or https://unpkg.com/reveal.js@{reveal_version}.
title: Manim Slides
# Presentation title.
PDF
assets_dir: {basename}_assets
# Assets folder.
# This is a template string that accepts 'dirname', 'basename', and 'ext' as variables.
# Those variables are obtained from the output filename.
template: None
# Custom template path or built-in template name.
frame_index: FrameIndex.last
# What frame (first or last) is used to represent each slide.
resolution: 100.0
# Image resolution use for saving frames.
HTML
assets_dir: {basename}_assets
# Assets folder.
# This is a template string that accepts 'dirname', 'basename', and 'ext' as variables.
# Those variables are obtained from the output filename.
template: None
# Custom template path or built-in template name.
frame_index: FrameIndex.last
# What frame (first or last) is used to represent each slide.
resolution: 100.0
# Image resolution use for saving frames.