mirror of
https://github.com/ilyakooo0/urbit.git
synced 2025-01-05 13:55:54 +03:00
Merge remote-tracking branches 'philipcmonk/ford-fix', 'ray/lune-nule' and 'ohaitch/talk-comments'
Conflicts: mar/tree/comments.hoon Fix off-by-one in marks that was removing the last byte of clay files Add ++lune/++nule Unix textfile arms Route .tree 'comments' input through talk
This commit is contained in:
commit
e1480cb570
@ -3,7 +3,7 @@
|
||||
:: :: ::
|
||||
/? 310
|
||||
/- talk, sole
|
||||
/+ talk, sole
|
||||
/+ talk, sole, time-to-id
|
||||
/= seed /~ !>(.)
|
||||
::
|
||||
::::
|
||||
@ -72,6 +72,7 @@
|
||||
== ::
|
||||
++ pear :: poke fruit
|
||||
$% {$talk-command command} ::
|
||||
{$write-comment path ship cord} ::
|
||||
== ::
|
||||
++ card :: general card
|
||||
$% {$diff lime} ::
|
||||
@ -1292,6 +1293,49 @@
|
||||
=. +>.$ pa-abet:(~(pa-reform pa man pur) con)
|
||||
?:(neu +>.$ ra-homes)
|
||||
::
|
||||
++ ra-base-hart .^(hart %e /(scot %p our.hid)/host/(scot %da now.hid))
|
||||
++ ra-comment
|
||||
|= {pax/path txt/@t}
|
||||
=. ..ra-emit
|
||||
%+ ra-emit ost.hid
|
||||
:* %poke
|
||||
/comment
|
||||
[our.hid %hood]
|
||||
[%write-comment pax src.hid txt]
|
||||
==
|
||||
=+ man=%comments
|
||||
?: (~(has by stories) man)
|
||||
(ra-consume-comment man pax txt)
|
||||
=. ..ra-apply
|
||||
%+ ra-apply our.hid
|
||||
:+ %design man
|
||||
:- ~ :- ~
|
||||
:- 'letters to the editor'
|
||||
[%brown ~]
|
||||
=. ..ra-consume
|
||||
%^ ra-consume & our.hid
|
||||
:^ (shaf %init eny.hid)
|
||||
(my [[%& our.hid (main our.hid)] *envelope %pending] ~)
|
||||
now.hid
|
||||
[~ %app %tree 'receiving comments, ;join %comments for details']
|
||||
(ra-consume-comment man pax txt)
|
||||
::
|
||||
++ ra-consume-comment
|
||||
|= {man/knot pax/path txt/@t} ^+ +>
|
||||
=+ nam==+(xap=(flop pax) ?~(xap "" (trip i.xap))) :: file name
|
||||
=+ fra=(crip (time-to-id now.hid)) :: url fragment
|
||||
%^ ra-consume &
|
||||
src.hid
|
||||
:* (shaf %comt eny.hid)
|
||||
(my [[%& our.hid man] *envelope %pending] ~)
|
||||
now.hid
|
||||
(sy /comment eyre+pax ~)
|
||||
:- %mor :~
|
||||
[%fat text+(lore txt) [%url [ra-base-hart `pax ~] `fra]]
|
||||
[%app %tree (crip "comment on /{nam}")]
|
||||
==
|
||||
==
|
||||
::
|
||||
++ ra-know :: story monad
|
||||
|= man/knot
|
||||
|* fun/$-(_pa _+>)
|
||||
@ -1973,7 +2017,7 @@
|
||||
$app tan+~[rose+[": " ~ ~]^~[leaf+"[{(trip p.sep)}]" leaf+(trip q.sep)]]
|
||||
$url url+(crip (earf p.sep))
|
||||
$mor mor+(turn p.sep |=(speech ^$(sep +<)))
|
||||
$fat [%mor tan+(tr-rend-tors p.sep) $(sep q.sep) ~]
|
||||
$fat [%mor $(sep q.sep) tan+(tr-rend-tors p.sep) ~]
|
||||
==
|
||||
::
|
||||
++ tr-rend-tors
|
||||
@ -1989,8 +2033,8 @@
|
||||
%- ~(gas in *(set partner))
|
||||
(turn (~(tap by aud)) |=({a/partner *} a))
|
||||
::
|
||||
++ chow
|
||||
|= {len/@u txt/tape}
|
||||
++ tr-chow
|
||||
|= {len/@u txt/tape} ^- tape
|
||||
?: (gth len (lent txt)) txt
|
||||
=. txt (scag len txt)
|
||||
|-
|
||||
@ -2000,19 +2044,29 @@
|
||||
?~ t.txt "…"
|
||||
[i.txt $(txt t.txt)]
|
||||
::
|
||||
++ tr-both
|
||||
|= {a/tape b/tape} ^- tape
|
||||
?: (gth (lent a) 62) (tr-chow 64 a)
|
||||
%+ weld a
|
||||
(tr-chow (sub 64 (lent a)) " {b}")
|
||||
::
|
||||
++ tr-text
|
||||
|= oug/?
|
||||
^- tape
|
||||
?+ -.sep ~&(tr-lost+sep "")
|
||||
$mor
|
||||
?~ p.sep ~&(%tr-mor-empty "")
|
||||
|- ^- tape
|
||||
?~ t.p.sep ^$(sep i.p.sep)
|
||||
(tr-both ^$(sep i.p.sep) $(p.sep t.p.sep))
|
||||
::
|
||||
$fat
|
||||
=+ rem=$(sep q.sep)
|
||||
?: (gth (lent rem) 62) (chow 64 rem)
|
||||
=- "{rem}{(chow (sub 64 (lent rem)) " {-}")}"
|
||||
%+ tr-both $(sep q.sep)
|
||||
?+ -.p.sep "..."
|
||||
$tank ~(ram re %rose [" " `~] +.p.sep)
|
||||
==
|
||||
::
|
||||
$exp (chow 66 '#' ' ' (trip p.sep))
|
||||
$exp (tr-chow 66 '#' ' ' (trip p.sep))
|
||||
$url =+ ful=(earf p.sep)
|
||||
?: (gth 64 (lent ful)) ['/' ' ' ful]
|
||||
:+ '/' '_'
|
||||
@ -2035,7 +2089,7 @@
|
||||
(weld " " txt)
|
||||
::
|
||||
$app
|
||||
(chow 64 "[{(trip p.sep)}]: {(trip q.sep)}")
|
||||
(tr-chow 64 "[{(trip p.sep)}]: {(trip q.sep)}")
|
||||
==
|
||||
--
|
||||
::
|
||||
@ -2146,6 +2200,10 @@
|
||||
=+ grams:(~(got by stories) man)
|
||||
[ost.hid %info /jamfile our.hid (foal paf [%talk-telegrams !>(-)])]
|
||||
::
|
||||
++ poke-talk-comment
|
||||
|= {pax/path txt/@t} ^- (quip move +>)
|
||||
ra-abet:(ra-comment:ra pax txt)
|
||||
::
|
||||
++ poke-talk-save
|
||||
|= man/knot
|
||||
^- (quip move +>)
|
||||
|
196
arvo/eyre.hoon
196
arvo/eyre.hoon
@ -228,119 +228,62 @@
|
||||
==
|
||||
::
|
||||
++ favi :: XX favicon
|
||||
0w3.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~LX-.~~HW-.L~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.Rdjk~.VWuDL.-3wUf.~zEWe.~Yj4N.f~Y~f.P~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~-~LX.~~lBp.m~~nR.Zv~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.RZvn~.GqCF~.Qt7h~.Ya2wH.~0000.~M000.fY000.
|
||||
3~0w8.2~Qx8.if~eP.IX~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~fP.Y~QB9.ivY00.03~k5.1g~Z~.vT~~~.~~~~~.~~~~~.~~~~~.FWuD~.
|
||||
CpCp~.P8OcL.Y0003.~0000.~M000.fY000.3~000.0~M00.0fY00.03~00.00~Nk.l5v-W.KHH~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~-QJ.bj~00.
|
||||
00~M0.00fY0.003~6.hAp~S.FGqL-.6xEr~.oC9y~.NUu7L.Y0003.~0000.~M000.fY000.3~000.
|
||||
0~M00.0fY00.03~00.00~M0.00fY0.003~0.000~N.sn5~~.fPY~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~Z7.hQvYr.6NL~0.000~M.000fY.0003~.0000~.
|
||||
M000f.Y0003.~0000.~M000.fY000.3~000.0~M00.0fYJb.iT~sT.dP~Vu.nB~ZZ.vnT~a.iAF~M.
|
||||
000fY.0003~.0000~.VGqCL.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~Y.D9OvY.B9in~.0000~.M000f.Y0003.~0000.~M000.fY000.3~000.0~M41.
|
||||
0vZ1g.k7~Ha.OI~~n.RZv~~.~~~~~.~~~~~.~~~~~.HW-L~.jAVe~.M000f.YNcj7.~YLbO.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.-byUL.
|
||||
ZzoSf.~3MYf.~M000.fY000.3~000.0~MQd.3vZik.Bb~Kb.yU~~P.Y~f~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~IXeP.~ezEW.~WGGG.L~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~pSt.D~DFW.u~Uu7.x~-tD.
|
||||
pT~RZ.vn~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~IXe.
|
||||
P~-LH.W~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~0000.00000.00000.00000.00000.50000.00002.000g0.00400.000w0.000a0.00000.
|
||||
00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.
|
||||
00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.
|
||||
00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.
|
||||
00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.
|
||||
00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.00000.
|
||||
00000.00000.3~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.Rdjk~.~bOYL.~~~~~.~~~~~.~~TZ~.v-ZLr.T~r6N.I~Rtn.l~-rC.
|
||||
VL~-~.LX~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.ZLrS~.OMIbf.Z2gAb.~JHqS.~V-vD.~Y-fz.
|
||||
X~000.0~M00.0fY00.03~00.00~S1.wof~U.-fz~~.~~~~~.~~~~~.~~~~~.~~~~~.~DV-v.ZDpSv.
|
||||
~0000.~M000.fY000.3~000.0~Qp6.hL-FG.qD~LX.-~~Qt.7h~Yw.823~Y.LbO~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~LX-.~WCFG.vZtnl.T~rmR.J~Yf3.M~~~~.~~~~~.~~~~~.~~~~J.XuT~N.
|
||||
Yv7~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.
|
||||
~~~~~.~~~~~.~0000.00000.00000.00000.00000.1g000.00002.000g0.00200.000g0.000a0.
|
||||
001kU.001gE.02000.g0082.00000.C0005.a00w0.04001.0g008.00g00
|
||||
%+ can 6 :~
|
||||
[20 0wf~.~0000.00000.00000.00000.00000.1g000.00002.000g0.00200.000g0.
|
||||
000a0.001kU.001gE.02000.g0082.00000.C0005.a00w0.04001.0g008.00g00]
|
||||
::
|
||||
[98 (fil 6 98 0w3.~~~~~)]
|
||||
[59 0wf~~~Z.jkRf~.OYLb~.~~~~~.~~~~~.~Z~vT.~LrSZ.~SNIr.fZnlR.v~CVK.r~~LX.
|
||||
-~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.rSZLY.Ib2P~.gA92~.XqSJL.-vDV~.~fzU-.
|
||||
~M000.fY000.3~000.0~M00.0fZwo.63~-f.zU~~~.~~~~~.~~~~~.~~~~~.~~~~~.V-vD~.
|
||||
pStD~.M000f.Y0003.~0000.~M000.fZ6hA.r~GqC.F~X-~.L~Z7h.Qv~82.0w~~b.OYL~~.
|
||||
~~~~~.~~~~~.~~~~~.~~~~~.~~~~~.~X-~L.-FGqD.~nlRt.~SRJr.v~3MY.f~~~~.~~~~~.
|
||||
~~~~~.~~~Xu.TJ~Yv.7N~~~]
|
||||
::
|
||||
[98 (fil 6 98 0w3.~~~~~)]
|
||||
[1 0wf~~]
|
||||
[63 (fil 6 63 0w0)]
|
||||
[11 0wf~~0.00000.00000.00000.00000.00050.00000.00200.0g000.40000.0w000.0a000]
|
||||
[389 (fil 6 389 0w3.~~~~~)]
|
||||
[3 0w~.~~~Xe.PI~~H.W-L~~]
|
||||
[9 (fil 6 9 0w3.~~~~~)]
|
||||
[6 0w~~.~~StD.p~VWu.DL-7x.Uv~Dp.St~Zv.nR~~~]
|
||||
[14 (fil 6 14 0w3.~~~~~)]
|
||||
[4 0w3~.~~~IX.eP~ez.EW~WG.GGL~~]
|
||||
[5 (fil 6 5 0w3.~~~~~)]
|
||||
[11 0wf~~~.-byUL.ZzoSf.~3MYf.~M000.fY000.
|
||||
3~000.0~MQd.3vZik.Bb~Kb.yU~~P.Y~f~~]
|
||||
[11 (fil 6 11 0w3.~~~~~)]
|
||||
[13 0wfY.10g7~.gk51~.WOIHf.~RZvn.~~~~~.~~~~~.
|
||||
~~~~~.~~W-L.H~QVe.jLY00.03~cj.4N~~b.OYL~~]
|
||||
[6 (fil 6 6 0wfY0)]
|
||||
[3 0w~.~~~Os.D9~Ok.B9vY0]
|
||||
[10 (fil 6 10 0w3.~~~~~)]
|
||||
[10 0wf.YJbiT.~sTdP.~VunB.~ZZvn.T~aiA.F~M00.0fY00.03~00.00~VG.qCL~~]
|
||||
[10 (fil 6 10 0wfY0)]
|
||||
[3 0w~.~~~Qt.7h~NI.r6~Y0]
|
||||
[9 (fil 6 9 0w3.~~~~~)]
|
||||
[3 0w3~5N.sn~Y~.fP~~~]
|
||||
[10 (fil 6 10 0wfY0)]
|
||||
[10 0w3~~~.-QJbj.~0000.~M000.fY000.3~6hA.p~SFG.qL-6x.Er~oC.9y~NU.u7LY0]
|
||||
[10 (fil 6 10 0w3.~~~~~)]
|
||||
[3 0w3~5h.kl~XG.WKL~~]
|
||||
[7 (fil 6 7 0wfY0)]
|
||||
[12 0w~~~~.~fPY~.QB9iv.Y0003.~k51g.~Z~vT.~~~~~.
|
||||
~~~~~.~~~~~.~~~FW.uD~Cp.Cp~P8.OcLY0]
|
||||
[11 (fil 6 11 0w3.~~~~~)]
|
||||
[11 0wf~~~.~nRZv.-FGqD.~hQt7.~MEa2.LY000.
|
||||
3~000.0~M00.0fY20.wb~i4.x8~YX.ePL~~]
|
||||
[5 (fil 6 5 0w3.~~~~~)]
|
||||
[4 0w3~.~~-~L.X~~lB.pm~~n.RZv~~]
|
||||
[13 (fil 6 13 0w3.~~~~~)]
|
||||
[7 0w3~~.~~kRd.j~DFW.u~Ue3.w~-ez.EX~Nc.j4~~P.Y~f~~]
|
||||
[9 (fil 6 9 0w3.~~~~~)]
|
||||
[3 0w~.~~~~L.X-~~H.W-L~~]
|
||||
[389 (fil 6 389 0w3.~~~~~)]
|
||||
[1 0wf~~]
|
||||
==
|
||||
::
|
||||
++ js :: static javascript
|
||||
|%
|
||||
++ poll :: dependency long-poll
|
||||
@ -839,7 +782,7 @@
|
||||
::
|
||||
++ ses-ya |=(ses/hole ~(. ya ses (~(got by wup) ses)))
|
||||
++ our-host `hart`[& ~ %& /org/urbit/(rsh 3 1 (scot %p our))]
|
||||
:: [| [~ 8.445] `/localhost] :: XX testing
|
||||
:: [| [~ 8.443] `/localhost] :: XX testing
|
||||
::
|
||||
++ ames-gram
|
||||
|=({him/ship gam/gram} (pass-note ~ %a %wont [our him] [%e -.gam] +.gam))
|
||||
@ -1620,9 +1563,28 @@
|
||||
..^$(+>- old)
|
||||
::
|
||||
++ scry
|
||||
|= {our/(unit (set monk)) ren/@tas who/ship syd/desk lot/coin tyl/path}
|
||||
^- (unit (unit (pair mark *)))
|
||||
~
|
||||
|= {fur/(unit (set monk)) ren/@tas who/ship syd/desk lot/coin tyl/path}
|
||||
^- (unit (unit cage))
|
||||
=+ our=(need hov) :: XX single home
|
||||
=+ ska=(sloy ski)
|
||||
=+ sky=|=({* *} `(unit)`=+(a=(ska +<) ?~(a ~ ?~(u.a ~ [~ u.u.a]))))
|
||||
?. ?=($$ ren) [~ ~]
|
||||
?. ?=($$ -.lot) [~ ~]
|
||||
?+ syd [~ ~]
|
||||
$host
|
||||
%- (lift (lift |=(a/hart [%hart !>(a)])))
|
||||
^- (unit (unit hart))
|
||||
?. =(our who)
|
||||
?. =([%da now] p.lot) [~ ~]
|
||||
~& [%e %scry-foreign-host who]
|
||||
~ :: XX add non-scry binding to $hat gram
|
||||
=. p.lot ?.(=([%da now] p.lot) p.lot [%tas %real])
|
||||
?+ p.lot [~ ~]
|
||||
{$tas $fake} ``[& [~ 8.443] %& /localhost] :: XX from unix
|
||||
{$tas $real}
|
||||
``~(our-host ye [`duct`~[/] [now eny our sky] ~] bol)
|
||||
==
|
||||
==
|
||||
::
|
||||
++ stay `bolo`+>-.$
|
||||
++ take :: accept response
|
||||
|
@ -1691,7 +1691,7 @@
|
||||
=- (flaw cof leaf+"{<p.cay>} data with bad diff" -)
|
||||
[>type=p.q.coy< >want=p:!>(*(urge cord))< ~]
|
||||
=+ pac=(role (lurk (lore u.txt) u.dif))
|
||||
(fine cof `gage`[%& p.cay [%atom %t ~] (end 3 (dec (met 3 pac)) pac)])
|
||||
(fine cof `gage`[%& p.cay [%atom %t ~] pac])
|
||||
::
|
||||
%+ cope (fang cof p.cay)
|
||||
|= {cof/cafe pro/vase}
|
||||
|
@ -4819,6 +4819,38 @@
|
||||
$(i +(i), tez t.tez, our i.tez)
|
||||
$(i +(i), tez t.tez, our (cat 3 (cat 3 our 10) i.tez))
|
||||
::
|
||||
++ lune :: cord by unix line
|
||||
~/ %lune
|
||||
|= txt/@t
|
||||
?~ txt
|
||||
^- (list @t) ~
|
||||
=+ [byt=(rip 3 txt) len=(met 3 txt)]
|
||||
=| {lin/(list @t) off/@}
|
||||
^- (list @t)
|
||||
%- flop
|
||||
|- ^+ lin
|
||||
?: =(off len)
|
||||
~| %noeol !!
|
||||
?: =((snag off byt) 10)
|
||||
?: =(+(off) len)
|
||||
[(rep 3 (scag off byt)) lin]
|
||||
%= $
|
||||
lin [(rep 3 (scag off byt)) lin]
|
||||
byt (slag +(off) byt)
|
||||
len (sub len +(off))
|
||||
off 0
|
||||
==
|
||||
$(off +(off))
|
||||
::
|
||||
++ nule :: lines to unix cord
|
||||
~/ %nule
|
||||
|= lin/(list @t)
|
||||
^- @t
|
||||
%+ can 3
|
||||
%+ turn lin
|
||||
|= t/@t
|
||||
[+((met 3 t)) (cat 3 t 10)]
|
||||
::
|
||||
++ lump :: apply patch
|
||||
|= {don/udon src/*}
|
||||
^- *
|
||||
|
10
lib/time-to-id.hoon
Normal file
10
lib/time-to-id.hoon
Normal file
@ -0,0 +1,10 @@
|
||||
:: Use lower bits of @da as hash identifier
|
||||
::
|
||||
:::: /hoon/time-to-id/lib
|
||||
::
|
||||
/? 310
|
||||
!:
|
||||
:::: ~fyr
|
||||
::
|
||||
|= a/time ^- tape
|
||||
['c' (s-co:co f:(yell a))]
|
@ -42,9 +42,9 @@
|
||||
(poke--data [`typ /web/paste/(scot %da now)] %mime / (taco txt))
|
||||
::
|
||||
++ poke-comment
|
||||
|= {pax/path txt/@t} ^+ abet
|
||||
|= {pax/path him/ship txt/@t} ^+ abet
|
||||
=. pax [%web (welp pax /comments/(scot %da now))]
|
||||
=. txt (rap 3 (scot %p src) ': ' txt ~)
|
||||
=. txt (rap 3 (scot %p him) ': ' txt ~)
|
||||
(poke--data [`%md pax] %mime / (taco txt))
|
||||
::
|
||||
++ poke--data
|
||||
|
@ -1,5 +1,5 @@
|
||||
::
|
||||
:::: /hoon/comment/write/mar
|
||||
:::: /hoon/comment/talk/mar
|
||||
::
|
||||
/? 310
|
||||
!:
|
@ -2,7 +2,7 @@
|
||||
:::: /hoon/comments/tree/mar
|
||||
::
|
||||
/? 310
|
||||
/+ react
|
||||
/+ react, time-to-id
|
||||
!:
|
||||
::::
|
||||
::
|
||||
@ -15,6 +15,7 @@
|
||||
%+ turn
|
||||
(sort all |=({a/* b/*} (lor b a)))
|
||||
|= {a/time b/manx} ^- ^json
|
||||
=. a.g.b [id+(time-to-id a) a.g.b]
|
||||
(jobe time+(jode a) body+(react-to-json:react b) ~)
|
||||
--
|
||||
++ grab |% :: convert from
|
||||
|
@ -3,16 +3,16 @@
|
||||
:::: /hoon/rss-xml/ren
|
||||
::
|
||||
/? 310
|
||||
/= sum /snip/
|
||||
/= sum /&snip&elem&/|(/elem/ /~[;div;])
|
||||
/= kid /^ (map knot {marl marl})
|
||||
/_ /snip/
|
||||
/_ /&snip&/elem/
|
||||
/$ |=({bem/beam *} [our=p.bem tub=(slag 1 (flop s.bem))])
|
||||
!:
|
||||
:::: ~fyr, ~tasfyn-partyv
|
||||
::
|
||||
~& [sum=sum kid=kid]
|
||||
::~& [sum=sum kid=kid]
|
||||
:: Link from relative path
|
||||
=+ hok=`hart`[& ~ &+/org/urbit/(rsh 3 1 (scot %p our))]
|
||||
=+ hok=.^(hart %e /(scot %p our)/host/real)
|
||||
=+ ref=|=(a/path (earn hok `(weld tub a) ~))
|
||||
:: urb:front attrs confuse RSS validators, readers
|
||||
=+ no-meta=|=(a/marl ^+(a ?~(a ~ ?.(?=($meta n.g.i.a) a $(a t.a)))))
|
||||
|
@ -22,7 +22,7 @@
|
||||
;link(type "text/css", rel "stylesheet", href "/lib/css/codemirror.css");
|
||||
;link(type "text/css", rel "stylesheet", href "/tree/main.css");
|
||||
::;link(type "text/css", rel "stylesheet", href "http://localhost:8000/docs/pub/tree/main.css");
|
||||
;link(type "application/rss+xml", rel "alternate", href "/{(spud tub)}.rss-xml");
|
||||
;link(type "application/rss+xml", rel "alternate", href "{(spud tub)}.rss-xml");
|
||||
;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js");
|
||||
;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js");
|
||||
;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/react/0.14.6/react.js");
|
||||
|
@ -340,40 +340,83 @@ module.exports = recl({
|
||||
}
|
||||
return this.props._handlePm(user);
|
||||
},
|
||||
renderSpeech: function(speech) {
|
||||
var con, x;
|
||||
renderSpeech: function(arg) {
|
||||
var app, con, exp, fat, lin, mor, tax, url, x;
|
||||
lin = arg.lin, app = arg.app, exp = arg.exp, tax = arg.tax, url = arg.url, mor = arg.mor, fat = arg.fat;
|
||||
switch (false) {
|
||||
case !((con = speech.lin) || (con = speech.app) || (con = speech.exp) || (con = speech.tax)):
|
||||
case !(con = lin || app || exp || tax):
|
||||
return con.txt;
|
||||
case !(con = speech.url):
|
||||
case !url:
|
||||
return a({
|
||||
href: con.txt,
|
||||
href: url.txt,
|
||||
target: "_blank",
|
||||
key: "speech"
|
||||
}, con.txt);
|
||||
case !(con = speech.mor):
|
||||
return con.map(this.renderSpeech);
|
||||
}, url.txt);
|
||||
case !mor:
|
||||
return mor.map(this.renderSpeech);
|
||||
case !fat:
|
||||
return [
|
||||
this.renderSpeech(fat.taf), div({
|
||||
className: "fat"
|
||||
}, this.renderTorso(fat.tor))
|
||||
];
|
||||
default:
|
||||
return "Unknown speech type:" + ((function() {
|
||||
var results;
|
||||
results = [];
|
||||
for (x in speech) {
|
||||
for (x in arguments[0]) {
|
||||
results.push(" %" + x);
|
||||
}
|
||||
return results;
|
||||
})()).join('');
|
||||
}).apply(this, arguments)).join('');
|
||||
}
|
||||
},
|
||||
renderTorso: function(arg) {
|
||||
var name, tank, text, x;
|
||||
text = arg.text, tank = arg.tank, name = arg.name;
|
||||
switch (false) {
|
||||
case text == null:
|
||||
return text;
|
||||
case tank == null:
|
||||
return pre({}, tank.join("\n"));
|
||||
case name == null:
|
||||
return [name.nom, ": ", this.renderTorso(name.mon)];
|
||||
default:
|
||||
return "Unknown torso:" + ((function() {
|
||||
var results;
|
||||
results = [];
|
||||
for (x in arguments[0]) {
|
||||
results.push(" %" + x);
|
||||
}
|
||||
return results;
|
||||
}).apply(this, arguments)).join('');
|
||||
}
|
||||
},
|
||||
classesInSpeech: function(arg) {
|
||||
var app, exp, fat, lin, mor, url;
|
||||
url = arg.url, exp = arg.exp, app = arg.app, lin = arg.lin, mor = arg.mor, fat = arg.fat;
|
||||
switch (false) {
|
||||
case !url:
|
||||
return "url";
|
||||
case !exp:
|
||||
return "exp";
|
||||
case !app:
|
||||
return "say";
|
||||
case !lin:
|
||||
return {
|
||||
say: lin.say === false
|
||||
};
|
||||
case !mor:
|
||||
return mor != null ? mor.map(this.classesInSpeech) : void 0;
|
||||
case !fat:
|
||||
return this.classesInSpeech(fat.taf);
|
||||
}
|
||||
},
|
||||
render: function() {
|
||||
var attachments, aude, audi, className, delivery, mainStation, name, ref1, speech, thought, type;
|
||||
var aude, audi, className, delivery, mainStation, name, speech, thought, type;
|
||||
thought = this.props.thought;
|
||||
delivery = _.uniq(_.pluck(thought.audience, "delivery"));
|
||||
speech = thought.statement.speech;
|
||||
attachments = [];
|
||||
while (speech.fat != null) {
|
||||
attachments.push(pre({}, speech.fat.tor.tank.join("\n")));
|
||||
speech = speech.fat.taf;
|
||||
}
|
||||
if (speech == null) {
|
||||
return;
|
||||
}
|
||||
@ -385,17 +428,8 @@ module.exports = recl({
|
||||
mainStation = window.util.mainStationPath(window.urb.user);
|
||||
type = indexOf.call(aude, mainStation) >= 0 ? 'private' : 'public';
|
||||
className = clas('gram', (this.props.sameAs ? "same" : "first"), (delivery.indexOf("received") !== -1 ? "received" : "pending"), {
|
||||
say: ((ref1 = speech.lin) != null ? ref1.say : void 0) === false,
|
||||
url: speech.url,
|
||||
'new': this.props.unseen
|
||||
}, (function() {
|
||||
switch (false) {
|
||||
case speech.app == null:
|
||||
return "say";
|
||||
case speech.exp == null:
|
||||
return "exp";
|
||||
}
|
||||
})());
|
||||
}, this.classesInSpeech(speech));
|
||||
return div({
|
||||
className: className,
|
||||
'data-index': this.props.index,
|
||||
@ -425,10 +459,7 @@ module.exports = recl({
|
||||
}, this.convTime(thought.statement.date))), div({
|
||||
className: "speech",
|
||||
key: "speech"
|
||||
}, this.renderSpeech(speech), attachments.length ? div({
|
||||
className: "fat",
|
||||
key: "fat"
|
||||
}, attachments) : void 0));
|
||||
}, this.renderSpeech(speech)));
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -53,7 +53,7 @@ module.exports = {
|
||||
if (path[0] !== "/") {
|
||||
path = "/" + path;
|
||||
}
|
||||
return TreePersistence.put("write-comment", path, text);
|
||||
return TreePersistence.put("talk-comment", path, text);
|
||||
},
|
||||
setCurr: function(path) {
|
||||
return TreeDispatcher.handleViewAction({
|
||||
@ -1804,12 +1804,14 @@ module.exports = {
|
||||
});
|
||||
},
|
||||
put: function(mark, pax, txt) {
|
||||
var appl;
|
||||
appl = /[a-z]*/.exec(mark)[0];
|
||||
return urb.send({
|
||||
pax: pax,
|
||||
txt: txt
|
||||
}, {
|
||||
mark: mark,
|
||||
appl: 'hood'
|
||||
appl: appl
|
||||
});
|
||||
},
|
||||
encode: function(obj) {
|
||||
|
Loading…
Reference in New Issue
Block a user