2017-12-02 21:45:47 +03:00
|
|
|
:: /app/collection/hoon
|
|
|
|
::
|
|
|
|
/- hall
|
2017-12-15 04:12:40 +03:00
|
|
|
/+ hall ::, rekey
|
|
|
|
:: /= cols
|
2017-12-13 05:48:57 +03:00
|
|
|
:: /: /===/web/collections
|
|
|
|
:: /_ /. /= conf /coll-config/
|
|
|
|
:: /= tops
|
2017-12-15 04:12:40 +03:00
|
|
|
:: /; (rekey %da)
|
2017-12-13 05:48:57 +03:00
|
|
|
:: /_ /. /coll-topic/
|
|
|
|
:: /= comt
|
2017-12-15 04:12:40 +03:00
|
|
|
:: /; (rekey %da)
|
2017-12-13 05:48:57 +03:00
|
|
|
:: /_ /coll-comment/
|
2017-12-15 04:12:40 +03:00
|
|
|
:: == ==
|
2017-12-02 21:45:47 +03:00
|
|
|
::
|
2017-12-15 04:10:58 +03:00
|
|
|
:: things to keep in sync, unique by date:
|
|
|
|
:: collections: state, files,
|
|
|
|
:: topics: state, files, notify
|
|
|
|
:: comments: state, files, notify
|
2017-12-05 00:34:44 +03:00
|
|
|
::
|
2017-12-11 22:59:44 +03:00
|
|
|
:: filepaths:
|
2017-12-05 00:34:44 +03:00
|
|
|
:: /web/collections/my-coll.config
|
|
|
|
:: /web/collections/my-coll/some.topic
|
|
|
|
:: /web/collections/my-coll/some/1.comment
|
|
|
|
::
|
2017-12-11 22:59:44 +03:00
|
|
|
:: notification circles:
|
2017-12-14 03:04:45 +03:00
|
|
|
:: ~.collections_blog-date new/changed post notifications
|
|
|
|
:: ~.collections_blog-date__post-date new/changed comments notifications
|
2017-12-02 21:45:47 +03:00
|
|
|
::
|
2017-12-14 03:04:45 +03:00
|
|
|
::
|
|
|
|
::::
|
|
|
|
::
|
|
|
|
:: XX belongs back in zuse
|
|
|
|
|%
|
|
|
|
++ pack :: light path encoding
|
|
|
|
|= {a/term b/path} ^- knot
|
|
|
|
%+ rap 3 :- (wack a)
|
|
|
|
(turn b |=(c/knot (cat 3 '_' (wack c))))
|
|
|
|
::
|
|
|
|
++ pick :: light path decoding
|
|
|
|
=+ fel=(most cab (sear wick urt:ab))
|
|
|
|
|=(a/knot `(unit {p/term q/path})`(rush a fel))
|
|
|
|
::
|
|
|
|
--
|
2017-12-02 21:45:47 +03:00
|
|
|
=> |%
|
|
|
|
++ state ::
|
2017-12-14 03:04:45 +03:00
|
|
|
$: cols/(map time collection) :: collections by name
|
2017-12-02 21:45:47 +03:00
|
|
|
== ::
|
|
|
|
++ collection ::
|
|
|
|
$: conf/config :: configuration
|
2017-12-05 00:34:44 +03:00
|
|
|
tops/(map @da topic) :: parent-level content
|
|
|
|
== ::
|
|
|
|
++ topic ::
|
|
|
|
$: tit/cord :: title
|
|
|
|
comment ::
|
2017-12-02 21:45:47 +03:00
|
|
|
== ::
|
|
|
|
++ comment ::
|
|
|
|
$: who/ship :: author
|
|
|
|
wed/@da :: editted
|
|
|
|
wat/wain :: content
|
|
|
|
== ::
|
|
|
|
++ config ::
|
|
|
|
$: desc/cord :: description
|
|
|
|
publ/? :: public or private
|
|
|
|
visi/? :: visible or hidden
|
|
|
|
mems/(set ship) :: ships on list
|
|
|
|
== ::
|
|
|
|
++ action ::
|
|
|
|
$% $: $create :: create a collection
|
|
|
|
wat/kind :: collection kind
|
|
|
|
des/cord :: name
|
|
|
|
pub/? :: public or private
|
|
|
|
vis/? :: visible or hidden
|
2017-12-05 00:34:44 +03:00
|
|
|
ses/(set ship) :: black/whitelist
|
|
|
|
== ::
|
2017-12-11 22:59:44 +03:00
|
|
|
::TODO probably want to specify @da here too.
|
2017-12-14 03:04:45 +03:00
|
|
|
{$submit col/time tit/cord wat/wain} :: submit a post/note
|
|
|
|
{$comment col/time top/@da com/@da wat/wain} :: submit a comment
|
|
|
|
{$delete col/time} :: delete a collection
|
2017-12-11 22:59:44 +03:00
|
|
|
== ::
|
|
|
|
++ kind ?($blog $fora $note) ::
|
|
|
|
++ move (pair bone card) :: all actions
|
2017-12-02 21:45:47 +03:00
|
|
|
++ poke ::
|
|
|
|
$% {$hall-action action:hall} ::
|
|
|
|
== ::
|
|
|
|
++ card ::
|
2017-12-15 04:10:58 +03:00
|
|
|
$% {$info wire ship term nori:clay} ::
|
2017-12-02 21:45:47 +03:00
|
|
|
{$poke wire dock poke} ::
|
|
|
|
{$pull wire dock $~} ::
|
2017-12-11 22:59:44 +03:00
|
|
|
{$warp wire sock riff:clay} ::
|
2017-12-02 21:45:47 +03:00
|
|
|
{$quit $~} ::
|
|
|
|
== ::
|
|
|
|
--
|
|
|
|
::
|
2017-12-14 03:04:45 +03:00
|
|
|
::::
|
|
|
|
::
|
|
|
|
=, wired
|
|
|
|
=, space:userlib
|
2017-12-02 21:45:47 +03:00
|
|
|
|_ {bol/bowl:gall state}
|
|
|
|
::
|
2017-12-11 22:59:44 +03:00
|
|
|
++ prep ::< prepare state
|
|
|
|
::> adapts state.
|
|
|
|
::
|
|
|
|
|= old/(unit *)
|
|
|
|
^- (quip move _..prep)
|
|
|
|
::?~ old
|
|
|
|
[~ ..prep] ::TODO init, start clay subs
|
|
|
|
::[~ ..prep(+<+ u.old)]
|
2017-12-02 21:45:47 +03:00
|
|
|
::
|
|
|
|
++ poke-noun
|
2017-12-14 06:09:00 +03:00
|
|
|
|= a=$@(?(~ @da) [p=@da q=@da])
|
2017-12-02 21:45:47 +03:00
|
|
|
^- (quip move _+>)
|
|
|
|
~& %poked
|
2017-12-14 06:09:00 +03:00
|
|
|
=< ta-done
|
2017-12-14 04:23:42 +03:00
|
|
|
?~ a
|
2017-12-14 06:09:00 +03:00
|
|
|
(ta-create:ta %fora ['a description' pub=& vis=& [~palzod ~ ~]])
|
|
|
|
?@ a
|
|
|
|
(ta-submit:ta a 'a topic' ~['with contents'])
|
|
|
|
(ta-comment:ta p.a q.a now.bol ~['a comment' 'yo'])
|
2017-12-02 21:45:47 +03:00
|
|
|
::
|
2017-12-11 22:59:44 +03:00
|
|
|
++ writ
|
|
|
|
|= {wir/wire rit/riot:clay}
|
|
|
|
^- (quip move _+>)
|
|
|
|
[~ +>]
|
|
|
|
::TODO watch for file changes. create on new files, update on change, delete
|
|
|
|
:: on remove. we want to watch /web/collections recursively if possible,
|
|
|
|
:: or /web/collections/[col] for each collection and then
|
|
|
|
:: /web/collections/[col]/[top] for each topic as they get created.
|
|
|
|
::
|
2017-12-13 05:48:57 +03:00
|
|
|
++ ignore-action
|
|
|
|
|= act/action ^- ?
|
|
|
|
?- -.act
|
|
|
|
?($create $delete)
|
|
|
|
?: (team:title our.bol src.bol) |
|
|
|
|
~|([%unauthorized -.act src.bol] !!)
|
|
|
|
::
|
|
|
|
?($submit $comment)
|
|
|
|
=/ col (~(get by cols) col.act)
|
|
|
|
?~ col &
|
|
|
|
?: publ.conf.u.col
|
|
|
|
(~(has in mems.conf.u.col) src.bol) :: not on blacklist
|
|
|
|
!(~(has in mems.conf.u.col) src.bol) :: is on whitelist
|
|
|
|
==
|
|
|
|
::
|
2017-12-02 21:45:47 +03:00
|
|
|
++ poke-collections-action
|
|
|
|
|= act/action
|
2017-12-13 05:48:57 +03:00
|
|
|
^- (quip move _+>)
|
|
|
|
?: (ignore-action act)
|
2017-12-05 00:47:41 +03:00
|
|
|
[~ +>]
|
2017-12-05 00:34:44 +03:00
|
|
|
=< ta-done
|
2017-12-02 21:45:47 +03:00
|
|
|
?- -.act
|
2017-12-05 00:34:44 +03:00
|
|
|
$create (ta-create:ta +.act)
|
|
|
|
$submit (ta-submit:ta +.act)
|
|
|
|
$comment (ta-comment:ta +.act)
|
|
|
|
$delete (ta-delete:ta +.act)
|
2017-12-02 21:45:47 +03:00
|
|
|
==
|
|
|
|
::
|
|
|
|
++ ta
|
|
|
|
|_ moves/(list move)
|
2017-12-13 05:48:57 +03:00
|
|
|
++ ta-done [(flop moves) +>]
|
|
|
|
++ ta-emit |=(mov/move %_(+> moves [mov moves]))
|
|
|
|
++ ta-emil |=(mos/(list move) %_(+> moves (welp (flop mos) moves)))
|
2017-12-02 21:45:47 +03:00
|
|
|
++ ta-hall-action
|
2017-12-13 05:48:57 +03:00
|
|
|
|= act=action:hall
|
2017-12-02 21:45:47 +03:00
|
|
|
%- ta-emit
|
2017-12-11 22:59:44 +03:00
|
|
|
:^ ost.bol %poke / ::TODO wire, handle ++coup.
|
2017-12-02 21:45:47 +03:00
|
|
|
:+ [our.bol %hall] %hall-action
|
|
|
|
act
|
|
|
|
::
|
2017-12-13 05:48:57 +03:00
|
|
|
++ ta-hall-actions
|
|
|
|
|= act=(list ?(~ action:hall)) ^+ +>
|
|
|
|
?~ act +>
|
|
|
|
?~ i.act $(act t.act)
|
|
|
|
$(act t.act, +> (ta-hall-action i.act)) ::TODO group at all?
|
|
|
|
::
|
2017-12-05 00:34:44 +03:00
|
|
|
:: %performing-actions
|
2017-12-02 21:45:47 +03:00
|
|
|
::
|
2017-12-05 00:34:44 +03:00
|
|
|
++ ta-create
|
2017-12-13 05:48:57 +03:00
|
|
|
|= {wat/kind cof/config}
|
2017-12-02 21:45:47 +03:00
|
|
|
^+ +>
|
2017-12-13 05:48:57 +03:00
|
|
|
::XX unhandled kind
|
2017-12-14 03:04:45 +03:00
|
|
|
(ta-change-config now.bol cof %poke)
|
2017-12-02 21:45:47 +03:00
|
|
|
::
|
2017-12-05 00:34:44 +03:00
|
|
|
++ ta-submit
|
2017-12-14 03:04:45 +03:00
|
|
|
|= {col/time tit/cord wat/wain}
|
2017-12-14 06:09:00 +03:00
|
|
|
=/ top/topic [tit src.bol now.bol wat]
|
|
|
|
(ta-change-topic col now.bol top %poke)
|
2017-12-05 00:34:44 +03:00
|
|
|
::
|
|
|
|
++ ta-comment
|
2017-12-14 03:04:45 +03:00
|
|
|
|= {col/time top/@da com/@da wat/wain}
|
2017-12-05 00:34:44 +03:00
|
|
|
^+ +>
|
2017-12-13 05:48:57 +03:00
|
|
|
?. (~(has by cols) col) +>.$
|
|
|
|
=/ cos=collection (~(got by cols) col)
|
|
|
|
?. (~(has by tops.cos) top) +>.$
|
|
|
|
=/ old/comment
|
|
|
|
%+ fall (get-comment col top com)
|
2017-12-14 06:09:00 +03:00
|
|
|
[src.bol now.bol wat]
|
2017-12-13 05:48:57 +03:00
|
|
|
?. =(who.old src.bol) +>.$ :: error?
|
2017-12-11 22:59:44 +03:00
|
|
|
%^ ta-write-comment col top
|
2017-12-14 06:09:00 +03:00
|
|
|
:- com
|
|
|
|
[who.old now.bol wat]
|
2017-12-05 00:34:44 +03:00
|
|
|
::
|
|
|
|
++ ta-delete
|
2017-12-14 03:04:45 +03:00
|
|
|
|= col/time
|
2017-12-05 00:34:44 +03:00
|
|
|
^+ +>
|
|
|
|
+>
|
|
|
|
::TODO - delete files
|
2017-12-11 22:59:44 +03:00
|
|
|
:: - unsubscribe from clay
|
2017-12-05 00:34:44 +03:00
|
|
|
:: - send delete action to hall
|
|
|
|
:: - remove from state
|
|
|
|
::
|
|
|
|
:: %applying-changes
|
|
|
|
::
|
2017-12-02 21:45:47 +03:00
|
|
|
++ ta-change-config
|
2017-12-15 04:10:58 +03:00
|
|
|
|= {col/time new/config src/?($file $poke)}
|
2017-12-02 21:45:47 +03:00
|
|
|
^+ +>
|
2017-12-13 05:48:57 +03:00
|
|
|
::
|
|
|
|
::REVIEW I think clay writes are idempotent?
|
2017-12-02 21:45:47 +03:00
|
|
|
:: if not changed on disk, update the file.
|
2017-12-13 05:48:57 +03:00
|
|
|
=? +> !?=($file src)
|
2017-12-11 22:59:44 +03:00
|
|
|
(ta-write-config col new)
|
|
|
|
=+ ole=(~(get by cols) col)
|
2017-12-02 21:45:47 +03:00
|
|
|
:: if we don't have it yet, add to state and hall.
|
|
|
|
?~ ole
|
2017-12-11 22:59:44 +03:00
|
|
|
=. cols (~(put by cols) col new ~)
|
2017-12-13 05:48:57 +03:00
|
|
|
(ta-hall-create col new)
|
|
|
|
=/ old conf.u.ole
|
2017-12-05 00:34:44 +03:00
|
|
|
:: make sure publ stays unchanged.
|
|
|
|
=. +>.$
|
2017-12-13 05:48:57 +03:00
|
|
|
?: =(publ.new publ.old) +>.$
|
|
|
|
=. publ.new publ.old
|
2017-12-11 22:59:44 +03:00
|
|
|
(ta-write-config col new)
|
2017-12-02 21:45:47 +03:00
|
|
|
:: update config in state.
|
2017-12-11 22:59:44 +03:00
|
|
|
=. cols (~(put by cols) col u.ole(conf new))
|
2017-12-05 00:34:44 +03:00
|
|
|
:: update config in hall.
|
2017-12-13 05:48:57 +03:00
|
|
|
=/ nam (circle-for col)
|
|
|
|
%- ta-hall-actions :~
|
|
|
|
?: =(desc.old desc.new) ~
|
|
|
|
[%depict nam desc.new]
|
|
|
|
::
|
2017-12-02 21:45:47 +03:00
|
|
|
?: =(visi.old visi.new) ~
|
2017-12-13 05:48:57 +03:00
|
|
|
[%public visi.new our.bol nam]
|
|
|
|
::
|
|
|
|
(hall-permit nam | (~(dif in mems.old) mems.new))
|
|
|
|
(hall-permit nam & (~(dif in mems.new) mems.old))
|
|
|
|
==
|
2017-12-02 21:45:47 +03:00
|
|
|
::
|
2017-12-05 00:34:44 +03:00
|
|
|
++ ta-change-topic
|
2017-12-14 06:09:00 +03:00
|
|
|
|= {col/time wen/@da top/topic src/?($file $poke)}
|
2017-12-05 00:34:44 +03:00
|
|
|
^+ +>
|
2017-12-14 06:09:00 +03:00
|
|
|
=/ old (get-topic col wen)
|
2017-12-05 00:34:44 +03:00
|
|
|
:: only original poster and host can edit.
|
2017-12-13 05:48:57 +03:00
|
|
|
?. |(?=(~ old) =(who.u.old src.bol) ?=($file src)) +>.$
|
|
|
|
::
|
|
|
|
::REVIEW this was just set in ta-submit?
|
|
|
|
=? who.top ?=($poke src) src.bol :: ensure legit author
|
|
|
|
=. wed.top now.bol :: change last edit date
|
|
|
|
:: store in state
|
2017-12-14 06:09:00 +03:00
|
|
|
~| ~(key by cols)
|
2017-12-13 05:48:57 +03:00
|
|
|
=/ cos (~(got by cols) col)
|
2017-12-14 06:09:00 +03:00
|
|
|
=. tops.cos (~(put by tops.cos) wen top)
|
2017-12-13 05:48:57 +03:00
|
|
|
=. cols (~(put by cols) col cos)
|
|
|
|
::
|
|
|
|
=/ new =(~ old)
|
2017-12-05 00:34:44 +03:00
|
|
|
=? +>.$ new
|
2017-12-14 06:09:00 +03:00
|
|
|
(ta-hall-create-topic col wen conf.cos)
|
|
|
|
=. +>.$ (ta-write-topic col wen top)
|
|
|
|
(ta-hall-notify col wen ~ new wat.top)
|
2017-12-05 00:34:44 +03:00
|
|
|
::
|
2017-12-13 05:48:57 +03:00
|
|
|
::REVIEW never called
|
|
|
|
::++ ta-change-comment
|
2017-12-14 03:04:45 +03:00
|
|
|
:: |= {col/time top/@da com/comment src/?($file $poke)}
|
2017-12-13 05:48:57 +03:00
|
|
|
:: ^+ +>
|
|
|
|
:: =/ old (get-comment col top wen.com)
|
|
|
|
:: :: only original poster and host can edit.
|
|
|
|
:: ?. |(?=(~ old) =(who.u.old src.bol) ?=($file src))
|
|
|
|
:: +>.$
|
|
|
|
:: =? who.com ?=($poke src) src.bol :: ensure legit author
|
|
|
|
:: =. wed.com now.bol :: change last edit date.
|
|
|
|
:: ::
|
|
|
|
:: =. +>.$ (ta-write-comment col top com)
|
|
|
|
:: (ta-hall-notify col top `wen.com =(~ old) wat.com)
|
2017-12-05 00:34:44 +03:00
|
|
|
::
|
|
|
|
:: %writing-files
|
|
|
|
::
|
2017-12-13 05:48:57 +03:00
|
|
|
++ ta-write
|
|
|
|
|= [wir=[term ~] pax=path cay=cage] ^+ +>
|
|
|
|
=/ pax=path
|
2017-12-14 03:04:45 +03:00
|
|
|
:(weld base-path pax /[p.cay])
|
2017-12-13 05:48:57 +03:00
|
|
|
%+ ta-emit ost.bol
|
|
|
|
[%info (weld wir pax) our.bol (foal pax cay)]
|
|
|
|
::
|
2017-12-05 00:34:44 +03:00
|
|
|
++ ta-write-config
|
2017-12-14 03:04:45 +03:00
|
|
|
|= {col/time cof/config}
|
2017-12-02 21:45:47 +03:00
|
|
|
^+ +>
|
2017-12-13 05:48:57 +03:00
|
|
|
%^ ta-write /config
|
2017-12-14 03:04:45 +03:00
|
|
|
(dray /[%da] col)
|
2017-12-13 05:48:57 +03:00
|
|
|
[%collections-config !>(cof)]
|
2017-12-05 00:34:44 +03:00
|
|
|
::
|
|
|
|
++ ta-write-topic
|
2017-12-14 06:09:00 +03:00
|
|
|
|= {col/time wen/@da top/topic}
|
2017-12-05 00:34:44 +03:00
|
|
|
^+ +>
|
2017-12-13 05:48:57 +03:00
|
|
|
%^ ta-write /topic
|
2017-12-14 06:09:00 +03:00
|
|
|
(dray /[%da]/[%da] col wen)
|
2017-12-13 05:48:57 +03:00
|
|
|
[%collections-topic !>(top)]
|
2017-12-05 00:34:44 +03:00
|
|
|
::
|
|
|
|
++ ta-write-comment
|
2017-12-14 06:09:00 +03:00
|
|
|
|= {col/time top/@da wen/@da com/comment}
|
2017-12-05 00:34:44 +03:00
|
|
|
^+ +>
|
2017-12-13 05:48:57 +03:00
|
|
|
%^ ta-write /comment
|
2017-12-14 06:09:00 +03:00
|
|
|
(dray /[%da]/[%da]/[%da] col top wen)
|
2017-12-13 05:48:57 +03:00
|
|
|
[%collections-comment !>(com)]
|
2017-12-05 00:34:44 +03:00
|
|
|
::
|
|
|
|
:: %hall-changes
|
|
|
|
::
|
|
|
|
++ ta-hall-create
|
2017-12-14 03:04:45 +03:00
|
|
|
|= {col/time cof/config}
|
2017-12-05 00:34:44 +03:00
|
|
|
^+ +>
|
2017-12-13 05:48:57 +03:00
|
|
|
=+ nam=(circle-for col)
|
2017-12-15 04:10:58 +03:00
|
|
|
(ta-hall-configure nam cof)
|
2017-12-02 21:45:47 +03:00
|
|
|
::
|
2017-12-13 05:48:57 +03:00
|
|
|
++ ta-hall-create-topic
|
2017-12-14 03:04:45 +03:00
|
|
|
|= {col/time top/@da cof/config}
|
2017-12-02 21:45:47 +03:00
|
|
|
^+ +>
|
2017-12-13 05:48:57 +03:00
|
|
|
=+ nam=(circle-for-topic col top)
|
|
|
|
=. +>.$ (ta-hall-configure nam cof)
|
2017-12-02 21:45:47 +03:00
|
|
|
%- ta-hall-action
|
2017-12-13 05:48:57 +03:00
|
|
|
::NOTE %source also subs to local config & presence, but
|
|
|
|
:: that generally won't result in visible notifications.
|
|
|
|
:^ %source (circle-for col) &
|
|
|
|
(sy `source:hall`[our.bol nam]~ ~)
|
2017-12-02 21:45:47 +03:00
|
|
|
::
|
2017-12-13 05:48:57 +03:00
|
|
|
++ ta-hall-configure
|
|
|
|
|= [nam=term cof=config] ^+ +>
|
2017-12-02 21:45:47 +03:00
|
|
|
^+ +>
|
2017-12-13 05:48:57 +03:00
|
|
|
%- ta-hall-actions :~
|
|
|
|
[%create nam desc.cof ?:(publ.cof %journal %village)]
|
|
|
|
?.(visi.cof ~ [%public & our.bol nam])
|
|
|
|
(hall-permit nam & mems.cof)
|
|
|
|
==
|
2017-12-02 21:45:47 +03:00
|
|
|
::
|
2017-12-05 00:34:44 +03:00
|
|
|
::
|
|
|
|
++ ta-hall-notify
|
2017-12-14 03:04:45 +03:00
|
|
|
|= {col/time top/@da com/(unit @da) new/? wat/wain}
|
2017-12-05 00:34:44 +03:00
|
|
|
^+ +>
|
|
|
|
%- ta-hall-action
|
|
|
|
=- :+ %phrase [[our.bol tar] ~ ~]
|
|
|
|
[%fat [%text wat] [%lin | msg]]~
|
|
|
|
^- {tar/naem:hall msg/cord}
|
|
|
|
::TODO
|
2017-12-13 05:48:57 +03:00
|
|
|
[(circle-for col) 'TODO']
|
2017-12-02 21:45:47 +03:00
|
|
|
--
|
|
|
|
::
|
2017-12-13 05:48:57 +03:00
|
|
|
++ hall-permit
|
|
|
|
|= [nam=term inv=? sis=(set ship)]
|
|
|
|
?~ sis ~
|
|
|
|
[%permit nam inv sis]
|
2017-12-02 21:45:47 +03:00
|
|
|
::
|
2017-12-13 05:48:57 +03:00
|
|
|
::
|
|
|
|
++ circle-for
|
2017-12-14 03:04:45 +03:00
|
|
|
|=(col/time (pack %collection (dray /[%da] col)))
|
2017-12-13 05:48:57 +03:00
|
|
|
::
|
|
|
|
++ circle-for-topic
|
2017-12-14 03:04:45 +03:00
|
|
|
|=({col/time top/time} (pack %collection (dray /[%da]/[%da] col top)))
|
2017-12-05 00:34:44 +03:00
|
|
|
::
|
2017-12-14 03:04:45 +03:00
|
|
|
++ base-path (en-beam:format byk.bol(r da+now.bol) /collections/web)
|
2017-12-05 00:34:44 +03:00
|
|
|
::
|
|
|
|
++ get-config
|
2017-12-14 03:04:45 +03:00
|
|
|
|= col/time
|
2017-12-05 00:34:44 +03:00
|
|
|
^- (unit config)
|
2017-12-14 03:04:45 +03:00
|
|
|
=/ pax :(weld base-path (dray /[%da] col) /collections-config)
|
2017-12-13 05:48:57 +03:00
|
|
|
::
|
2017-12-14 03:04:45 +03:00
|
|
|
?~ (file pax) ~
|
2017-12-05 00:34:44 +03:00
|
|
|
`.^(config %cx pax)
|
|
|
|
::
|
|
|
|
++ get-topic
|
2017-12-14 03:04:45 +03:00
|
|
|
|= {col/time top/@da}
|
2017-12-05 00:34:44 +03:00
|
|
|
^- (unit topic)
|
2017-12-14 03:04:45 +03:00
|
|
|
=/ pax :(weld base-path (dray /[%da]/[%da] col top) /collections-topic)
|
2017-12-13 05:48:57 +03:00
|
|
|
::
|
2017-12-14 03:04:45 +03:00
|
|
|
?~ (file pax) ~
|
2017-12-05 00:34:44 +03:00
|
|
|
`.^(topic %cx pax)
|
|
|
|
::
|
|
|
|
++ get-comment
|
2017-12-14 03:04:45 +03:00
|
|
|
|= {col/time top/@da com/@da}
|
2017-12-05 00:34:44 +03:00
|
|
|
^- (unit comment)
|
2017-12-14 03:04:45 +03:00
|
|
|
=/ pax
|
|
|
|
:(weld base-path (dray /[%da]/[%da]/[%da] col top com) /collections-comment)
|
2017-12-13 05:48:57 +03:00
|
|
|
::
|
2017-12-14 03:04:45 +03:00
|
|
|
?~ (file pax) ~
|
2017-12-05 00:34:44 +03:00
|
|
|
`.^(comment %cx pax)
|
2017-12-02 21:45:47 +03:00
|
|
|
--
|