Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/vivaxy/node-reveal
- Owner: vivaxy
- License: mit
- Archived: true
- Created: 2017-05-31T11:11:24.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-05-24T05:45:04.000Z (6 months ago)
- Last Synced: 2024-09-22T07:03:49.207Z (about 2 months ago)
- Topics: keynote, nodeppt, ppt, presentation, reveal-js, slides, socket-io
- Language: JavaScript
- Homepage: https://github.com/vivaxy/node-reveal
- Size: 1020 KB
- Stars: 26
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
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