mirror of
https://github.com/jeertmans/manim-slides.git
synced 2025-07-02 12:57:26 +08:00
chore(ci): checking links and spell checking (#417)
* chore(ci): checking links and spell checking * chore(ci): move markdown-link-check to GitHub ci Because pre-commit.ci does not have access to the internet... * fix(lib): revert `reverse-...` utils because of warnings * chore(ci): checking links and spell checking * chore(ci): move markdown-link-check to GitHub ci Because pre-commit.ci does not have access to the internet... * fix(docs): myst-parser xref cannot end with .html * fix(docs): oops
This commit is contained in:
@ -1,7 +1,7 @@
|
|||||||
[bumpversion]
|
[bumpversion]
|
||||||
current_version = 5.1.4
|
current_version = 5.1.4
|
||||||
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(-rc(?P<release>\d+))?
|
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(-rc(?P<release>\d+))?
|
||||||
serialize =
|
serialize =
|
||||||
{major}.{minor}.{patch}-rc{release}
|
{major}.{minor}.{patch}-rc{release}
|
||||||
{major}.{minor}.{patch}
|
{major}.{minor}.{patch}
|
||||||
commit = True
|
commit = True
|
||||||
|
27
.github/scripts/check_github_issues.py
vendored
Normal file
27
.github/scripts/check_github_issues.py
vendored
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
"""Check that GitHub issues (and PR) links match the number in Markdown link."""
|
||||||
|
|
||||||
|
import glob
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
p = re.compile(
|
||||||
|
r"\[#(?P<number1>[0-9]+)\]"
|
||||||
|
r"\(https://github\.com/"
|
||||||
|
r"(?:[a-zA-Z0-9_-]+)/(?:[a-zA-Z0-9_-]+)/"
|
||||||
|
r"(?:(?:issues)|(?:pull))/(?P<number2>[0-9]+)\)"
|
||||||
|
)
|
||||||
|
|
||||||
|
ret_code = 0
|
||||||
|
|
||||||
|
for glob_pattern in sys.argv[1:]:
|
||||||
|
for file in glob.glob(glob_pattern, recursive=True):
|
||||||
|
with open(file) as f:
|
||||||
|
for i, line in enumerate(f):
|
||||||
|
for m in p.finditer(line):
|
||||||
|
if m.group("number1") != m.group("number2"):
|
||||||
|
start, end = m.span()
|
||||||
|
print(f"{file}:{i}: ", line[start:end], file=sys.stderr) # noqa: T201
|
||||||
|
ret_code = 1
|
||||||
|
|
||||||
|
sys.exit(ret_code)
|
15
.github/workflows/tests.yml
vendored
15
.github/workflows/tests.yml
vendored
@ -46,7 +46,7 @@ jobs:
|
|||||||
if: matrix.os == 'windows-latest'
|
if: matrix.os == 'windows-latest'
|
||||||
run: echo "${HOME}/.local/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
run: echo "${HOME}/.local/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
||||||
|
|
||||||
# OS depedencies
|
# OS dependencies
|
||||||
- name: Install manim dependencies on MacOS
|
- name: Install manim dependencies on MacOS
|
||||||
if: matrix.os == 'macos-latest'
|
if: matrix.os == 'macos-latest'
|
||||||
run: brew install ffmpeg py3cairo
|
run: brew install ffmpeg py3cairo
|
||||||
@ -86,3 +86,16 @@ jobs:
|
|||||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||||
with:
|
with:
|
||||||
fail_ci_if_error: true
|
fail_ci_if_error: true
|
||||||
|
|
||||||
|
markdown-link-check:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Check links
|
||||||
|
uses: gaurav-nelson/github-action-markdown-link-check@v1
|
||||||
|
with:
|
||||||
|
use-quiet-mode: yes
|
||||||
|
use-verbose-mode: yes
|
||||||
|
config-file: .mdlc.json
|
||||||
|
8
.mdlc.json
Normal file
8
.mdlc.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"replacementPatterns": [
|
||||||
|
{
|
||||||
|
"pattern": "^/(?<path>.*)$",
|
||||||
|
"replacement": "https://eertmans.be/manim-slides/latest/$<path>.html"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -29,3 +29,17 @@ repos:
|
|||||||
hooks:
|
hooks:
|
||||||
- id: mypy
|
- id: mypy
|
||||||
additional_dependencies: [types-requests, types-setuptools]
|
additional_dependencies: [types-requests, types-setuptools]
|
||||||
|
- repo: https://github.com/codespell-project/codespell
|
||||||
|
rev: v2.2.6
|
||||||
|
hooks:
|
||||||
|
- id: codespell
|
||||||
|
additional_dependencies:
|
||||||
|
- tomli
|
||||||
|
- repo: local
|
||||||
|
hooks:
|
||||||
|
- id: github-issues
|
||||||
|
name: GitHub issues link check
|
||||||
|
description: Check issues (and PR) links are matching number.
|
||||||
|
entry: python .github/scripts/check_github_issues.py
|
||||||
|
language: system
|
||||||
|
types: [markdown]
|
||||||
|
@ -10,6 +10,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
(unreleased)=
|
(unreleased)=
|
||||||
## [Unreleased](https://github.com/jeertmans/manim-slides/compare/v5.1.4...HEAD)
|
## [Unreleased](https://github.com/jeertmans/manim-slides/compare/v5.1.4...HEAD)
|
||||||
|
|
||||||
|
(unreleased-chore)=
|
||||||
|
### Chore
|
||||||
|
|
||||||
|
- Added CI for broken HTML links and fixed, plus spell checking.
|
||||||
|
[#417](https://github.com/jeertmans/manim-slides/pull/417)
|
||||||
|
|
||||||
|
|
||||||
(v5.1.4)=
|
(v5.1.4)=
|
||||||
## [v5.1.4](https://github.com/jeertmans/manim-slides/compare/v5.1.3...v5.1.4)
|
## [v5.1.4](https://github.com/jeertmans/manim-slides/compare/v5.1.3...v5.1.4)
|
||||||
@ -191,7 +197,7 @@ In an effort to better document changes, this CHANGELOG document is now created.
|
|||||||
but the new player should be much easier to maintain and more performant,
|
but the new player should be much easier to maintain and more performant,
|
||||||
than its predecessor.
|
than its predecessor.
|
||||||
[#243](https://github.com/jeertmans/manim-slides/pull/243)
|
[#243](https://github.com/jeertmans/manim-slides/pull/243)
|
||||||
- Changed the slide config format to exclude unecessary information.
|
- Changed the slide config format to exclude unnecessary information.
|
||||||
`StypeType` is removed in favor to one boolean `loop` field. This is
|
`StypeType` is removed in favor to one boolean `loop` field. This is
|
||||||
a **breaking change** and one should re-render the slides to apply changes.
|
a **breaking change** and one should re-render the slides to apply changes.
|
||||||
[#243](https://github.com/jeertmans/manim-slides/pull/243)
|
[#243](https://github.com/jeertmans/manim-slides/pull/243)
|
||||||
|
@ -49,7 +49,7 @@ for detailed install instructions.
|
|||||||
Using Manim Slides is a two-step process:
|
Using Manim Slides is a two-step process:
|
||||||
1. Render animations using `Slide` (resp. `ThreeDSlide`) as a base class instead
|
1. Render animations using `Slide` (resp. `ThreeDSlide`) as a base class instead
|
||||||
of `Scene` (resp. `ThreeDScene`), and add calls to `self.next_slide()`
|
of `Scene` (resp. `ThreeDScene`), and add calls to `self.next_slide()`
|
||||||
everytime you want to create a new slide.
|
every time you want to create a new slide.
|
||||||
2. Run `manim-slides` on rendered animations and display them like a
|
2. Run `manim-slides` on rendered animations and display them like a
|
||||||
*PowerPoint* presentation.
|
*PowerPoint* presentation.
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ The documentation is available [online](https://eertmans.be/manim-slides/).
|
|||||||
|
|
||||||
### Basic Example
|
### Basic Example
|
||||||
|
|
||||||
Call `self.next_slide()` everytime you want to create a pause between
|
Call `self.next_slide()` every time you want to create a pause between
|
||||||
animations, and `self.next_slide(loop=True)` if you want the next slide to loop
|
animations, and `self.next_slide(loop=True)` if you want the next slide to loop
|
||||||
over animations until the user presses continue:
|
over animations until the user presses continue:
|
||||||
|
|
||||||
@ -118,7 +118,7 @@ manim-slides BasicExample
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
For detailed usage documentation, run `manim-slides --help`, or go to the
|
For detailed usage documentation, run `manim-slides --help`, or go to the
|
||||||
[documentation](https://eertmans.be/manim-slides/reference/cli.html).
|
[documentation](https://eertmans.be/manim-slides/latest/reference/cli.html).
|
||||||
|
|
||||||
## Interactive Tutorial
|
## Interactive Tutorial
|
||||||
|
|
||||||
@ -170,7 +170,7 @@ in *Settings*->*Display*.
|
|||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Contributions are more than welcome! Please read through
|
Contributions are more than welcome! Please read through
|
||||||
[our contributing section](https://eertmans.be/manim-slides/contributing/index.html).
|
[our contributing section](https://eertmans.be/manim-slides/latest/contributing/index.html).
|
||||||
|
|
||||||
### Reporting an Issue
|
### Reporting an Issue
|
||||||
|
|
||||||
|
@ -261,7 +261,7 @@
|
|||||||
mouseWheel: {{ mouse_wheel }},
|
mouseWheel: {{ mouse_wheel }},
|
||||||
|
|
||||||
// Opens links in an iframe preview overlay
|
// Opens links in an iframe preview overlay
|
||||||
// Add `data-preview-link` and `data-preview-link="false"` to customise each link
|
// Add `data-preview-link` and `data-preview-link="false"` to customize each link
|
||||||
// individually
|
// individually
|
||||||
previewLinks: {{ preview_links }},
|
previewLinks: {{ preview_links }},
|
||||||
|
|
||||||
|
@ -18,10 +18,10 @@ workflow
|
|||||||
internals
|
internals
|
||||||
```
|
```
|
||||||
|
|
||||||
[Workflow](./workflow)
|
[Workflow](/contributing/workflow)
|
||||||
: how to work on this project. Start here if you're a new contributor.
|
: how to work on this project. Start here if you're a new contributor.
|
||||||
|
|
||||||
[Internals](./internals)
|
[Internals](/contributing/internals)
|
||||||
: how Manim Slides is built and how the various parts of it work.
|
: how Manim Slides is built and how the various parts of it work.
|
||||||
|
|
||||||
## Reporting an Issue
|
## Reporting an Issue
|
||||||
|
@ -18,7 +18,9 @@ Useful links:
|
|||||||
* [GitHub's Hello World](https://docs.github.com/en/get-started/quickstart/hello-world).
|
* [GitHub's Hello World](https://docs.github.com/en/get-started/quickstart/hello-world).
|
||||||
* [GitHub Pull Request in 100 Seconds](https://www.youtube.com/watch?v=8lGpZkjnkt4&ab_channel=Fireship).
|
* [GitHub Pull Request in 100 Seconds](https://www.youtube.com/watch?v=8lGpZkjnkt4&ab_channel=Fireship).
|
||||||
|
|
||||||
Once you feel comfortable with git and GitHub, [fork](https://github.com/jeertmans/manim-slides/fork) the repository, and clone it locally.
|
Once you feel comfortable with git and GitHub,
|
||||||
|
[fork](https://github.com/jeertmans/manim-slides/fork)
|
||||||
|
the repository, and clone it locally.
|
||||||
|
|
||||||
As for every Python project, using virtual environment is recommended to avoid
|
As for every Python project, using virtual environment is recommended to avoid
|
||||||
conflicts between modules.
|
conflicts between modules.
|
||||||
@ -36,7 +38,7 @@ pdm install
|
|||||||
This, however, only installs the minimal set of dependencies to run the package.
|
This, however, only installs the minimal set of dependencies to run the package.
|
||||||
|
|
||||||
If you would like to install Manim or ManimGL,
|
If you would like to install Manim or ManimGL,
|
||||||
as documented in the [quickstart](../quickstart),
|
as documented in the [quickstart](/quickstart),
|
||||||
you can use the `-G|--group` option:
|
you can use the `-G|--group` option:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -45,7 +47,7 @@ pdm install -Gmanim # For Manim
|
|||||||
pdm install -Gmanimgl # For ManimGL
|
pdm install -Gmanimgl # For ManimGL
|
||||||
```
|
```
|
||||||
|
|
||||||
Additionnally, Manim Slides comes with groups of dependencies for development purposes:
|
Additionally, Manim Slides comes with groups of dependencies for development purposes:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pdm install -Gdev # For linters and formatters
|
pdm install -Gdev # For linters and formatters
|
||||||
|
@ -23,7 +23,7 @@ og:description: Manim Slides makes creating slides with Manim super easy!
|
|||||||
|
|
||||||
Manim Slides makes creating slides with Manim super easy!
|
Manim Slides makes creating slides with Manim super easy!
|
||||||
|
|
||||||
In a [very few steps](./quickstart),
|
In a [very few steps](/quickstart),
|
||||||
you can create slides and present them either using the GUI, or your browser.
|
you can create slides and present them either using the GUI, or your browser.
|
||||||
|
|
||||||
Slide through the demo below to get a quick glimpse on what you can do with
|
Slide through the demo below to get a quick glimpse on what you can do with
|
||||||
|
@ -12,7 +12,7 @@ The benefit of using pipx is that it will automatically create a new virtual
|
|||||||
environment for every package you install.
|
environment for every package you install.
|
||||||
|
|
||||||
:::{note}
|
:::{note}
|
||||||
Everytime you read `pipx install`, you can use `pip install` instead,
|
Every time you read `pipx install`, you can use `pip install` instead,
|
||||||
if you are working in a virtual environment or else.
|
if you are working in a virtual environment or else.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
@ -146,23 +146,26 @@ If you are using Nix or NixOS, you can find Manim Slides under:
|
|||||||
any Qt bindings.
|
any Qt bindings.
|
||||||
|
|
||||||
You can try out the Manim Slides package with
|
You can try out the Manim Slides package with
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
nix-shell -p manim ffmpeg manim-slides
|
nix-shell -p manim ffmpeg manim-slides
|
||||||
```
|
```
|
||||||
|
|
||||||
or by adding it to your
|
or by adding it to your
|
||||||
[configuration file](https://nixos.org/manual/nixos/stable/#sec-package-management).
|
[configuration file](https://nixos.org/manual/nixos/stable/#sec-package-management).
|
||||||
|
|
||||||
Alternatively, you can try Manim Slides in a Python environment with:
|
Alternatively, you can try Manim Slides in a Python environment with:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
nix-shell -p manim ffmpeg "python3.withPackages(ps: with ps; [ manim-slides, ...])"
|
nix-shell -p manim ffmpeg "python3.withPackages(ps: with ps; [ manim-slides, ...])"
|
||||||
```
|
```
|
||||||
|
|
||||||
or bundle this into [your Nix environment](https://wiki.nixos.org/wiki/Python).
|
or bundle this into [your Nix environment](https://wiki.nixos.org/wiki/Python).
|
||||||
|
|
||||||
:::{note}
|
:::{note}
|
||||||
Nix current does not support `manimgl`.
|
Nix current does not support `manimgl`.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
|
||||||
## When you need a Qt backend
|
## When you need a Qt backend
|
||||||
|
|
||||||
Before `v5.1`, Manim Slides automatically included PySide6 as
|
Before `v5.1`, Manim Slides automatically included PySide6 as
|
||||||
@ -182,5 +185,5 @@ install those are via optional dependencies, as explained above.
|
|||||||
|
|
||||||
An alternative way to install Manim Slides is to clone the git repository,
|
An alternative way to install Manim Slides is to clone the git repository,
|
||||||
and build the package from source. Read the
|
and build the package from source. Read the
|
||||||
[contributing guide](./contributing/workflow)
|
[contributing guide](/contributing/workflow)
|
||||||
to know how to process.
|
to know how to process.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Quickstart
|
# Quickstart
|
||||||
|
|
||||||
If not already, install Manim Slides, along with either Manim or ManimGL,
|
If not already, install Manim Slides, along with either Manim or ManimGL,
|
||||||
see [installation](./installation).
|
see [installation](/installation).
|
||||||
|
|
||||||
## Creating your first slides
|
## Creating your first slides
|
||||||
|
|
||||||
@ -31,4 +31,5 @@ The output slides should look this this:
|
|||||||
:quality: high
|
:quality: high
|
||||||
```
|
```
|
||||||
|
|
||||||
For more advanced examples, see the [Examples](reference/examples) section.
|
For more advanced examples,
|
||||||
|
see the [Examples](/reference/examples) section.
|
||||||
|
@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
Manim Slides' graphical user interface (GUI) is the *de facto* way to present slides.
|
Manim Slides' graphical user interface (GUI) is the *de facto* way to present slides.
|
||||||
|
|
||||||
If you do not specify one of the commands listed in the [CLI reference](./cli),
|
If you do not specify one of the commands listed in the
|
||||||
|
[CLI reference](/reference/cli),
|
||||||
Manim Slides will use **present** by default, which launches a GUI window,
|
Manim Slides will use **present** by default, which launches a GUI window,
|
||||||
playing your scene(s) like so:
|
playing your scene(s) like so:
|
||||||
|
|
||||||
@ -25,7 +26,7 @@ directory, you should not worry about that :-)
|
|||||||
## Configuration File
|
## Configuration File
|
||||||
|
|
||||||
It is possible to configure Manim Slides via a configuration file, even though
|
It is possible to configure Manim Slides via a configuration file, even though
|
||||||
this feature is currently limited. You may initiliaze the default configuration
|
this feature is currently limited. You may initialize the default configuration
|
||||||
file with:
|
file with:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
@ -30,11 +30,11 @@ manim-slides convert --show-config
|
|||||||
## Using a Custom Template
|
## Using a Custom Template
|
||||||
|
|
||||||
The default template used for HTML conversion can be found on
|
The default template used for HTML conversion can be found on
|
||||||
[GitHub](https://github.com/jeertmans/manim-slides/blob/main/manim_slides/data/revealjs_template.html)
|
[GitHub](https://github.com/jeertmans/manim-slides/blob/main/manim_slides/templates/revealjs.html)
|
||||||
or printed with the `--show-template` option.
|
or printed with the `--show-template` option.
|
||||||
If you wish to use another template, you can do so with the
|
If you wish to use another template, you can do so with the
|
||||||
`--use-template FILE` option.
|
`--use-template FILE` option.
|
||||||
|
|
||||||
## More about HTML Slides
|
## More about HTML Slides
|
||||||
|
|
||||||
You can read more about HTML slides in the [sharing](./sharing) section.
|
You can read more about HTML slides in the [sharing](/reference/sharing) section.
|
||||||
|
@ -16,23 +16,23 @@ sharing
|
|||||||
Sphinx Extension <sphinx_extension>
|
Sphinx Extension <sphinx_extension>
|
||||||
```
|
```
|
||||||
|
|
||||||
[Application Programming Interface](./api): list of classes and methods that may
|
[Application Programming Interface](/reference/api): list of classes and methods that may
|
||||||
be useful to the end-user.
|
be useful to the end-user.
|
||||||
|
|
||||||
[Command Line Interface](./cli): list of all commands available using Manim
|
[Command Line Interface](/reference/cli): list of all commands available using Manim
|
||||||
Slides' executable.
|
Slides' executable.
|
||||||
|
|
||||||
[Examples](./examples): curated list of examples and their output.
|
[Examples](/reference/examples): curated list of examples and their output.
|
||||||
|
|
||||||
[Graphical User Interface](./gui): details about the main Manim Slide' feature.
|
[Graphical User Interface](/reference/gui): details about the main Manim Slide' feature.
|
||||||
|
|
||||||
[HTML Presentation](./html): an alternative way of presenting your animations.
|
[HTML Presentation](/reference/html): an alternative way of presenting your animations.
|
||||||
|
|
||||||
[IPython Magic](./ipython_magic): a magic to render and display Manim Slides inside notebooks.
|
[IPython Magic](/reference/ipython_magic): a magic to render and display Manim Slides inside notebooks.
|
||||||
|
|
||||||
+ [Example](./magic_example): example notebook using the magics.
|
+ [Example](/reference/magic_example): example notebook using the magics.
|
||||||
|
|
||||||
[Sharing](./sharing): how to share your presentation with others.
|
[Sharing](/reference/sharing): how to share your presentation with others.
|
||||||
|
|
||||||
|
|
||||||
[Sphinx Extension](./sphinx_extension): a Sphinx extension for diplaying Manim Slides animations within your documentation.
|
[Sphinx Extension](/reference/sphinx_extension): a Sphinx extension for displaying Manim Slides animations within your documentation.
|
||||||
|
@ -126,10 +126,15 @@ to use an `iframe`:
|
|||||||
</div>
|
</div>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
<!-- markdown-link-check-disable -->
|
||||||
|
<!-- see why: https://github.com/tcort/markdown-link-check/discussions/189 -->
|
||||||
|
|
||||||
The additional code comes from
|
The additional code comes from
|
||||||
[this article](https://faq.dailymotion.com/hc/en-us/articles/360022841393-How-to-preserve-the-player-aspect-ratio-on-a-responsive-page)
|
[this article](https://faq.dailymotion.com/hc/en-us/articles/360022841393-How-to-preserve-the-player-aspect-ratio-on-a-responsive-page)
|
||||||
and it there to preserve the original aspect ratio (16:9).
|
and it there to preserve the original aspect ratio (16:9).
|
||||||
|
|
||||||
|
<!-- markdown-link-check-enable -->
|
||||||
|
|
||||||
### Sharing ONE HTML file
|
### Sharing ONE HTML file
|
||||||
|
|
||||||
If you set the `data_uri` option to `true` (with `-cdata_uri=true`),
|
If you set the `data_uri` option to `true` (with `-cdata_uri=true`),
|
||||||
@ -142,8 +147,8 @@ HTML conversion makes it convenient to play your presentation on a
|
|||||||
remote server.
|
remote server.
|
||||||
|
|
||||||
This is how your are able to watch all the examples on this website. If you want
|
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
|
to know how to share your slide with GitHub pages, check out the
|
||||||
[workflow file](https://github.com/jeertmans/manim-slides/blob/main/.github/workflows/pages.yml).
|
[Manim Slides Starter GitHub repository template](https://github.com/jeertmans/manim-slides-starter).
|
||||||
|
|
||||||
:::{warning}
|
:::{warning}
|
||||||
Keep in mind that playing large video files over the internet network
|
Keep in mind that playing large video files over the internet network
|
||||||
|
@ -249,7 +249,11 @@ class PreSlideConfig(BaseSlideConfig):
|
|||||||
if pre_slide_config.start_animation >= pre_slide_config.end_animation:
|
if pre_slide_config.start_animation >= pre_slide_config.end_animation:
|
||||||
if pre_slide_config.start_animation == pre_slide_config.end_animation == 0:
|
if pre_slide_config.start_animation == pre_slide_config.end_animation == 0:
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
"You have to play at least one animation (e.g., `self.wait()`) before pausing. If you want to start paused, use the approriate command-line option when presenting. IMPORTANT: when using ManimGL, `self.wait()` is not considered to be an animation, so prefer to directly use `self.play(...)`."
|
"You have to play at least one animation (e.g., `self.wait()`) "
|
||||||
|
"before pausing. If you want to start paused, use the appropriate "
|
||||||
|
"command-line option when presenting. "
|
||||||
|
"IMPORTANT: when using ManimGL, `self.wait()` is not considered "
|
||||||
|
"to be an animation, so prefer to directly use `self.play(...)`."
|
||||||
)
|
)
|
||||||
|
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
|
@ -631,7 +631,7 @@ def show_template_option(function: Callable[..., Any]) -> Callable[..., Any]:
|
|||||||
"--open",
|
"--open",
|
||||||
"open_result",
|
"open_result",
|
||||||
is_flag=True,
|
is_flag=True,
|
||||||
help="Open the newly created file using the approriate application.",
|
help="Open the newly created file using the appropriate application.",
|
||||||
)
|
)
|
||||||
@click.option("-f", "--force", is_flag=True, help="Overwrite any existing file.")
|
@click.option("-f", "--force", is_flag=True, help="Overwrite any existing file.")
|
||||||
@click.option(
|
@click.option(
|
||||||
@ -695,7 +695,7 @@ def convert(
|
|||||||
errors = e.errors()
|
errors = e.errors()
|
||||||
|
|
||||||
msg = [
|
msg = [
|
||||||
f"{len(errors)} error(s) occured with configuration options for '{to}', see below."
|
f"{len(errors)} error(s) occurred with configuration options for '{to}', see below."
|
||||||
]
|
]
|
||||||
|
|
||||||
for error in errors:
|
for error in errors:
|
||||||
|
@ -56,7 +56,7 @@ class Info(QWidget): # type: ignore[misc]
|
|||||||
self.video_sink = main_video_widget.videoSink()
|
self.video_sink = main_video_widget.videoSink()
|
||||||
left_layout.addWidget(main_video_widget)
|
left_layout.addWidget(main_video_widget)
|
||||||
|
|
||||||
# Current slide informations
|
# Current slide information
|
||||||
|
|
||||||
self.scene_label = QLabel()
|
self.scene_label = QLabel()
|
||||||
self.slide_label = QLabel()
|
self.slide_label = QLabel()
|
||||||
|
@ -262,7 +262,7 @@
|
|||||||
mouseWheel: {{ mouse_wheel }},
|
mouseWheel: {{ mouse_wheel }},
|
||||||
|
|
||||||
// Opens links in an iframe preview overlay
|
// Opens links in an iframe preview overlay
|
||||||
// Add `data-preview-link` and `data-preview-link="false"` to customise each link
|
// Add `data-preview-link` and `data-preview-link="false"` to customize each link
|
||||||
// individually
|
// individually
|
||||||
previewLinks: {{ preview_links }},
|
previewLinks: {{ preview_links }},
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ def link_nodes(*nodes: av.filter.context.FilterContext) -> None:
|
|||||||
|
|
||||||
|
|
||||||
def reverse_video_file(src: Path, dest: Path) -> None:
|
def reverse_video_file(src: Path, dest: Path) -> None:
|
||||||
"""Reverses a video file, writting the result to `dest`."""
|
"""Reverses a video file, writing the result to `dest`."""
|
||||||
with av.open(str(src)) as input_container, av.open(
|
with av.open(str(src)) as input_container, av.open(
|
||||||
str(dest), mode="w"
|
str(dest), mode="w"
|
||||||
) as output_container:
|
) as output_container:
|
||||||
|
@ -66,7 +66,7 @@ provide new features on a regular basis.
|
|||||||
|
|
||||||
# Easy to Use Commitment
|
# Easy to Use Commitment
|
||||||
|
|
||||||
Manim Slides is commited to be an easy-to-use tool, with minimal installation
|
Manim Slides is committed to be an easy-to-use tool, with minimal installation
|
||||||
procedure and few modifications required. It can either be used locally with its
|
procedure and few modifications required. It can either be used locally with its
|
||||||
graphical user interface (GUI), or shared via one of the two formats it can
|
graphical user interface (GUI), or shared via one of the two formats it can
|
||||||
convert to:
|
convert to:
|
||||||
@ -96,13 +96,13 @@ and posted it on YouTube.
|
|||||||
|
|
||||||
# Stability and releases
|
# Stability and releases
|
||||||
|
|
||||||
Manim Slides is continously tested on most recent Python versions, both ManimCE
|
Manim Slides is continuously tested on most recent Python versions, both ManimCE
|
||||||
and ManimGL, and on all major platforms: **Ubuntu**, **macOS** and **Windows**. Due to Manim
|
and ManimGL, and on all major platforms: **Ubuntu**, **macOS** and **Windows**. Due to Manim
|
||||||
Slide's exposed API being very minimal, and the variety of tests that are
|
Slide's exposed API being very minimal, and the variety of tests that are
|
||||||
performed, this tool can be considered stable over time.
|
performed, this tool can be considered stable over time.
|
||||||
|
|
||||||
New releases are very frequent, as they mostly introduce enhancements or small
|
New releases are very frequent, as they mostly introduce enhancements or small
|
||||||
documention fixes, and the command-line tool automatically notifies for new
|
documentation fixes, and the command-line tool automatically notifies for new
|
||||||
available updates. Therefore, regularly updating Manim Slides is highly
|
available updates. Therefore, regularly updating Manim Slides is highly
|
||||||
recommended.
|
recommended.
|
||||||
|
|
||||||
@ -160,7 +160,7 @@ For new feature requests, we highly encourage users to
|
|||||||
[create an issue](https://github.com/jeertmans/manim-slides/issues/new/choose)
|
[create an issue](https://github.com/jeertmans/manim-slides/issues/new/choose)
|
||||||
with the appropriate template.
|
with the appropriate template.
|
||||||
|
|
||||||
# Acknowledgements
|
# Acknowledgments
|
||||||
|
|
||||||
We acknowledge the work of @manim-presentation that paved the initial structure
|
We acknowledge the work of @manim-presentation that paved the initial structure
|
||||||
of Manim Slides with the manim-presentation Python package.
|
of Manim Slides with the manim-presentation Python package.
|
||||||
|
@ -76,6 +76,12 @@ Founding = "https://github.com/sponsors/jeertmans"
|
|||||||
Homepage = "https://github.com/jeertmans/manim-slides"
|
Homepage = "https://github.com/jeertmans/manim-slides"
|
||||||
Repository = "https://github.com/jeertmans/manim-slides"
|
Repository = "https://github.com/jeertmans/manim-slides"
|
||||||
|
|
||||||
|
[tool.codespell]
|
||||||
|
builtin = "clear,rare,informal,usage,names,en-GB_to_en-US"
|
||||||
|
check-hidden = true
|
||||||
|
ignore-words-list = "master"
|
||||||
|
skip = "pdm.lock"
|
||||||
|
|
||||||
[tool.coverage.report]
|
[tool.coverage.report]
|
||||||
exclude_lines = [
|
exclude_lines = [
|
||||||
"pragma: no cover",
|
"pragma: no cover",
|
||||||
|
Reference in New Issue
Block a user