No description
Find a file
2021-12-23 11:17:14 +01:00
.github/workflows Fix build 2021-11-12 13:34:54 +01:00
api Split slides first before rendering them 2021-12-22 22:31:45 +01:00
assets Add golangci-lint 2021-12-22 20:27:43 +01:00
cmd/goveal Cleanup 2021-12-22 23:05:59 +01:00
config Cleanup 2021-12-22 23:05:59 +01:00
events Live update Reveal config 2021-12-22 20:19:05 +01:00
examples Cleanup 2021-12-22 23:05:59 +01:00
fs Add golangci-lint 2021-12-22 20:27:43 +01:00
rendering Split slides first before rendering them 2021-12-22 22:31:45 +01:00
web Split slides first before rendering them 2021-12-22 22:31:45 +01:00
.gitattributes First draft of new fiber based server 2021-12-22 11:52:02 +01:00
.gitignore First draft of new fiber based server 2021-12-22 11:52:02 +01:00
.golangci.yml Add golangci-lint 2021-12-22 20:27:43 +01:00
.goreleaser.yml Fix GoReleaser config 2021-12-23 11:17:14 +01:00
.pre-commit-config.yaml Add golangci-lint 2021-12-22 20:27:43 +01:00
go.mod First draft of new fiber based server 2021-12-22 11:52:02 +01:00
go.sum First draft of new fiber based server 2021-12-22 11:52:02 +01:00
LICENSE Initial commit 2019-04-19 14:29:55 +02:00
README.md Update Readme and Github actions pipeline 2021-11-12 13:22:35 +01:00
renovate.json chore(deps): add renovate.json 2021-11-12 12:21:27 +00:00
Taskfile.yml Cleanup 2021-12-22 23:05:59 +01:00

Goveal

Actions Status

Goveal is very small and very simple tool that reads Markdown from a given file, renders it into a HTML template and serves it as local HTTP server. Right now Goveal uses Reveal.js 4.1.2 to create presentations and therefore also includes all features of Reveal.js 4.1.2.

Install

The easiest and fastest way to install Goveal is to use a pre-built binary from the releases.

If you have Go in the latest version installed you can also build your own version of Goveal:

task build

Requirements:

  • task
  • Optional: goreleaser (for task snapshot-release to build all binaries)

Note: All script tasks in the Taskfile.yml are meant to be executed with Linux/MacOS. Binaries for Windows are provided but not tested!

Usage

goveal serve ./slides.md
Param Description Default value
--host Hostname the binary is listening on localhost
--port Port the binary is listening on 2233
--code-theme highlight.js theme to use monokai
--transition Transition effect to show between slides none
--navigationMode Navigation mode to use when using the cursor keys to navigate through slides default
--config Path to the config file see config $HOME/goveal:./goveal
--horizontal-separator horizontal separator to split slides ===
--vertical-separator vertical separator to split slides ---
--theme reveal.js theme to use white
-h / --help shows help

Config

Goveal supports multiple configuration mechanisms. It tries to load a configuration file from $HOME or from . i.e. $HOME/goveal.yaml or $HOME/goveal.yml or ./goveal.yaml and so on.

Most options that can be set via commandline flags can also be set via configuration file (actually all but the --config switch does not make sense in the configuration file, does it? 😉). It is more a convenience feature to be able to set a theme and so on and so forth for the presentation without having to pass it every time as parameter.

Furthermore goveal supports configuration hot reloading i.e. you can play around with different themes and the rendered theme will be changed whenever you hit the save button!

See also an example at ./examples/goveal.yaml.

Custom CSS

To add custom CSS as theme overrides use a config file and add the stylesheets property. It takes a list of relative ( mandatory!) paths to CSS files that are included automatacally after the page was loaded so that they really overload everything added by Reveal and plugins.

the sample configuration file ./examples/goveal.yaml also contains a sample how to add custom CSS.