📕 subnode [[@Jayu/agora user perspective]] in 📚 node [[agora-user-perspective]]

[[push]] [[agora rfcs]]

[[Agora user perspective]]

The [[Agora]] currently is slightly more [[consensus]]-prone than [[dissensus]]-prone. This has many benefits, but it also precludes ways to socialize dissensus.

[[User namespace]]s have already been implemented as agora/@user/node. We should build upon that and create user-centred perspectives of the Agora.

An agora has content which was built by consensus/convention/aggregation between its users. An agora/@user namespace builds upon the agora's content, but hides/marks certain content according to certain @user's [[agora action]]s.

This was inspired by [[@maya]]'s federated notes.

Block action

The block action means a specific node/subnode should not be linked in any way to another specific node/subnode.

Specific subnodes (@user/subnode) and nodes (node) can be blocked. All subnodes from another user can also be blocked (@user).

Possible syntaxes

We should have multiple conventions:

Inline:

  • tag action: #block [[node]]

  • link action: [[block]] [[node]]

  • list:

      - [[block]]
      	- [[@user]]
      	- [[node]]
      	- [[node]]
      	- [[@user/subnode]]
      - #block 
      	- [[node]]
      	- [[node]]
      	- [[node]]
      	- [[@user]]
    

Front matter

  • Markdown front matter: agora-block: node
  • HTML data attribute: data-agora-block='node'

Hide action

The hide action means a specific node/subnode/user should not appear on this user perspective.

Specific subnodes (@user/subnode) and nodes (node) can be hideed. An user can also be hideed (@user).

The hide action can be interpreted as a global block: none of my nodes and subnodes should be linked in any way to an user's nodes and subnodes.

Possible syntaxes

We should have multiple conventions:

Inline:

  • tag action: #hide [[node]]

  • link action: [[hide]] [[node]]

  • list:

      - [[hide]]
      	- [[@user]]
      	- [[node]]
      	- [[node]]
      	- [[@user/subnode]]
      - #hide 
      	- [[node]]
      	- [[node]]
      	- [[node]]
      	- [[@user]]
    

Front matter

  • Markdown front matter: agora-hide: node

  • HTML data attribute: data-agora-hide='node'

  • (in the future) [[agora garden yaml file]]:

      agora-hide:
      	- node
      	- node
      	- user/subnode
      	- user:
      		- subnode
      		- subnode
      	- user
    

(WIP) Agree/Disagree action

(WIP) Like/Dislike action

📖 stoas
⥱ context