panels-www

View the Project on GitHub straup/panels-www

panels

panels is a simple web-based sketching application built on top of Ian Li's Raphael SketchPad and Mozilla's localforage library.

Sketches can be saved to (and re-loaded (and deleted) from) the browser's local storage database. panels can also be configured to upload sketches to a remote server or to cache all its application files so you can run it in offline mode.

Raphael SketchPad exposes a number of "canvas" and "pen" related options. None of them are available in panels. They might be one day but for now the easiest way to think about things is being like sketching with a pen. The default settings for the "pen" are 1-pixel wide with an opacity of 60 percent. There is no undo.

panels uses Scalable Vector Graphics (SVG) under the hood so all of your sketches can be view source-ed allowing them to be exported as a set of drawing instructions, in plain text. This is one of those things that never seems very important until it is (at which point it's usually too late) so there's a handy button for doing just that on every sketch.

Is there a demo?

Yes. There is a live demo that you can play with. There is also experimental offline-enabled demo if you're feeling adventurous.

How do I set up my own instance of panels?

Unless you are interested in uploading sketches to a remote server panels has no server-side dependencies and can be run as-is in any old (modern-ish) web browser. The only thing you'll need to do is copy the www/index.html.example file to www/index.html.

The reason you need to do this is because www/index.html is explicitly forbidden from being included in source control. That might seen a bit strange for a web-application but is necessary because it prevents any custom changes that a person makes to enable uploads (which are configured in the index.html file) from being applied to everyone else's stuff.

Configuring panels to upload sketches to a remote server or to run in "offline-mode" is outside the scope of this document. Please consult the main Github repository for details.