mirror of
https://github.com/urbit/shrub.git
synced 2024-12-20 09:21:42 +03:00
79 lines
1.8 KiB
Plaintext
79 lines
1.8 KiB
Plaintext
/- *post, met=metadata-store
|
|
|_ i=indexed-post
|
|
++ grow
|
|
|%
|
|
++ noun i
|
|
++ graph-permissions-add
|
|
|= vip=vip-metadata:met
|
|
?+ index.p.i !!
|
|
[@ ~] [%yes %yes %no] :: new note
|
|
[@ %1 @ ~] [%self %self %no]
|
|
[@ %2 @ ~] [%yes %yes ?:(?=(%reader-comments vip) %yes %no)]
|
|
[@ %2 @ @ ~] [%self %self %self]
|
|
==
|
|
::
|
|
++ graph-permissions-remove
|
|
|= vip=vip-metadata:met
|
|
?+ index.p.i !!
|
|
[@ ~] [%yes %self %self]
|
|
[@ %1 @ @ ~] [%yes %self %self]
|
|
[@ %2 @ ~] [%yes %self %self]
|
|
[@ %2 @ @ ~] [%yes %self %self]
|
|
==
|
|
:: +notification-kind
|
|
:: ignore all containers, only notify on content
|
|
::
|
|
++ notification-kind
|
|
?+ index.p.i ~
|
|
[@ %1 %1 ~] `[%note 0 %each %.n]
|
|
[@ %1 @ ~] `[%edit-note 0 %none %.n]
|
|
[@ %2 @ %1 ~] `[%comment 1 %count %.n]
|
|
[@ %2 @ @ ~] `[%edit-comment 1 %none %.n]
|
|
==
|
|
--
|
|
++ grab
|
|
|%
|
|
:: +noun: validate publish post
|
|
::
|
|
++ noun
|
|
|= p=*
|
|
=/ ip ;;(indexed-post p)
|
|
?+ index.p.ip !!
|
|
:: top level post must have no content
|
|
[@ ~]
|
|
?> ?=(~ contents.p.ip)
|
|
ip
|
|
:: container for revisions
|
|
::
|
|
[@ %1 ~]
|
|
?> ?=(~ contents.p.ip)
|
|
ip
|
|
:: specific revision
|
|
:: first content is the title
|
|
:: revisions are numbered by the revision count
|
|
:: starting at one
|
|
[@ %1 @ ~]
|
|
?> ?=([* * *] contents.p.ip)
|
|
?> ?=(%text -.i.contents.p.ip)
|
|
ip
|
|
:: container for comments
|
|
::
|
|
[@ %2 ~]
|
|
?> ?=(~ contents.p.ip)
|
|
ip
|
|
:: container for comment revisions
|
|
::
|
|
[@ %2 @ ~]
|
|
?> ?=(~ contents.p.ip)
|
|
ip
|
|
:: specific comment revision
|
|
::
|
|
[@ %2 @ @ ~]
|
|
?> ?=(^ contents.p.ip)
|
|
ip
|
|
==
|
|
--
|
|
::
|
|
++ grad %noun
|
|
--
|