mirror of
https://github.com/jeertmans/manim-slides.git
synced 2025-05-21 12:37:00 +08:00
chore(docs): document sharing slides (#134)
* chore(docs): remove deprecated "last animation" mention * chore(docs): document sharing slides
This commit is contained in:
@ -8,6 +8,7 @@ Automatically generated reference for Manim Slides.
|
||||
api
|
||||
cli
|
||||
examples
|
||||
sharing
|
||||
```
|
||||
|
||||
[Application Programming Interface](./api): list of classes and methods that may be useful to the end-user.
|
||||
@ -15,3 +16,5 @@ examples
|
||||
[Command Line Interface](./cli): list of all commands available using Manim Slides' executable.
|
||||
|
||||
[Examples](./examples): curated list of examples and their output.
|
||||
|
||||
[Sharing](./sharing): how to share your presentation with others.
|
||||
|
126
docs/source/reference/sharing.md
Normal file
126
docs/source/reference/sharing.md
Normal file
@ -0,0 +1,126 @@
|
||||
# Sharing your slides
|
||||
|
||||
Maybe one of the most important features is the ability to share your
|
||||
presentation with other people, or even with yourself but on another computer!
|
||||
|
||||
There exists a variety of solutions, and all of them are exposed here.
|
||||
|
||||
We will go from the *most restrictive* method, to the least restrictive one.
|
||||
If you need to present on a computer without prior knowledge on what will be
|
||||
installed on it, please directly refer to the last sections.
|
||||
|
||||
> **NOTES:** in the next sections, we will assume your animations are described
|
||||
in `example.py`, and you have one presentation called `BasicExample`.
|
||||
|
||||
## With Manim Slides installed on the target machine
|
||||
|
||||
If Manim Slides, Manim (or ManimGL), and their dependencies are installed, then
|
||||
using `manim-slides present` allows for the best presentations, with the most
|
||||
options available.
|
||||
|
||||
### Sharing your Python file(s)
|
||||
|
||||
The lightest way to share your presentation is with the Python files that
|
||||
describe the slides.
|
||||
|
||||
If you have such files, you can recompile the animations locally, and use
|
||||
`manim-slides present` for your presentation. You may want to copy / paste
|
||||
you own `.manim-slides.json` config file, but it is **not recommended** if
|
||||
you are sharing from one platform (e.g., Linux) to another (e.g., Windows) as
|
||||
the key bindings might not be the same.
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
# If you use ManimGl, replace `manim` with `manimgl`
|
||||
manim example.py BasicExample
|
||||
|
||||
# This or `manim-slides BasicExample` works since
|
||||
# `present` is implied by default
|
||||
manim-slides present BasicExample
|
||||
```
|
||||
|
||||
### Sharing your animations files
|
||||
|
||||
If you do not want to recompile all the animations, you can simply share the
|
||||
slides folder (defaults to `./slides`). Then, Manim Slides will be able to read
|
||||
the animations from this folder and its subdirectories.
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
# Make sure that the slides directory is in the current
|
||||
# working directory, or specify with `--folder <FOLDER>`
|
||||
manim-slides present BasicExample
|
||||
```
|
||||
|
||||
and the corresponding tree:
|
||||
|
||||
```
|
||||
.
|
||||
└── slides
|
||||
├── BasicExample.json
|
||||
└── files
|
||||
└── BasicExample (files not shown)
|
||||
```
|
||||
|
||||
## Without Manim Slides installed on the target machine
|
||||
|
||||
An alternative to `manim-slides present` is `manim-slides convert`.
|
||||
Currently, only HTML conversion is available, but do not hesitate to propose
|
||||
other formats by creating a
|
||||
[Feature Request](https://github.com/jeertmans/manim-slides/issues/new/choose),
|
||||
or directly proposing a
|
||||
[Pull Request](https://github.com/jeertmans/manim-slides/compare).
|
||||
|
||||
A major advantage of HTML files is that they can be opened cross-platform,
|
||||
granted one has a modern web browser (which is pretty standard).
|
||||
|
||||
### Sharing HTML and animation files
|
||||
|
||||
First, you need to create the HTML file and its assets directory.
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
manim-slides convert BasicExample basic_example.html
|
||||
```
|
||||
|
||||
Then, you need to copy the HTML files and its assets directory to target location,
|
||||
while keeping the relative path between the HTML and the assets the same. The
|
||||
easiest solution is to compress both the file and the directory into one ZIP,
|
||||
and to extract it to the desired location.
|
||||
|
||||
By default, the assets directory will be named after the main HTML file, using `{basename}_assets`.
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
.
|
||||
├── basic_example_assets
|
||||
│ ├── 1413466013_2261824125_223132457.mp4
|
||||
│ ├── 1672018281_2145352439_3942561600.mp4
|
||||
│ └── 1672018281_3136302242_2191168284.mp4
|
||||
└── basic_example.html
|
||||
```
|
||||
|
||||
Then, you can simply open the HTML file with any web browser application.
|
||||
|
||||
### Sharing ONE HTML file
|
||||
|
||||
A future feature, that will be available once
|
||||
[#122](https://github.com/jeertmans/manim-slides/issues/122) is solved, will be
|
||||
to include all animations as data URI encoded, within the HTML file itself.
|
||||
|
||||
### Over the internet
|
||||
|
||||
Finally, HTML conversion makes it convenient to play your presentation on a
|
||||
remote server.
|
||||
|
||||
This is how your are able to watch all the examples on this website. If you want
|
||||
to know how to share your slide with GitHub pages, see the
|
||||
[workflow file](https://github.com/jeertmans/manim-slides/blob/main/.github/workflows/pages.yml).
|
||||
|
||||
> **WARNING:** keep in minde that playing large video files over the internet
|
||||
can take some time, and *glitches* may occur between slide transitions for this
|
||||
reason.
|
Reference in New Issue
Block a user