93055f4b4a
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 |
||
---|---|---|
misc | ||
src | ||
test | ||
.gitignore | ||
.jscsrc | ||
.npmignore | ||
.travis.yml | ||
Gruntfile.js | ||
karma.conf.js | ||
LICENSE | ||
package.json | ||
pre-commit | ||
README.md |
Piskel
A simple web-based tool for Spriting and Pixel art.
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
- pixelart : create crazy/pretty pixelart animations for fun !
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.