• Stars
    star
    1,926
  • Rank 24,063 (Top 0.5 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 8 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Real time code sharing for your lectures and presentations.

Keppler

Real time code sharing for your lectures and presentations.

Website

What is keppler

Start keppler inside your project folder, share the URL with your audience and start coding. Any time you save a file, viewers will receive those changes. They can browse through the files, go back in history, copy the code, download the project, preview images, chat with other viewers, ask the presenter to slow down, etc.

Keppler screen

Keppler screen

Keppler screen

User instructions

1 - Install Keppler globally

You must have NodeJS and NPM already installed. In your console, run:

(You may need to add sudo at start)

npm install -g keppler

2 - Launch Keppler inside your project folder

In your console, navigate to your project folder. Then launch Keppler:

cd ./my-awesome-project
keppler

Keppler should open in your default browser and start watching any changes you make inside the folder.

3 - Share the URL with your audience

Simply share the URL that should appear and your audience will have access to your code through Keppler. By default, you must be on the same network.

Configuration

You can add configuration arguments when calling Keppler.

keppler "My project" --debug 0 --port 1234 --exclude "node_modules/**" --open true --test true --limit 200 --max-file-size 99999

And you can use shortcuts for those same arguments.

keppler "My project" -d 0 -p 1234 -e "node_modules/**" -oti -l 200 -m 99999

All those arguments are optional. You can simply run Keppler.

keppler

Arguments list

Debug level
parameter --debug
shortcut --d
default value (number)1
description How much logs should be shown
0: almost no log
1: primary logs
2: too much logs
parameter --name
shortcut -n
default value (string) folder name
description Project name
(you can simply add a string after keppler keyword like keppler "My project")
parameter --exclude
shortcut -e
default value (string)**/.DS_Store,**/node_modules/**,**/vendor/**,**/.git,**/.vscode,**/.env,**/.log,.idea/**,**/*___jb_old___,**/*___jb_tmp___
description List of paths to exclude (glob pattern with comma seperation)
parameter --open
shortcut -o
default value (bool)true
description Open Keppler in default browser
parameter --test
shortcut -t
default value (bool)false
description Start a test project with demo contents
⚠️ Only for development purpose
parameter --limit
shortcut -l
default value (number)99
description Limit of files above which nothing will be sent at start
⚠️ Too much files may cause issues
parameter --max-file-size
shortcut -m
default value (number)99999
description Maximum file size in octets
(99999 β‰ˆ 100ko)
parameter --server
shortcut -s
default value (bool)false
description Start keppler server only
(if you want to run an online instance)
parameter --host
shortcut -h
default value (string)``
description Server host
(if you want to connect to an online instance)
parameter --port
shortcut -p
default value (number)1571
description Server port

Online instance

You can run Keppler online. Anyone with access to the server will be able to see the projects without having to be on the same network as you.

Keppler doesn't provide any host solution. You'll have to use your own server.

On the server

Install Node.js

Install keppler

npm install -g keppler

Start a keppler instance with the --server parameter

keppler --server

On you local machine

Start keppler with the --host parameter and server domain as the value

keppler "My awesome project" --host 12.34.56.78

Features

  • Work in any modern browser
  • File tree
  • Fuzzy search
  • File history/versions
  • File versions differences
  • Easy copy to clipboard
  • Accessible by anyone on the same network
  • App like design
  • Syntax coloring
  • Multiple projects in one Keppler instance
  • Chat with other viewers and associate specific files and lines with your messages
  • Open in default browser
  • Download file button
  • Download project button
  • Alert button
  • Tooltips
  • Online support

Developer instructions

Structure

/app/: Keppler front part /bin/: Main folder only containing index.js that will run what's located in /lib/ folder /lib/: Keppler application classes /resources/: Random resources (not directly use) /site/: Website /text/: Demo folder

Tasks

Installation

  • npm install

Keppler application

  • npm run demo-folder: To run the Keppler application with a demo project located in /test/
  • npm run app-dev: To run the Keppler front part (you'll need to run keppler application in order to have the front to connect to something)
  • npm run app-build: To build the front part
  • npm run dev: To run both demo-folder and app-dev

Website

  • npm run site-dev: To run the website
  • npm run site-build: To build the website
  • npm run site-deploy: To deploy the website to GitHub Pages

Requirements

  • Install EditorConfig on your editor
  • Install ESLint on your editor

Deployment

  • npm run app-build to build the app
  • npm version major|minor|patch to update the version (will create a commit)
  • git commit --amend to update the commit message and add :bookmark: at the beginning (GitMoji)
  • git push to push to GitHub
  • npm publish to send to NPM (you need to be logged in and have the right to update Keppler on NPM)

Credits

Development
UX / UI
  • Tom Bonnike
  • Thibaud Vaubourg
  • Aymeric Sans
  • Axel Chalon

More Repositories

1

folio-2019

JavaScript
4,299
star
2

my-room-in-3d

JavaScript
3,353
star
3

infinite-world

Infinite procedurally generated world generated in WebGL with Three.js
JavaScript
415
star
4

threejs-template-complex

JavaScript
283
star
5

threejs-template-simple

JavaScript
213
star
6

organic-sphere

JavaScript
186
star
7

webgl-black-hole

JavaScript
174
star
8

doom-portal-in-webgl

JavaScript
146
star
9

webpack-three-js-template

JavaScript
117
star
10

three.js-tsl-sandbox

JavaScript
114
star
11

experiment-holographic-terrain

JavaScript
87
star
12

three.js-template

JavaScript
77
star
13

small-world

JavaScript
75
star
14

notedown

A simple note website with syntax coloration
JavaScript
72
star
15

burno.js

A light (< 40ko) and simple JS framework made to help you develop well structured web applications quickly
JavaScript
64
star
16

three.js-tsl-particles-system

JavaScript
64
star
17

experiment-rick-and-morty-tribute

JavaScript
58
star
18

threejs-journey-uptime

πŸ“ˆ Uptime monitor and status page for Bruno Simon, powered by @upptime
Markdown
57
star
19

three.js-journey-bounce-friday

JavaScript
53
star
20

gameBoy

JavaScript
52
star
21

webgl-three.js-deferred-rendering

JavaScript
49
star
22

stream-background

JavaScript
48
star
23

hetic-h2-p2021

P2021 http://bruno-simon.com/hetic/p2021/
JavaScript
38
star
24

scan-3d

JavaScript
38
star
25

experiment-woodkid-volcano-robot

JavaScript
35
star
26

three.js-journey-2022-xmas

JavaScript
33
star
27

three.js-journey-2022-black-friday

JavaScript
30
star
28

lab

JavaScript
30
star
29

flow-field-gallery

JavaScript
24
star
30

threejs-points-physical-material

JavaScript
23
star
31

stylized-low-poly

JavaScript
22
star
32

chat-arena-remote

JavaScript
20
star
33

christmas-experiment-2014

Christmas Experiment 2014
JavaScript
19
star
34

static-template

JavaScript
16
star
35

hetic-h2-p2023

HTML
14
star
36

webgl-filters

JavaScript
14
star
37

trost-codes-kaiju-demolition-services

JavaScript
13
star
38

esin-e1-p2026

HTML
12
star
39

hetic-h2-p2020

P2020 http://bruno-simon.com/hetic/h2-p2020/
HTML
12
star
40

tentacles

JavaScript
10
star
41

esin-e1-p2025

HTML
9
star
42

hetic-pmd-2022

CSS
8
star
43

esin-e1-p2025-portfolio

HTML
8
star
44

folio

JavaScript
8
star
45

asteroids

Online remake of the classic Asteroids game
JavaScript
8
star
46

ecole-multimedia-fi-dev2-2019

JavaScript
8
star
47

reset-css

HTML
7
star
48

claude

Claude, le nuage connectΓ© de bureau
JavaScript
7
star
49

hetic-h1-p2024

CSS
7
star
50

hetic-h2-p2017

P2017
JavaScript
7
star
51

hetic-h4-p2021

JavaScript
7
star
52

hetic-h4-p2021-webpack-template

JavaScript
7
star
53

webpack-template

Simple webpack template
JavaScript
6
star
54

sls

Simply display a structured file hierarchy inside the terminal
JavaScript
6
star
55

silex-template

PHP
6
star
56

wave-function-collapse-2d-tiles

JavaScript
6
star
57

hetic-h2-p2023-webpack-template

JavaScript
5
star
58

hetic-h2-p2018

HTML
5
star
59

esin-e2-p2025

HTML
5
star
60

batman-ipsum

JavaScript
5
star
61

esin-e1-p2026-test

HTML
5
star
62

code-steps

JavaScript
5
star
63

pixel-sorting

JavaScript
5
star
64

hetic-h2-p2023-aim-trainer

JavaScript
5
star
65

hetic-h2-p2019

P2019
HTML
5
star
66

hetic-h2-p2022

HTML
4
star
67

hetic-h2-p2023-g2-webpack-template

JavaScript
4
star
68

circular-calendar

PHP
3
star
69

test-repo

HTML
3
star
70

web-base

Base for internet project
PHP
3
star
71

test-repo-g1

HTML
3
star
72

test-repo-g2

HTML
3
star
73

hetic-h2-p2023-g1-webpack-template

JavaScript
3
star
74

templates

templates
JavaScript
2
star
75

esin-e1-p2025-test

HTML
1
star