GitXplorerGitXplorer
o

unveil-rs

public
50 stars
11 forks
14 issues

Commits

List of commits on branch master.
Unverified
72e9f745d469bb2f0efab07f70a57c178dcd191e

Updated README.md with correct command to install

CCaptainLazarus committed 2 years ago
Unverified
adc0f7bb52013067f0f9d0bee4a1959bbb1fb3f1

refactor: switch to warp, clippy and fmt *

ooknozor committed 2 years ago
Unverified
3b84c1e327bda4ecf2a3c7d7f273f93abb77ee77

chore: update dependencies

ooknozor committed 2 years ago
Unverified
3d8e9adb9d89ee08b326c6e6f084585c6496bfee

Update unveil.rs

LLiHRaM committed 4 years ago
Verified
70f243c10519d9b75aa930ef2ae7043e1dec4ff3

docs: fix typo

ooknozor committed 4 years ago
Verified
4512c274e74df020630ee8b7ee45d5b7db6d33b0

Merge pull request #26 from oknozor/feat/css-theme

llunchboxav committed 5 years ago

README

The README file for this repository.

Unveil Rs Latest Version Build Status

Unveil Rs is a tool to create presentations from markdown files. It is inspired by reveal.js , mdbook and zola.

What does it look like ?

See the live demo.

Installation

  1. From crates.io

At the moment unveil is only available on crates.io.

To get started you will need to install rust and then type the following command in a terminal :

cargo install unveil-rs --version=0.1.2-alpha1

Note : the --version flag is required while unveil version is still in alpha.

  1. From git

If you want the latest you can run :

cargo install --git https://github.com/oknozor/unveil-rs.git unveil-rs

Usage

Initialize

To initialize an empty project run :

unveil init mypresentation

This will create the following directory structure :

├── slides
│   └── landing.md
└── unveil.toml

Build and run

To build your project run :

cd mypresentation && unveil build

This command generate the following files :

├── 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.

name = "mypresentation"
language = "EN"
gitignore = true
slides = ["landing.md", "myslide.md"]

Add style to your slides

Inspired by zola's frontmatter 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 :

+++
background-color: black;
color: white;  

h1 {
    color: red;
}
+++
# I am red 

I 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 :

+++
--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.

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 and pick an issue!

Getting Help

Need help ? You can contact us via our matrix channel or ask a question on the issue tracker.