{"id":14384617,"url":"https://github.com/dgageot/demoit","last_synced_at":"2025-04-12T23:33:00.712Z","repository":{"id":40799170,"uuid":"122640873","full_name":"dgageot/demoit","owner":"dgageot","description":"Live coding demos without Context Switching","archived":false,"fork":false,"pushed_at":"2023-06-16T15:49:44.000Z","size":7830,"stargazers_count":767,"open_issues_count":23,"forks_count":72,"subscribers_count":19,"default_branch":"master","last_synced_at":"2024-10-18T07:34:54.737Z","etag":null,"topics":["demo","live-coding","tool"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dgageot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":"dgageot"}},"created_at":"2018-02-23T15:49:49.000Z","updated_at":"2024-10-12T15:56:06.000Z","dependencies_parsed_at":"2023-01-22T22:01:28.614Z","dependency_job_id":"1aa448d7-dd25-453d-aeff-87db42efbc1b","html_url":"https://github.com/dgageot/demoit","commit_stats":{"total_commits":123,"total_committers":16,"mean_commits":7.6875,"dds":"0.44715447154471544","last_synced_commit":"922036aa8d13a2bb9850025004b5ce5c870bd118"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgageot%2Fdemoit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgageot%2Fdemoit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgageot%2Fdemoit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgageot%2Fdemoit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dgageot","download_url":"https://codeload.github.com/dgageot/demoit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248647258,"owners_count":21139081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["demo","live-coding","tool"],"created_at":"2024-08-28T18:01:31.098Z","updated_at":"2025-04-12T23:33:00.693Z","avatar_url":"https://github.com/dgageot.png","language":"JavaScript","funding_links":["https://github.com/sponsors/dgageot"],"categories":["JavaScript"],"sub_categories":[],"readme":"# DemoIt\n\n**DemoIt** is a tool that helps you create beautiful live-coding demonstrations.\n\n## Why?\n\nI'm doing lots of live-coding during conferences and I like tools like\n[reveal.js](https://revealjs.com/) to create slides. What I wanted was a\ntool that has some of the properties of reveal.js but with\ncapabilities to code and run commands in front of the audience.\n\nTwo things are really important to me:\n + For a given presentation, the slides should live in the same repository as the code.\n + The tool should allow context-switching-less live coding demos.\nAttendees don't want to watch me switching between a browser, an IDE and a\nterminal all the time.\n\nThis is how I came up with **DemoIt**.\n\n## How?\n\n**DemoIt** is a small command line tool written in Go. It serves\nrich web content composed of text, images and smart web components.\n\nThose web components make most of the *magic*.\n\n + One component displays multi-tab ttys that can be used to run any command.\n + Another is a web browser view that auto refreshes itself.\n + Another is a code viewer with highlighing and tabs that looks like a real IDE,\n\n## Install\n\n### Download binary from GitHub\n\n```bash\ncurl -L -odemoit https://github.com/dgageot/demoit/releases/download/v1.0/demoit-`uname -s | tr '[:upper:]' '[:lower:]'`-`uname -m`\nsudo install demoit /usr/local/bin/demoit\n```\n\n### Add shell font\n\nTo have a correct display in the web terminal, it's better to install the font `Inconsolata for Powerline` on your computer.\nThis font can be found [here](https://github.com/powerline/fonts/tree/master/Inconsolata).\n\n## Get started from a Sample\n\n```bash\n# Create an empty directory\ncd $HOME; mkdir my-demoit-presentation; cd $HOME/my-demoit-presentation\n# Download a sample demo\ncurl -L https://github.com/dgageot/demoit/archive/master.tar.gz | tar xvf - --strip-components=2 demoit-master/sample\n# Run demoit\ndemoit\n```\n\nThen, browse to http://localhost:8888\n\n*Pro tip:* Run `demoit -dev` instead and enjoy live reload each time you change the content of the slides.\n\n### How do I customize my presenttion then?\n\nBasically, the idea is to:\n\n + Write content in `demoit.html` at the root of the project. This file contains all the html slides separated with `---`.\n + Add images, fonts and scripts in the `.demoit` folder at the root of the project.\n + Customize the style sheet in `.demoit/style.css`.\n\n## Contribute\n\n### Build from sources\n\n```bash\n\ngit clone https://github.com/dgageot/demoit.git\ncd demoit\ngo install\n```\n\n*This requires Go 1.19 or later.*\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdgageot%2Fdemoit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdgageot%2Fdemoit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdgageot%2Fdemoit/lists"}