mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-06-24 22:20:40 -04:00
|
||
---|---|---|
.. | ||
docker | ||
.gitignore | ||
generate-readme-svg.sh | ||
generate-screencasts.sh | ||
README.md | ||
window-frame.svg |
Screencast / Asciinema
Asciinema is used to automatically generate terminal session recordings for our documentation. To fully automate this we use scripts that utilize expect to interface with different CLI tools, and run them inside a container.
Usage
./generate-screencasts.sh
This will:
- build the container
- run the expect based scripts
- copy recordings into the assets folder of our docs
To replay the output you can use asciinema play recordings/verify-cli.cast
.
Include the generated screencast into our docs using the AsciinemaWidget
:
import AsciinemaWidget from '../../src/components/AsciinemaWidget';
<AsciinemaWidget src="/constellation/assets/verify-cli.cast" fontSize={16} rows={20} cols={112} idleTimeLimit={3} preload={true} theme={'edgeless'} />
Then re-build and locally host the docs.
Styling
There are three different locations were styling is applied:
- The prompt is styled using ANSI escape codes. More explanation and the actual color codes can be found in Dockerfile.
- Player dimensions are passed to the
AsciinemaWidget
when it is embedded in the docs. Check theasciinema-player
for a full list of options. - Everything else is styled via CSS. This includes the option to build a custom player theme.
GitHub README.md
The GitHub README.md
does not support embedding the JavaScript asciinema-player
, therefore we generate an
svg
file for that usecase.
# Make sure to install the converter.
# https://github.com/nbedos/termtosvg
pip3 install termtosvg
# Generate SVG. This takes ~10min, since it actually creates a cluster in GCP.
./generate-readme-svg.sh