Configuration-based HTML presentation producer using Manim.
Project description
Manim present
This a template for manim-based presentations that is manipulated by a YAML configuration file. Mainly geared towards AI agents interactions.
[!NOTES] Producing fancy but linear presentations with this tool should be easy and requires no Python coding. But this is at very early stages of development, so expect things change a lot
manim-present repository provides an example presentation to showcase implemented features, but here some design principles:
- The presentation flow is mostly linear. Often, the last rendered item is used as an anchor for the next one.
- The presentation layout is kept lean and clean; with a title and a logo at the top, and a footer that has author, date and the event description.
- You can segment the YAML configuration, as long as you include all relevant files in the main one:
- It's recommended to configure Title and Thanks pages through a
meta/config.yaml
- It's also recommended to put default styling values in a
default_styling/config.yaml
- It's recommended to configure Title and Thanks pages through a
- The YAML configuration supports python code as values when it makes sense.
- For example; an angle in radians can be set to
angle: "PI/4"
- And there is some special templating for important parameters:
{{ title }}
refers to the slide's title{{ last }}
refers to last rendered item{{ small_size }}
,{{ mid_size }}
and{{ big_size }}
can be used for font size settings
- For example; an angle in radians can be set to
- Slides are composed by steps:
code
: rendering code listings, supporting multi-step code reveals through modifications to specific code lines.custom
: accepts single-line python manim-like code to produceMobjects
to renderdiagram
: mostly-linear diagramming through rectangle nodes which can be grouped.image
: media rendering for raster image formatsitems
: similar to Latex's enumerate, but needs an anchor object for positioningplot
: simple scatter or line (or both) plottingreset
: resets the slide, keeping layout elementssvg
: media rendering for SVG objects, recommended for symbols and vector logostex
: Latex rendering, recommended only for equationstext
: simple text rendering, controlling font size and text color, with partial weighting and coloring
- All slide components adhere to a common position scheme (These translate to Manim, in this order):
align_to
: to align two objects in a direction. The target object can be the{{ last }}
rendered item.next_to
: moves the object next to the target, and applies a translation in specified directionshift
: moves the object by the input vector (eg.2*UP+RIGHT
will move the object by (1, 2) units)rotate
: rotates an object around an axis (Z-axis by default) by an input angle (in radians)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
manim_present-0.0.1.tar.gz
(10.1 kB
view hashes)
Built Distribution
Close
Hashes for manim_present-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c350d74e9142cf470e86e7c048d9315f7f1938e0f031a85fceaaf4256870621e |
|
MD5 | 9ecb91f25d5587b6c88c6a1c43712617 |
|
BLAKE2b-256 | faf9bc55271f96011b9fbbd28bd9456db9f13e81cc2c436697a8192b387bdd99 |