Markdown driven presentation tool written in Go!
revealgo is a small web application for giving Markdown-driven presentations implemented in Go! The
revealgocommand starts a local web server to serve the your markdown presentation file with
reveal.js. The presentation can be viewed in a web browser. The reveal.js library offers comprehensive presenting features such as slide transitions, speaker notes and more.
Download the binary from GitHub Releases and install it somewhere in your
revealgocurrently provides pre-built binaries for Linux, macOS and Windows.
You can also install via hombrew on macOS:
$ brew install yusukebe/tap/revealgo
To install from the source, use
$ git clone [email protected]:yusukebe/revealgo.git $ cd revealgo $ git submodule update --init --recursive $ go install ./cmd/revealgo
$ revealgo [options] MARKDOWN.md
Then access the local web server such as
http://localhost:3000with Chrome, Firefox, or Safari.
-p, --port TCP port number of this server (default: 3000) --theme Slide theme or original css file name. default themes: beige, black, blood, league, moon, night, serif, simple, sky, solarized, and white (default: black.css) --transition Transition effect for slides: default, cube, page, concave, zoom, linear, fade, none (default: default) --separator Horizontal slide separator characters (default: ^---) --vertical-separator Vertical slide separator characters (default: ^___) --multiplex Enable slide multiplex
Open the server address with your web browser:
## This is an H2 Title
The horizontal slide separator characters are '---'
This is second title
The vertical slide separator characters are '^___'
This is a third title
This is a forth title
You can add slide attributes like above.
revealgois running, open another terminal and get the theme file
$ curl http://localhost:3000/revealjs/css/theme/black.css > original.css
original.css, And then run
$ revealgo --theme original.css slide.md
Get the default slide HTML file:
$ curl http://localhost:3000/ > slide.html
slide.html, and then open
http://localhost:3000/slide.htmlwith your browser. A slide with the modified configurations will come up.
The multiplex plugin allows your audience to follow the slides of the presentation you are controlling on their own phone, tablet or laptop
--- reveal.js site
--multiplexis enabled, the client slides can be found on the
/path and the master ones under
/master/. The master presentation will push its changes to all the client ones for every transition, is like having a remote control!
For example, your laptop's IP address in the local network is
192.168.100.10and you are using the port
3000, so your audience should see the slides on
http://192.168.100.10:3000/, and you should be able to control their slides through
NOTE: Bear in mind multiplex feature will not work as expected when 1) the presenter computer firewall denies incomig traffic or 2) the local network does not allow traffic between devices on the port you picked
Thanks to all contributors!
Yusuke Wada http://github.com/yusukebe
Distributed under the MIT License. See LICENSE for more information.