Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vivaxy/node-reveal

🎁A reveal.js cli
https://github.com/vivaxy/node-reveal

keynote nodeppt ppt presentation reveal-js slides socket-io

Last synced: about 2 months ago
JSON representation

🎁A reveal.js cli

Awesome Lists containing this project

README

        

# @vivaxy/reveal

![@vivaxy/reveal](assets/icons/node-reveal.jpg)

🎁 A reveal.js cli

[![NPM Version][npm-version-image]][npm-url]
[![NPM Downloads][npm-downloads-image]][npm-url]
[![MIT License][license-image]][license-url]
[![Standard Version][standard-version-image]][standard-version-url]

![screenshot-1](assets/screenshots/screenshot-1.png)

## Feature

Based on [reveal.js](https://github.com/hakimel/reveal.js#markdown).

- Easy to setup. No cloning repositories. No template files.
- Markdown files as slides content.
- Sync sliding between clients.
- Auto reload when markdown file changes.
- Speaker view.
- Theme config.
- Inline html.

## Notable Markdown Syntax

- Use `\r?\n----\r?\n` as horizontal slides separator.
- Use `\r?\n---\r?\n` as vertical slides separator.
- Use `^Note:` as speaker notes separator.
- Use `` to customize slide styles.
- Use `` to customize element styles.
- Use `` to create fragment.

## Basic Usage

### npx

`npx @vivaxy/reveal server --markdown /path/to/presentation.md`

### Keyboard Shortcuts

- `Space`: Next
- `Up`, `Down`, `Left`, `Right`: Navigation
- `k`, `j`, `h`, `l`: Navigation
- `f`: Full-screen
- `s`: Show slide notes
- `o`: Toggle overview
- `.` (`Period`, `b`, `v` or `/`): Turn screen black
- `Esc`: Escape from full-screen, or toggle overview
- `alt + Left Click`: Toggle zoom
- `p`, `n`: Previous and next

## Advanced Usage

### Commands

#### `server`

##### Basic Usage

```sh
reveal server \
--markdown ./ppt/reveal.md \
--theme solarized \
--highlight-theme solarized-light \
--transition slide \
--port 8080 \
--watch \
--separator '^\r?\n----\r?\n$' \
--separator-vertical '^\r?\n---\r?\n$' \
--separator-notes '^Note:' \
--width 1440 \
--height 900 \
--log-level 2 \
--script 'custom.js'
```

##### Options

| Name | Type | Required | Default | Description |
| ---------------------- | ------------- | -------- | ------------------ | ------------------------------------------------------------------- |
| `--markdown` | string | ✔ | N/A | markdown file |
| `--theme` | string | ✖ | `solarized` | [`reveal.js` theme](https://revealjs.com/themes/) |
| `--highlight-theme` | string | ✖ | `solarized-light` | [`highlight.js` theme](https://highlightjs.org/static/demo/) |
| `--transition` | string | ✖ | `slide` | [`reveal.js` transitions styles](https://revealjs.com/transitions/) |
| `--port` | number | ✖ | `0` | server port |
| `--watch` | boolean | ✖ | `false` | reload when markdown changed |
| `--separator` | string | ✖ | `^\r?\n----\r?\n$` | horizontal slides separator |
| `--separator-vertical` | string | ✖ | `^\r?\n---\r?\n$` | vertical slides separator |
| `--separator-notes` | string | ✖ | `^Note:` | speaker notes separator |
| `--width` | number | ✖ | 1440 | slide width |
| `--height` | number | ✖ | 900 | slide height |
| `--log-level` | number/string | ✖ | `2` | [log output level](https://github.com/vivaxy/log-util#log-level) |
| `--script` | string | ✖ | '' | insert custom script before head |

### URL Parameters

#### `print-pdf`

Used to print as pdf files.

Add `?print-pdf&showNotes=true`, like: `http://127.0.0.1:3000/?print-pdf#/`.

Press `Ctrl/Command + p` to open print dialog.

Usually, `print-pdf` is used with `showNotes`, like `http://127.0.0.1:3000/?print-pdf&showNotes=separate-page#/`

#### `showNotes`

Show speakers notes.

Add `?showNotes=true`, like: `http://127.0.0.1:3000/?showNotes=true#/`.

## Support

node >= v12

## Change Log

See [CHANGELOG.md](CHANGELOG.md).

## Prior Art

- [ksky521/nodePPT](https://github.com/ksky521/nodePPT)
- [hiroppy/fusuma](https://github.com/hiroppy/fusuma)
- [hakimel/reveal.js](https://github.com/hakimel/reveal.js)
- [webpro/reveal-md](https://github.com/webpro/reveal-md)
- [int64ago/node-reveal](https://github.com/int64ago/node-reveal)

[npm-version-image]: http://img.shields.io/npm/v/@vivaxy/reveal.svg?style=flat-square
[npm-url]: https://www.npmjs.com/package/@vivaxy/reveal
[npm-downloads-image]: https://img.shields.io/npm/dt/@vivaxy/reveal.svg?style=flat-square
[license-image]: https://img.shields.io/npm/l/@vivaxy/reveal.svg?style=flat-square
[license-url]: LICENSE
[standard-version-image]: https://img.shields.io/badge/release-standard%20version-brightgreen.svg?style=flat-square
[standard-version-url]: https://github.com/conventional-changelog/standard-version