/pencil-1

Multiplatform GUI Prototyping/Wireframing

Primary LanguageJavaScriptGNU General Public License v2.0GPL-2.0

Pencil

Download Pencil from Github or Mozilla

Checkout Pencil v3 from Evolus - But Backup Your Data First!

Documentation Status Join the chat at https://gitter.im/prikhi/pencil

A GUI prototyping tool for Firefox, GNU/Linux, OS X & Windows.

Screenshot

Status

Pencil v3 is in development by Evolus, future work on this fork will be minimal.

Pencil v3 files are not backwards compatible, be sure to backup your data!

This project was originally hosted on https://code.google.com/p/evoluspencil/ & was abandoned around 2013. This fork was started for new development on March 13th, 2015.

Links

Extra Stencil Collections

Additional collections are available on the Original Stencil Download Page.

Known Issues

  • The Native UI Stencil Collection does not load or export correctly, you should avoid using this Stencil Collection for now(see #602).
  • Dragging stencils onto the workspace does not work in newer version of Firefox, either use Pale Moon, Xulrunner, an older version of Firefox, or launch Pencil using firefox --app /path/to/application.ini (see #802).

Prerequisites

You will need version 4 or higher of firefox to run Pencil as a Firefox Extension. Linux users will need version 4 or higher of either firefox, iceweasel or xulrunner, or version 25 or higher of palemoon. The Windows installer and OS X archive has everything you need built-in.

Install

Windows, Linux, OS X & Firefox Packages are available for download from the Releases Page.

You can also install the Firefox Add-on from the Mozilla Add-on Repository.

To install the OS X package, unzip the archive and copy the Pencil.app folder to your Applications directory.

For specific Linux distributions:

Build

Firefox Extension

Pencil can be installed as Firefox Extension, instead of a standalone application. To build the extension's XPI file:

cd build
./build.sh xpi
firefox Outputs/Pencil*.xpi

Linux

cd build
./build.sh linux
xulrunner Outputs/Linux/application.ini || firefox --app Outputs/Linux/application.ini

A Pencil-*-linux-pkg.tar.gz package will also be created. This contains Pencil nested within the directory structure that most Linux distributions expect(under /usr/share and /usr/bin) along with an executable, a desktop entry & mimetype information. This can be used for creating distribution-specific packages.

Windows

You'll need curl installed so you can pull the Windows XULRunner runtime and NSIS to compile the installer.

cd build
./build.sh win32

This should place an installer exe in the Outputs/ folder.

OS X

You'll need curl installed to fetch the OS X XULRunner runtime.

cd build
./build.sh mac

This will create a Pencil.app folder in Outputs/Mac and a compressed version in Outputs/.

Documentation

To build the docs locally you'll need Sphinx along with some plugins, which are easily installable using Python's pip installer:

cd docs/
sudo pip install -r requirements.txt
make html
# Or if you want a PDF
make latexpdf

The output files will be put in /docs/build/.

Contribute

You don't have to be a programmer to contribute! All feature requests & bug reports are appreciated.

Users

  • File Bugs and Feature Requests. If you are unsure how to do this, read "Writing Good Bug Reports".
  • Reproduce Bugs – there are many issues which have not been confirmed since they were migrated from the original project. Try to reproduce the bug and state in a comment if you could reproduce it or not. State your operating system and Pencil version (example bug).
  • Report Duplicate Bugs - lots of imported bugs are duplicates and simply add noise to the issue tracker. If you notice a duplicate issue, please leave a comment on the issue & mention the issue that you think it duplicates.
  • Improve the Documentation. The files are in the docs folder and written in reStructuredText.
  • Just spread the word :)

Technical Users

  • Package Pencil for your distribution or OS.
  • Create a Stencil Collection for your favorite UI framework or improve Pencil's default offering, as described in the Stencil Developer Documentation.

Developers

  • There are many bugs to fix – if you could tackle one or two that would be great! The most important bugs have a Critical label. The stars labels are a heritage of the old google code repository: Many stars = many people interested in the bug or feature. You can also check the Milestones for issues to tackle.
  • Commenting and documenting code to ease the programming for others – most of it is currently without comments and having them would help much.

If you make changes that affect users, please update CHANGELOG.md.

For lots more information on getting started developing on Pencil, check out the Developer's Documentation.

License

This fork is released under GPLv2 like it's parent codebase.