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 has been developed by Coriolis Technologies, a software company based in Pune, India. It consists of several components developed by us, including

  1. The pigshell scripting language and interpreter.
  2. The shell and terminal interface.
  3. "Filesystem" modules to talk to Facebook/Google/Dropbox et al.
  4. Built-in commands.

Several external libraries are used. In no particular order,

  1. PEG.js is used to generate the parser for the scripting language.
  2. Docopt, specifically the Javascript version. Docopt is used by all built-in commands for option processing. It is available to scripts as well.
  3. CodeMirror editor. The command line is actually a single-line editor instance. It also powers the edit command.
  4. Marked, the markdown parser and compiler behind the markdown command.
  5. Async for asynchronous loop constructs.
  6. Handlebars for the template command.
  7. Minimatch for converting shell globs to Javascript regexes.
  8. Moment is behind the date command and other internal time-crunching.
  9. 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.
  10. sprintf is used to implement printf.
  11. Google Maps v3 Javascript API for the map command
  12. JQuery
  13. Cheerio is used for extracting data from HTML strings.
  14. FileSaver.js is used to trigger the "download" reflex of the browser.
  15. Canvas to Blob
  16. jQuery resize event
  17. Popovers and tooltips from Bootstrap.
  18. zlib.js
  19. canvg.js for those browsers which can't render SVG onto a canvas.
  20. CryptoJS for Javascript implementations of MD5 and SHA1.
  21. Mozilla's PDF.js to render PDFs in the terminal.
  22. D3 powers visualization commands like chart and template
  23. Map colors based on ColorBrewer, by Cynthia A. Brewer, Penn State.
  24. Country data from https://github.com/mledoze/countries
  25. TopoJSON world data (110m, 50m) from Mike Bostock.
  26. d3.geo.zoom and d3.geo.projection from Jason Davies

Contact

Email us at pigshell@googlegroups.com, dev@pigshell.com or tweet @pigshell