Skip to content

soypat/go-presentx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-presentx

presentx screenshot

Go's present tool but with code syntax highlighting. Highlighted code is editable with some caveats

This is a quick and dirty implementation of flippeeer's reddit post. You can find a static version at acanalis's github.io.

Usage

Requires go-presentx installed and a prepared directory with ./templates and ./static folder. You may clone this repo and run go-presentx in the directory to be up and running on 127.0.0.1:3999. Go to slides link and open a .slide file to start a presentation.

You can serve the presentation on the internet configuring -orighost flag to your public domain. You may have to configure websockets if using a reverse-proxy like NGINX.

Installation

See releases executables for windows/linux/mac binaries.

To install from source: the following commands will generate an executable tool for your OS and architecture. Requires Go

git clone https://github.com/soypat/go-presentx.git
cd go-presentx
go install

go-presentx shall be installed to your $GOPATH/bin. Add this directory to your PATH to be able to call go-presentx from console.

Development

  • Requires Go installed. Enable modules with go env -w GO111MODULE="on"

Start presentation on 127.0.0.1:3999 (default) by running:

go run . 

About the syntax highlighting changes

  • No auto-rendering while editing

  • Uses the lightweight prism.js for syntax highlighting

  • Change code style by replacing static/prism.css with one from prism.js' site and modifying it to fit your needs (see css config section)

  • Press CTRL while in editable code block to re-render all syntax

  • Issue with the caret being invisible at times and sometimes appearing to be on the next line

Prism CSS config

  • Ligatures off by default. You may enable them in prism-github-dark.css by setting "calt" to on (see comment).

Non-default settings listed:

pre[class*="language-"] {
    caret-color: #ccc;
    font-size: 0.95em;
    border-radius: 7px;
    line-height: 1.2;
}
pre[class*="language-"] {
    padding: 0.6em;
}

Contributing, License and authors

PRs welcome. I'll look at issues, I'll try to be nice.

idk, same license as Go I guess. Credit to The Go Authors.