An experiment inspired by Colin Wright's Chartodon.
demo (video; 20 seconds)
Cons:
Pros:
ctrl+up
to parentctrl+down
to first childctrl+left
to previous siblingctrl+right
to next siblingThis repo is an example of a Freewheeling App, designed above all to be easy to run, easy to modify and easy to share.
Install the Lua programming language. Just a 200KB
download, open source and with a stellar reputation. I'll assume below that
you can invoke it using the lua
command, but that might vary depending on
your OS.
Install the luasec library for https access. One way to accomplish this is to install the LuaRocks package manager and then:
$ luarocks install luasec
(I haven't been able yet to install luarocks+luasec on Windows 11.)
Install the LÖVE game engine. It's just a 5MB download,
open-source and extremely well-behaved. I'll assume below that you can invoke
it using the love
command, but that might vary depending on your OS.
Run unfurl.lua
from this directory, passing in a link to some toot. For
example:
lua unfurl.lua https://merveilles.town/@akkartik/108773157588384635
unfurl.lua will make some Mastodon API requests before passing the results to LÖVE.
Click on any toot to copy its URL to the clipboard.
Install LÖVE from a nightly build.
Run LÖVE from the commandline and pass in this directory. Optionally also pass in a link to a Mastodon toot.
Copy a link to any mastodon toot and paste it into the app window using
ctrl+v
to view it in the context of its thread.
Click on any toot to copy its URL to the clipboard.
To modify the code for the app without restarting the app each time, download the driver app. Here's an example session using a different app:
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.
ctrl
+ arrow keys to move aroundctrl+=
to zoom in, ctrl+-
to zoom out, ctrl+0
to reset zoomExclusively 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
No support yet for Unicode graphemes spanning multiple codepoints.
No support yet for right-to-left languages.
No scrollbars yet. That stuff is hard.
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 a simple Lua-based markup language. 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.