A simple web-based tool for Spriting and Pixel art.
Find a file
Brad Buchanan 93055f4b4a Prepare for npm publishing
Introduces some small package changes that simplify publishing Piskel to NPM as a ready-to-use application.

Since Piskel is not simply a JavaScript "module" (not something one would 'require' into another application) its role as a package on npm is somewhat unconventional - it contains the release build of Piskel, ready to serve as a static website, and a small `piskel-root` utility that will print the absolute path to that content (which will have been installed who-knows-where by npm).

Mostly this works by adding the "files" and "bin" entries to package.json, and by adding an .npmignore file (which simply prevents npm from using your .gitignore and ignoring the built files that we want to ship).

With these settings in place you could publish to npm anytime (as long as you have permission) but I've added `preversion` and `postversion` scripts to simplify and automate the process.  Here's how you publish a release:

```
npm login # If not already logged in
npm version [major|minor|patch|<other>] # see `npm help version` for more options
```

By itself this will lint, run the full test suite, do a release build, make sure the working directory is clean, bump the version number in package.json, commit the version number change and add a git tag with the new version, push the new version to GitHub and publish the release build output to npm.

If you don't have an npm account, create one at npmjs.com.  You'll need to do the initial release.

An npm user should then be able to download the latest Piskel release by running `npm install piskel`.  They could then find the location of Piskel's index.html by running `` `npm bin`/piskel-root `` (perhaps more useful for automation purposes... our own build copies the built Piskel release from its npm-installed location to a directory where it gets served by Rails).

By itself this may not seem _that_ useful, but it's a step toward making Piskel easier to embed with other appilications.  I've got a start on the next big improvement, where a parent application can `require('piskel')` to get an API object that facilitates communication with the editor running within an iframe.  You can see an early version of that at https://github.com/code-dot-org/piskel/pull/7
2016-06-17 17:07:03 -07:00
misc Prepare for npm publishing 2016-06-17 17:07:03 -07:00
src Use Constants.EMPTY_FUNCTION 2016-06-16 18:13:08 -07:00
test Add FramesheetRenderer unit test 2016-05-29 22:30:09 +02:00
.gitignore add Netbeans project folder 2016-02-02 16:39:57 +01:00
.jscsrc Update deps, use grunt-connect instead of express, fix jscs errors 2015-12-09 22:38:58 +01:00
.npmignore Prepare for npm publishing 2016-06-17 17:07:03 -07:00
.travis.yml Closes #364 : Update all dependencies 2015-12-09 00:34:47 +01:00
Gruntfile.js Fix #419: upgrade nwjs version to 0.12.3 2016-03-31 03:42:53 +02:00
karma.conf.js Copy paste out of bounds : added SelectionManager unit tests 2015-08-09 15:42:46 +02:00
LICENSE Update LICENSE 2016-03-11 23:32:24 +01:00
package.json Prepare for npm publishing 2016-06-17 17:07:03 -07:00
pre-commit adding precommit hook to source control 2013-08-11 20:07:45 +02:00
README.md Update README.md 2016-03-11 23:35:48 +01:00

Piskel

Travis Status Built with Grunt

A simple web-based tool for Spriting and Pixel art.

Piskel editor screenshot

You can try the standalone editor at http://juliandescottes.github.io/piskel or see it integrated in http://piskelapp.com.

Piskel is mainly developped by :

What's the point ?

You can use Piskel to do two things :

  • spriting : create retro-style sprites for games

Megaman spritesheet

  • pixelart : create crazy/pretty pixelart animations for fun !

Rabbit jumping

Integrated in piskelapp.com, you can share everything you work on with others as easily as you share a link.

Requirements

Piskel supports the following browsers :

  • Chrome (latest)
  • Firefox (latest)
  • Internet Explorer 11+

... and a fairly recent computer.

We don't plan/want/could be forced into supporting older IEs. For Opera and Safari, we've never tested them but the gap shouldn't be huge.

Offline version

Offline builds are available. More details in the dedicated wiki page.

Built with

The Piskel editor is purely built in JavaScript, HTML and CSS. It uses Canvas extensively for displaying all them pretty sprites.

We also use the following libraries :

  • spectrum : awesome standalone colorpicker
  • gifjs : generate animated GIFs in javascript, using webworkers
  • supergif : modified version of SuperGif to parse and import GIFs
  • jszip : create, read and edit .zip files with Javascript
  • canvas-toBlob : shim for canvas toBlob
  • jquery : used sporadically in the application
  • bootstrap-tooltip : nice tooltips

As well as some icons from the Noun Project :

  • Folder by Simple Icons from The Noun Project
  • (and probably one or two others)

Contributing ?

Help is always welcome !

  • Issues : Found a problem when using the application, want to request a feature, open an issue.
  • Participate : Have a look at the wiki to set up the development environment

License

Copyright 2016 Julian Descottes

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Mobile/Tablets

There is no support for mobile for now.