I forgot to say that I have the day off from work today as time off in lieu for incident response during the weekend, so I'll be working on Agora stuff :)
Next up: either [[agora rss]] or [[stoa subnodes]]. Both sound good, might pick which one by throwing a die.
---
RT @flancian
In the spirit of working in public and trying new things:
I pushed an update to [[agora graph]] to make them maybe less pretty but more functional, nodes havi…
https://twitter.com/flancian/status/1470704871208804354
Shipped v1:
- https://anagora.org/feed/foo returns a RSS feed for node [[foo]].
- https://anagora.org/feed/latest is special cased, the same as /latest, to return a feed to the latest changes to all nodes across the Agora.
Now on to [[stoa subnodes]]!
This means that, whenever the default Stoa of an Agora has something in it, it should be integrated into the Agora like a first-class resource.
In current https://anagora.org terms, this means that if someone has written something in the public (world writable) document associated with a node, it will be imported.
The rough implementation plan (prior to hitting bugs/changing my mind) is:
- run a [[hedgedoc]] batch exporter in the server that is running https://stoa.anagora.org
- set up a process that syncs the export to a git repository
- import the git repository in the Agora like any other
Welp, this one is harder than I initially assumed. Turns out there's no ready-made way to list all notes in a hedgedoc server, nor a very solid looking export process. I'm a bit surprised.
I solved the first gap with a simple sql query, now writing a shell script.
Now running the script for the first time; it turns out that
1. there's 45k "documents" in http://doc.anagora.org
2. the export script exports only about 5 documents/second
...so the export will probably take about 3 hours. Not great for a process that should be continuous.
The 45k documents are not real documents though, so there's hope yet: most of these were created empty or with boilerplate text, automatically, when any user visited any node in the Agora (when this functionality was enabled by default).
So I'll probably just filter stubs out.
...and that was easier than I initially hoped, nice for a change :)
[[hedgedoc]] stores creation and last change times for every note; filtering out notes where the two times are the same (notes that were never edited) yields the correct grand total of only 68 notes :)