About
Pigshell is a pure client-side Javascript app running in
the browser, which presents resources on the web as files. These include
public web pages as well as private data in Facebook, Google Drive and Picasa
albums. It provides a command line interface to construct pipelines of simple
commands to filter, display and copy data.
Pigshell is free software, released under the GNU GPLv3.
Pigshell has been developed by
Coriolis Technologies, a software company based
in Pune, India. It consists of several components developed by us,
including
- The pigshell scripting language and interpreter.
- The shell and terminal interface.
- "Filesystem" modules to talk to Facebook/Google/Dropbox et al.
- Built-in commands.
Several external libraries are used. In no particular order,
- PEG.js is used to generate the parser for the
scripting language.
- Docopt, specifically the
Javascript version. Docopt is
used by all built-in commands for option processing. It is available to
scripts as well.
- CodeMirror editor. The command line is actually a
single-line editor instance. It also powers the
edit
command.
- Marked, the markdown parser and compiler
behind the
markdown
command.
- Async for asynchronous loop constructs.
- Handlebars for the
template
command.
- Minimatch for converting shell
globs to Javascript regexes.
- Moment is behind the
date
command and other
internal time-crunching.
- Pixastic is used for simple image processing by
the
pixastic
command. Pixastic has a ton of neat features which will
eventually be reflected in pixastic
.
- sprintf
is used to implement
printf
.
- Google Maps v3 Javascript API for the
map
command
- JQuery
- Cheerio is used for extracting
data from HTML strings.
- FileSaver.js is used to trigger the "download" reflex of the browser.
- Canvas to Blob
- jQuery resize event
- Popovers and
tooltips from Bootstrap.
- zlib.js
- canvg.js for those browsers which
can't render SVG onto a canvas.
- CryptoJS for Javascript
implementations of MD5 and SHA1.
- Mozilla's PDF.js to render PDFs in the terminal.
- D3 powers visualization commands like
chart
and
template
- Map colors based on ColorBrewer, by
Cynthia A. Brewer, Penn State.
- Country data from https://github.com/mledoze/countries
- TopoJSON world data (110m, 50m) from Mike Bostock.
- d3.geo.zoom and d3.geo.projection from
Jason Davies
Contact
Email us at pigshell@googlegroups.com, dev@pigshell.com or tweet @pigshell