Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dgageot/demoit
Live coding demos without Context Switching
https://github.com/dgageot/demoit
demo live-coding tool
Last synced: 3 days ago
JSON representation
Live coding demos without Context Switching
- Host: GitHub
- URL: https://github.com/dgageot/demoit
- Owner: dgageot
- License: apache-2.0
- Created: 2018-02-23T15:49:49.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-06-16T15:49:44.000Z (over 1 year ago)
- Last Synced: 2024-10-18T07:34:54.737Z (about 2 months ago)
- Topics: demo, live-coding, tool
- Language: JavaScript
- Homepage:
- Size: 7.47 MB
- Stars: 767
- Watchers: 19
- Forks: 72
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# DemoIt
**DemoIt** is a tool that helps you create beautiful live-coding demonstrations.
## Why?
I'm doing lots of live-coding during conferences and I like tools like
[reveal.js](https://revealjs.com/) to create slides. What I wanted was a
tool that has some of the properties of reveal.js but with
capabilities to code and run commands in front of the audience.Two things are really important to me:
+ For a given presentation, the slides should live in the same repository as the code.
+ The tool should allow context-switching-less live coding demos.
Attendees don't want to watch me switching between a browser, an IDE and a
terminal all the time.This is how I came up with **DemoIt**.
## How?
**DemoIt** is a small command line tool written in Go. It serves
rich web content composed of text, images and smart web components.Those web components make most of the *magic*.
+ One component displays multi-tab ttys that can be used to run any command.
+ Another is a web browser view that auto refreshes itself.
+ Another is a code viewer with highlighing and tabs that looks like a real IDE,## Install
### Download binary from GitHub
```bash
curl -L -odemoit https://github.com/dgageot/demoit/releases/download/v1.0/demoit-`uname -s | tr '[:upper:]' '[:lower:]'`-`uname -m`
sudo install demoit /usr/local/bin/demoit
```### Add shell font
To have a correct display in the web terminal, it's better to install the font `Inconsolata for Powerline` on your computer.
This font can be found [here](https://github.com/powerline/fonts/tree/master/Inconsolata).## Get started from a Sample
```bash
# Create an empty directory
cd $HOME; mkdir my-demoit-presentation; cd $HOME/my-demoit-presentation
# Download a sample demo
curl -L https://github.com/dgageot/demoit/archive/master.tar.gz | tar xvf - --strip-components=2 demoit-master/sample
# Run demoit
demoit
```Then, browse to http://localhost:8888
*Pro tip:* Run `demoit -dev` instead and enjoy live reload each time you change the content of the slides.
### How do I customize my presenttion then?
Basically, the idea is to:
+ Write content in `demoit.html` at the root of the project. This file contains all the html slides separated with `---`.
+ Add images, fonts and scripts in the `.demoit` folder at the root of the project.
+ Customize the style sheet in `.demoit/style.css`.## Contribute
### Build from sources
```bash
git clone https://github.com/dgageot/demoit.git
cd demoit
go install
```*This requires Go 1.19 or later.*