Unlike Graphviz and PlantUML, this tool is for small graphs where you want complete control over layout. Unlike PowerPoint or draw.io, this tool results generates text files that are more amenable to version control. The catch: it's a lot more limited than all these tools; all you can do so far is draw rectangles and edges between them.
You can't change the styling. Unless you modify the code. But that's easy! This repo is an example of a Freewheeling App, designed above all to be easy to run, easy to modify and easy to share.
Install LÖVE. It's just a 5MB download, open-source and extremely well-behaved.
You'll see a single box on screen. Drag the surface or press arrow keys to pan around. Try dragging the border of the box. You'll see an edge stick out. Release the mouse button, and a new box (node) will pop out at the other end of the edge. Try dragging the top-left bar for each box. They move relative to each other. Try typing inside. The text wraps within and the box grows taller to accomodate it. Try dragging the parallel lines to the right of a box. The width of the box changes.
Try quitting and restarting. Your changes will still be present. By default,
snap.love writes to a file called graph
in a directory relative to this app.
To switch to a different file, drop it on the snap.love window. You can also
pass in a filename when starting the app from the terminal.
To make changes to this app without restarting the app each time, download the driver app. Example session:
Some reference documentation on how to create your own apps.
If the app being modified by the driver lives in a .love file, your changes will go into the save directory. If it lives in a directory (like this repo), your changes will go straight into the same directory.
While editing within a node:
ctrl+f
to find patternsctrl+c
to copy, ctrl+x
to cut, ctrl+v
to pastectrl+z
to undo, ctrl+y
to redoctrl+=
to zoom in, ctrl+-
to zoom out, ctrl+0
to reset zoomalt+right
/alt+left
to jump to the next/previous word, respectivelyshift
+ movement to select text, ctrl+a
to select allWhen cursor is not in an editor:
shift
+arrow keys pan faster
pagedown
and pageup
are aliases for shift+down
and shift+up
respectivelyExclusively tested so far with a US keyboard layout. If you use a different layout, please let me know if things worked, or if you found anything amiss: http://akkartik.name/contact
This repo is a fork of lines.love, an editor for plain text where you can also seamlessly insert line drawings. Its immediate upstream is luaML.love, a box model for a Lua-based markup language that models an infinite pannable, zoomable 2D surface. Updates to it can be downloaded from:
Further forks are encouraged. If you show me your fork, I'll link to it here.
Most appreciated. Messages, PRs, patches, forks, it's all good.