Shoebot ======= Shoebot is a tool to automate the process of drawing vector graphics using a minimal and easy-to-understand syntax. It is a rewrite of `Nodebox 1 `_ by `Frederik de Bleser `_ and `Tom de Smedt `_, with the purpose of having an equivalent tool in GNU/Linux systems. Nodebox 1 is itself based on `DrawBot `_ by Just van Rossum. Shoebot draws using the cross-platform `Cairo graphics engine `_. It follows a rich lineage of tools dedicated to generative creativity: * `Design By Numbers `_ * `Processing `_ * `Scriptographer `_ * `Paper.js `_ For more about the nature of creative coding and generative design, be sure to read `The Nodebox 1 theoretical introduction `_. Purpose ------- Shoebot is a useful tool for many use cases: * creating generative and procedural works, either for screen or print output * teaching code to non-developers by means of immediate visual feedback * prototyping visualizations and design concepts * automatically generating sets of vector images * live-coding and real-time tweaking of animated graphics * making `Cairo `_-based tools and experiments using a simpler language Features -------- Originally built as a GNU/Linux version of Nodebox 1, Shoebot comes with many batteries included: * supports most of Nodebox 1's functionality * user-friendly code editor * headless mode for quick execution without the GUI parts * run on a window or output files in PDF, PNG, SVG or PS formats * tweak running scripts via a simple GUI, a socket server or a text-based shell * can be loaded as a Python module to work inside existing programs Links ----- * `Main site `_ * `GitHub repository `_ * `Issue tracker `_ Authors ------- Shoebot is currently maintained by `Stuart Axon `_ and `Ricardo Lafuente `_. A good part of the code has also been contributed to by `Francesco Fantoni `_, `Sebastian Oliva `_, `Paulo Silva `_, `Dave Crossland `_, `Gabor Papp `_, `Julien Deswaef `_ , `Pedro Ângelo `_ and Tetsuya Saito. Examples also contributed to by `Artem Popov `_, `Barak Itkin `_ and `Simon Budig `_. Related projects ---------------- * `Drawbot`_, the tool that started it all, by `Just van Rossum `_ from `Letterror `_. It's now been reinvigorated with new features and experimental Python 3 support. * `Nodebox 3 `_, the current node-based incarnation of Nodebox, running on Java. * `Cairo DrawBot `_, a GNU/Linux compatible fork of Drawbot by `Eli Heuer `_. * `Nodebox-pyobjc `_, an active fork of Nodebox 1 for Mac, maintained by `Karsten Wolf `_. * `PlotDevice `_, another fork of Nodebox 1 for Mac, maintained by `Christian Swinehart `_. * `Canvas.js `_ by Nodebox's co-author `Tom de Smedt`_, allows you to create browser-based scenes and animations with JS and HTML5. * `Rapydbox `_ -- A JavaScript version of Nodebox, based on `RapydScript `_. ---- Documentation Index ------------------- .. toctree:: :maxdepth: 2 install getstarted tutorial commands examples libraries live troubleshooting advanced extensions cli_flags apidoc compatibility contributing .. We won't be needing these for now Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search`