Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oknozor/unveil-rs
Unveil Rs is a tool to create presentations from markdown inspired by reveal.js, mdbook and zola.
https://github.com/oknozor/unveil-rs
markdown presentation-slides reveal reveal-js rust
Last synced: 11 days ago
JSON representation
Unveil Rs is a tool to create presentations from markdown inspired by reveal.js, mdbook and zola.
- Host: GitHub
- URL: https://github.com/oknozor/unveil-rs
- Owner: oknozor
- License: mit
- Created: 2020-03-11T18:24:54.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-08-16T13:03:54.000Z (3 months ago)
- Last Synced: 2024-10-12T23:08:38.575Z (about 1 month ago)
- Topics: markdown, presentation-slides, reveal, reveal-js, rust
- Language: Rust
- Homepage: https://oknozor.github.io/unveil-rs/
- Size: 1.24 MB
- Stars: 48
- Watchers: 4
- Forks: 11
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.MD
- License: LICENSE
Awesome Lists containing this project
README
# Unveil Rs [![Latest Version]][crates.io] [![Build Status]][travis]
[Build Status]: https://travis-ci.com/oknozor/unveil-rs.svg?branch=master
[travis]: https://travis-ci.com/oknozor/unveil-rs
[Latest Version]: https://img.shields.io/crates/v/unveil-rs.svg
[crates.io]: https://www.crates.io/crates/unveil-rsUnveil Rs is a tool to create presentations from markdown files.
It is inspired by [reveal.js](https://github.com/hakimel/reveal.js)
, [mdbook](https://github.com/rust-lang/mdBook) and [zola](https://www.getzola.org/).## What does it look like ?
See the [live demo](https://oknozor.github.io/unveil-rs/).
## Installation
1. From crates.io
At the moment unveil is only available on [crates.io](https://crates.io).
To get started you will need to install rust and then type the following command in a terminal :
```shell script
cargo install unveil-rs --version=0.1.2-alpha1
```Note : the `--version` flag is required while unveil version is still in alpha.
2. From git
If you want the latest you can run :
```shell script
cargo install --git https://github.com/oknozor/unveil-rs.git unveil-rs
```## Usage
### Initialize
To initialize an empty project run :
```shell script
unveil init mypresentation
```This will create the following directory structure :
```shell script
├── slides
│ └── landing.md
└── unveil.toml
```### Build and run
To build your project run :
```shell script
cd mypresentation && unveil build
```This command generate the following files :
```shell script
├── public
│ ├── fontawesome
│ │ ├── css
│ │ │ └── fontawesome.css
│ │ └── webfonts
│ │ ├── (...)
│ ├── clipboard.js
│ ├── highlight.css
│ ├── highlight.js
│ ├── index.html
│ ├── livereload.js
│ ├── unveil.css
│ └── unveil.js
│ └── user_css.css
├── slides
│ └── landing.md
└── unveil.toml
```Actually the build command is optional, you can directly run `unveil serve` inside your
project root directory. This will build the static site and start serving it on `localhost:7878`.From this point you can start editing your markdown slides. The site will reload as you edit it.
### Add new slides
To add a slide run `unveil new myslide` inside your project root directory. it will create a new markdown file
`myslide.md` in the `slides/` directory and add a slide entry in the `unveil.toml` config file.```toml
name = "mypresentation"
language = "EN"
gitignore = true
slides = ["landing.md", "myslide.md"]
```### Add style to your slides
Inspired by [zola's frontmatter](https://www.getzola.org/documentation/content/page/#front-matter) unveil slides can be
styled with a style matter block. The Sass style matter is a style attached to the current slide embedded in a file at the beginning of
the file enclosed by triple pluses (+++). If your slide does not have additional styling, the opening and closing +++ are optional.Example :
```markdown
+++
background-color: black;
color: white;h1 {
color: red;
}
+++
# I am redI am white and my background is black
```### Custom CSS properties
Unveil use some custom CSS properties to help you design your slides.
For example you can add transition on slides using the `--on-enter-animation` CSS property on your slide's stylematter :
```markdown
+++
--on-enter-animation: zoom-in
+++
# I will zoom in on enter
```#### Available custom CSS properties
| name | allowed values | status |
| :--- | :--- | :--- |
|`--on-enter-animation` | `fade-in`, `zoom-in` | implemented |If you want to see more custom properties and transitions in unveil, please let us know !
### Hljs
Unveil use hljs to generate pretty code snippet. Rust code can be played thanks to [the rust playground project](https://play.integer32.com/help).
### Commands
| name | description | args |
| :--- | :----------- | :--- |
|init | new project | `PROJECT_NAME` default = `unveil` |
|build | build the project | |
|clean | wipe the public directory | |
|serve | serve the project, build it if needed | |
|add | create a new slide | `SLIDE_NAME` required |## Contributions
Unveil is at a very early stage of it's development and any help is welcome. If you want to participate read the
[contributing guidelines](CONTRIBUTING.MD) and pick an [issue](https://github.com/oknozor/unveil-rs/issues)!## Getting Help
Need help ? You can contact us via our [matrix channel](https://riot.im/app/#/room/#unveil-rs:matrix.org) or ask a question
on the [issue tracker](https://github.com/oknozor/unveil-rs/issues).