Rust implementation of Reveal.js YAML server.
This project was transferred from Python language and now operates in a way that is easier to maintain and release, and it is Rust. Some old functions might be deprecated, and some functions are improved.
This manager downloads the latest Reveal.js archive to provide serving and packing function, and had same licensed as Reveal.js.
Static demo on gh-pages: https://kmolyuan.github.io/reveal-yaml-rs/
Download CLI executable from GitHub release: https://github.com/KmolYuan/reveal-yaml-rs/releases/
Using Reveal.js with Markdown, but it is still difficult to maintain HTML slideshows. This work provides a clean YAML file for your slides, an auto-generated outline, and a live demo when editing.
Difference to the before work, the Markdown to HTML translation is done by this parser instead of using markdown.js, so there is no more HTML escaping since they will be handled enough. (except using Markdown in your code block recursively, this needs to use <code>
tag by yourself)
Slides in HTML: In Reveal.js, the HTML structure shown as following. The typesetting is done by original HTML and CSS. ```html
**Slides in YAML**: The horizontal slides are as listed in the second block, which is an array. A slide can work with at least one attribute structure.
yaml
description: ...
The vertical slides work under the `sub` node of first slide, the attributes are same as horizontal slides.
yamlThe images and resizeable items are support "sized" attribute, which contains three options: src
, width
and height
. The src
option is required, otherwise the feature will be disabled or invalid.
The width
and height
options are the same as the attributes on the <img>
tag, they are optional.
yaml
img:
src: img/icon.png
width: 50% # same as width="50%"
height: 70 # same as height="70"
The command rym
stands for "Reveal-Yaml Manager".
```bash
rym update
rym new .
rym serve
rym fmt
rym pack ```
Here are the implemented features, or the functions are designed in progress. Generally, the parser will not check extra key values. In addition, almost all values support the null
placeholder to present the default value (blank, ~
, null
).
Some functions are planed to be demonstrated in the help page. Open the help page by adding /help/
after URL, like http://localhost:8080/help/
.
Metadata contains HTML settings and global slide settings.
The definition contains in the first YAML doc, split by horizontal line ---
.
slide number: c/t
will be JavaScript slideNumber: "c/t"
.title
but will be excluded in TOC, this page will uncounted.
title
is enabled, none-title
will not work.doc
.false
to disable global background.data-fragment-index
.