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-slideto 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
--GLis 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.
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.