Files
garden/agora-plan.md
T
2021-02-02 00:55:09 +01:00

12 KiB

Agora Plan

I'll use this as a sort of inline project page for the [agora] implementation you're likely reading this in now: https://anagora.org.

As you might know by now, an Agora is a beast with multiple legs:

This page is about both, although it's probably going to be [Agora Server] heavy as I'm currently focused on developing features for it.

Latest

  • On [2021-01-30]
  • On 2020-01-02 I implemented [jump]
    • I said: "I'll implement the action and a 'jump'/ dialog always available in the Agora, perhaps replacing search in the [toolbar]."
    • Done!
    • Q: is 'go to' better than jump? I don't think so, and it could be confusing due to go links. But unsure.
  • On 2020-01-01 I fixed node titles.
  • On [2020-12-29] I pushed a quick patch that upranks all my subnodes, as some top subnodes in relatively popular nodes had formatting issues / were distracting. I intend this to be temporary; better ranking and formatting fixes are coming.
  • On [2020-12-27] I released agora 0.5.6 with [pull] support, better db code, caching... quite a bit :)
  • On [2020-12-20] I worked agora 0.5.5, which adds simple [hypothes.is] integration.
    • Fixed the fact that back [links] didn't work in non-existent nodes (even when there are backlinks, that is).
    • Prepared CSS/html for pull, push, forward links.
  • On [2020-12-04] I released agora 0.5.4, with some improvements:
    • New data model (digital gardens are not subtree'd in the main [agora repository] anymore, stay wholly independent)
    • Index page is now just another node, subnodes can be contributed by users.
  • On [2020-11-29] I integrated the first community contribution ever.
  • On [2020-11-27] I fixed some bugs, like wikilinks with periods on their names not working.
  • On [2020-11-22] implemented count of subnodes in user pages.
    • Added some amount of go links support: anagora.org/go/go now works :), points to the URL with [go] in anagora.org/node/go.
  • On [2020-11-17] implemented [latest].
  • On [2020-11-16] I implemented [agora fuzzy matching] and full text search, adopted a div based layout, improved the CSS, improved user pages.
  • On [2020-11-15] I implemented dark mode (press on 'theme' on the top right corner to switch dark <-> light).
  • On [2020-11-14] I released agora 0.5.1.

Signups

Integrations

Next

  • all http mentions should be auto linked, not only some: https://twitter.com/notverapetrova/status/1346258737204400128
    • Worked around this, but I should probably send an upstream PR to bleach
  • try rendering notes with [marko], see if it's a bit more forgiving with list indentation and other kinks that seem common.
  • add support for org mode gardens
  • I should make node 0.5.6 work
  • graph the whole Agora -- sounds fun!
  • Implement pull and push.
    • Define divs for 'pulled' and 'pushed' sections
    • Write functions that return [pull] and [push] entities in each subnode
  • Make more links default to node instead of subnode.
    • For example those in latest, those in user pages.
    • Might require 'upranking'.
  • set up [agora] hot spare in dorcas, this is an experiment but I already find it very useful so I don't want to not have it available for a while if there's a server failure
  • add monitoring -- munin or something more modern? prometheus?
  • Implement /node/foo/selector as more resilient/uniform alternative to /subnode.
  • Implement user upranking/pinning.
    • Perhaps nodes visited from a user scope uprank subnodes by that user?
  • https://twitter.com/s5bug/status/1334686375275163652?s=09
  • Provide a link (GET) for the search for '[ ]', useful for [do].
  • Add better backlinks, showing some context.
  • Make the site header be marked as an actual header (div with a class, etc.); Google seems to think it's part of the site text (it's showing up in results).
  • Fix markdown list formatting issue with different tab widths.
  • add footer.
  • Implement preview-on-hover?
  • Implement "around the Agora".
  • add /latest or some other chronological view
  • User profiles: perhaps just note [flancian] as written by user [flancian]? Unsure.
    • [s5bug] suggested using [README] in gardens for this. Makes sense.
  • Make the index be just another note ding-levery.
  • Improve backlinks: show snippets as well as just the link.
  • Improve pull loop to also support arbitrary hooks, like that needed to implement [agora go links integration].
  • Multi user improvements:
    • Better sorting (right now all my notes show up at the top, doesn't make sense).
    • Ability to "zoom into" a user, to navigate just their garden for a while.
    • Perhaps ability to "uprank" users, pinning their notes to the top of any sorting order.
    • Perhaps sort+uprank can be integrated?
    • usernames could have a 'pin' emoji that upranks all their posts?
  • Implement search (full text).
  • Add support for media serving (useful for pictures of [ocell]).
    • assets/foo end up at node/assets/foo; just adding a handler for node/assets/ seems like it could be enough.
    • It would conflict with a node named 'assets' though, so perhaps it's not ideal.
    • Perhaps it'd be better to just serve images/media as subnodes?
  • Add monitoring/alerting.

Some day:

Feature requests

History

  • fix bug: backlinks should be shown even in yet non-existent nodes, such as [deceased].
  • Clean up stale journal pages which don't follow [iso 8601].
  • Add config.py file with things such as paths.
  • Add user handler: /u
    • /u/flancian -> all nodes by flancian
    • /node/flancia/u/flancian -> flancia by flancian
    • Also added @flancian. Shorter is better, and it's a common convention.
    • perhaps /g/ for groups later? or /s/ for stoa.
  • Add 'link to this note'.
    • Now called subnode.
    • Subnode rendering is ready, just need to add links.
    • Perhaps I need to fix subnode paths; right now they are the actual filename. It'd be better if there was at least possible to specify the filename base (no extension) and have the right file be resolve, a la nodes.
  • add some search support -- a simple textbox + GET?
  • better css
  • Improve the [index].
  • Implement [agora fuzzy matching].
    • Done
    • but backlinks don't work in some cases, like http://dev.anagora.org/node/abstract%20fairy.
    • Probably not worth fixing that right now as it only triggers for nodes that are not canonical, perhaps better to just redirect to a canonical node.
    • could help with disambiguation and acronym expansion