Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
css
 
 
 
 
 
 
 
 
 
 
js
 
 
 
 
 
 
 
 
 
 
mpe
 
 
 
 
 
 
 
 
 
 
 
 
spa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Caffeine is a livecoding environment for web browsers, Node.js, and WebAssembly. After adding it to a webpage, you can use it to make live persistent changes to that page and other pages running Caffeine, without reloading.

You can interact with Caffeine from JavaScript in several ways:

  • as a headless Web Worker, with which you post and receive messages (you are responsible for all DOM manipulation).
  • as an IDE in a headful IFrame, with Caffeine able to manipulate the DOM directly.
  • on a headless Node server, with which you also exchange messages (over a WebSocket).
  • through a headful DevTools panel IDE, using the Chrome Debugging Protocol to manipulate every page your browser is running.

Caffeine's underlying computation engine is SqueakJS, an open-source Smalltalk. It features a bi-directional JavaScript bridge, enabling Smalltalk methods to send messages to JavaScript objects, and provide Smalltalk block closures as JavaScript promises or callback functions.

Caffeine has support for Squeak, Pharo, Cuis, 3D VR (via A-Frame and OSC), zooming 3D presentations (via impress.js), VueJS, WebMIDI, Observable, Web Workers, DevTools and many other JS frameworks.

You can read more about the design of Caffeine, and new features, at my blog, https://thiscontext.com. Check out the teaser trailer on YouTube.

This repository is the content for the Caffeine website, caffeine.js.org. It provides these endpoints:

| ------------------------------------------------- | ---------------------------- |
| / | this page |
| /talk | an impress-powered presentation about Caffeine and livecoding |
| /developer | a developer-oriented overview of Caffeine, with a tutorial for developing with it |
| /spa | Caffeine on a single-page-application site |
| /worldly | Worldly, an A-Frame-powered in-world virtual reality livecoding space |
| /beatshifting | Beatshifting :: Play in Sync and Out of Phase |
| /pharo | a demo of Pharo 7 |
| /cuis | a demo of Cuis |
| /tabulator | a tabs-management app, with a VueJS user interface |
| /files | a listing of the files Caffeine has stored in your web browser's cache. You can download files from it, and drop new files into it. |

There are issues and projects to follow; please do! Current activity is focused on making Caffeine a productive in-world VR livecoding environment, and deploying livecoded VueJS web apps.


Craig Latta
[Black Page Digital](http://blackpagedigital.com)
Amsterdam :: San Francisco
[@ccrraaiigg](https://twitter.com/ccrraaiigg)

About

Livecode the Web!

Resources

License

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •