This commit is contained in:
Galen Wolfe-Pauly 2014-11-11 11:55:28 -08:00
parent ee8e945e7f
commit 8e42793116
11 changed files with 30899 additions and 181 deletions

View File

@ -11,7 +11,9 @@
++ idad ,[p=@p q=@t]
++ iron
$% [%zongs p=(list zong)]
[%users p=(list idad)]
[%users p=users]
[%hymn p=manx] :: HTML format
[%json p=json] :: JSON format
==
++ gift
$% [%mean ares]
@ -33,174 +35,154 @@
[%nice ~]
$: %rush
$= p
$% [%user q=user]
[%zong q=zong]
$% [%user p=user]
[%zong p=zong]
== ==
$: %rust
$= p
$% [%users q=users]
[%zongs q=(list zong)]
$% [%users p=users]
[%zongs p=(list zong)]
== ==
== == ==
++ station
$: msg=(list zong)
sub=(unit bone)
new=(unit ,[p=@da q=bone])
tim=@da
ami=(set idad)
==
++ station
$: msg=(list zong)
sub=(unit bone)
ami=(set idad)
==
--
|_ [hid=hide axle]
++ grab
|= sta=path
(fall (~(get by air) sta) *station)
::
++ since
|= [ya=msg=(list zong) tim=@da]
|- ^- (list zong)
?: |(?=(~ msg.ya) (lth p.i.msg.ya tim)) ~
[i.msg.ya $(msg.ya t.msg.ya)]
::
++ peer
|= [ost=bone you=ship pax=path]
^- [(list move) _+>]
=+ sta=*path
|- ^- [(list move) _+>.^$]
:_ +>.$
?: ?=(~ pax)
[~ +>.^$]
?. ?=(~ +.pax)
$(sta `path`[-.pax sta], pax `path`+.pax)
=. sta (flop sta)
=+ ya=(grab sta)
:: ~& [%peer ami.ya msg.ya]
?+ -.pax [~ +>.^$]
%amigos [[ost %give %rust %users (~(tap in ami.ya))]~ +>.^$]
[ost %give %rust %hymn page]~
=+ ya=(grab t.pax)
?+ i.pax !!
%amigos
[ost %give %rust %users (~(tap in ami.ya))]~
%mensajes
?~ sub.ya
[~ +>.^$(air (~(put by air) sta ya(new `[tim.ya ost])))]
:_ +>.^$
[ost %give %rust %zongs (since msg.ya tim.ya)]~
[ost %give %rust %zongs msg.ya]~
==
++ page
^- manx
;html
;head
;title: Radio
;script(type "text/javascript", src "//use.typekit.net/fkv0sjk.js");
;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js");
;script:'''
try{Typekit.load();}catch(e){}
'''
;link(rel "stylesheet", type "text/css", href "/gen/main/pub/src/chat/main.css");
==
;body
;div#c;
;script(type "text/javascript", src "/gen/main/lib/urb.js");
;script(type "text/javascript", src "/gen/main/pub/src/chat/main.js");
==
==
::
++ poke-zung
|= [ost=bone you=ship zug=zung]
^- [(list move) _+>]
:: ~& [%poke-zung ost you zug]
?. =(you our.hid)
[[ost %give %mean ~ %no-sos-mi-amigo ~]~ +>.$]
?- -.zug
%backlog
=+ ya=(grab p.zug)
:_ +>.$
:- [ost %give %nice ~]
%^ yend you (welp p.zug /mensajes)
:* %give %rust %zongs
?: ?=(%ud q.zug)
%+ scag r.zug
msg.ya
=+ ^= tim ?-(q.zug %da r.zug, %dr (sub lat.hid r.zug))
(since msg.ya tim)
==
::
%hola
=+ ^= zag ^- move
:* ost %pass [%mess (scot %ud ost) ~] %g
%mess [pad %radio ~] our.hid %zing !>(zug)
==
=+ ya=(grab p.zug)
=. tim.ya lat.hid
=. air (~(put by air) p.zug ya)
?^ sub.ya [~[zag] +>.$]
:_ +>.$(air (~(put by air) p.zug ya(sub `ost)))
:~ zag
=+ pax=(welp p.zug /mensajes)
[ost %pass [%show pax] %g %show [pad %radio ~] you pax]
=+ pax=(welp p.zug /amigos)
[ost %pass [%show pax] %g %show [pad %radio ~] you pax]
==
::
%mess
:_ +>.$ :_ ~
:* ost %pass [%mess (scot %ud ost) ~] %g
%mess [pad %radio ~] our.hid %zing !>(zug)
~& [%send-mess zug]
:_ +>.$ :_ ~
:* ost %pass /mesg %g
%mess [pad %radio ~] you %zing !>(zug)
==
::
%tint
[[ost %give %nice ~]~ +>.$(pad p.zug, air ?:(=(pad p.zug) air ~))]
%init
=+ ya=(grab q.zug)
?: =(sub.ya ~)
=. pad p.zug
=. sub.ya `ost
=. air (~(put by air) q.zug ya)
:_ +>.$
:~
:* ost %pass radi-m/q.zug %g
%show [[p.zug /radio] you mensajes/q.zug]
==
:* ost %pass radi-a/q.zug %g
%show [[p.zug /radio] you amigos/q.zug]
==
==
[[ost %give %nice ~]~ +>.$]
==
::
++ pull
|= ost=bone
^- [(list move) _+>]
?: ?=([* ~ ~] sup.hid)
:_ +>.$(pad *@p, air ~)
%- ^zing %+ turn (~(tap by air))
|= [pax=path sta=station]
?~ sub.sta
~
:~ [u.sub.sta %pass radi-a/pax %g %nuke [[pad /radio] our.hid]]
[u.sub.sta %pass radi-m/pax %g %nuke [[pad /radio] our.hid]]
==
[~ +>.$]
::
++ pour
|= [ost=bone pax=path sih=sign]
^- [(list move) _+>]
:: =+ sih=((hard sign) sih)
:: ~& [%chat-pour sih]
?. ?=([@ *] pax) ~& %chat-pour-strange-path !!
?> ?=(%g -.sih)
?~ pax ~& %chat-pour-strange-path !!
~& [%pour-mess pax]
?+ i.pax ~& %chat-pour-strange-path !!
%mess
?> ?=([@ @ ~] pax)
%mesg
?> ?=(?(%mean %nice) +<.sih)
[[(slav %ud i.t.pax) %give +.sih]~ +>.$]
[[ost %give +.sih]~ +>.$]
::
%show
=+ rax=(scag (dec (lent t.pax)) t.pax)
=+ ya=(grab rax)
?~ sub.ya [~ +>.$]
:: ~& [%pour-show lat.hid tim.ya]
?(%radi-a %radi-m)
?: ?=(?(%nice %mean) +<.sih)
:_ +>.$
?: ?=(%radi-a i.pax) ~
[ost %give +.sih]~
=+ ya=(grab t.pax)
=. ya
?: ?=(?(%nice %mean) +<.sih) ya
^+ ya
?+ `@tas`(snag (dec (lent t.pax)) t.pax) ~& %pour-strange-show ya
%amigos
?- i.pax
%radi-a
%_ ya
ami
^- (set idad)
?- +<.sih
%rust ?>(?=(%users -.p.sih) (sa q.p.sih))
%rust ?>(?=(%users -.p.sih) (sa p.p.sih))
%rush
?> ?=(%user -.p.sih)
?- -.q.p.sih
%in (~(put in ami.ya) p.q.p.sih)
%out (~(del in ami.ya) p.q.p.sih)
?- -.p.p.sih
%in (~(put in ami.ya) p.p.p.sih)
%out (~(del in ami.ya) p.p.p.sih)
==
==
==
%mensajes
^+ ya
%radi-m
%_ ya
msg
^- (list zong)
?- +<.sih
%rush ?>(?=(%zong -.p.sih) [q.p.sih msg.ya])
%rust ?>(?=(%zongs -.p.sih) q.p.sih)
%rush ?>(?=(%zong -.p.sih) [p.p.sih msg.ya])
%rust ?>(?=(%zongs -.p.sih) p.p.sih)
==
==
==
?: &(?=(^ +>.sih) [?=([%rust %zongs] .)]:[+<.sih +>-.sih] .?(new.ya))
:_ +>.$(air (~(put by air) rax ya(new ~)))
=+ new=(need new.ya)
[q.new %give %rust %zongs (since msg.ya p.new)]~
?: (gth ~m2 (sub lat.hid tim.ya))
:- (send t.pax %give +.sih)
+>.$(air (~(put by air) rax ya))
:- :- [u.sub.ya %pass [%show (welp rax /mensajes)] %g %nuke [pad %radio ~] our.hid]
:_ (send t.pax %give +.sih)
[u.sub.ya %pass [%show (welp rax /amigos)] %g %nuke [pad %radio ~] our.hid]
+>.$(air (~(put by air) rax ya(sub ~)))
=+ ^= pout ?:(=(i.pax %radi-a) %amigos %mensajes)
:_ +>.$(air (~(put by air) t.pax ya))
(send [pout t.pax] %give +.sih)
==
::
++ send
|= [pax=path msg=(mold note gift)]
^- (list move)
~& [%send pus.hid]
%+ turn (~(tap in (~(get ju pus.hid) pax)))
|=(ost=bone [ost msg])
::
++ yend
|= [you=ship sta=path msg=(mold note gift)]
^- (list move)
%+ turn
%+ skim (~(tap in (~(get ju pus.hid) sta)))
|= b=bone =(you p:(fall (~(get by sup.hid) b) *(pair ship path)))
|= b=bone
:- b msg
--

View File

@ -2,13 +2,12 @@
!:
=> |%
++ axle
$% [%0 p=(map path ,[p=(list zong) q=(map ship feel)])]
$% [%0 p=(map path ,[p=(list zong) q=(map ship ,?)])]
==
++ blitz
$% [%zong p=zong]
[%user p=user]
==
++ feel ,[liv=? tim=@da]
++ iron
$% [%zongs p=(list zong)]
[%users p=users]
@ -25,7 +24,7 @@
|_ [hid=hide vat=axle]
++ grab
|= sta=path
(fall (~(get by p.vat) sta) *[p=(list zong) q=(map ship feel)])
(fall (~(get by p.vat) sta) *[p=(list zong) q=(map ship ,?)])
::
++ ident
|= you=ship
@ -35,74 +34,52 @@
++ peer
|= [ost=bone you=ship pax=path]
^- [(list move) _+>]
:: ~& [%radio-peer ost you pax]
:_ +>.$
=+ sta=*path
|- ^- (list move)
?: ?=(~ pax)
~
?. ?=(~ +.pax)
$(sta `path`[-.pax sta], pax `path`+.pax)
=. sta (flop sta)
=+ ya=(grab sta)
?+ -.pax ~
?~ pax
[[ost %give %mean ~ %radio-bad-path ~]~ +>.$]
=+ ya=(grab t.pax)
?+ -.pax [~ +>.$]
%mensajes
:_ ~
[ost %give %rust %zongs p.ya]
[[ost %give %rust %zongs p.ya]~ +>.$]
%amigos
:_ ~
=. q.ya (~(put by q.ya) you %.y)
:_ +>.$(p.vat (~(put by p.vat) t.pax ya))
:_ (send pax %give %rush %user %in you (ident you))
:* ost %give %rust %users
%+ turn
%+ skim (~(tap by q.ya))
|= [ship [p=? @da]] p
|= [p=ship [? @da]] [p (ident p)]
%+ murn (~(tap by q.ya))
|= [shi=ship liv=?]
?. liv
~
(some [shi (ident shi)])
==
==
::
++ poke-zing
|= [ost=bone you=ship zig=zing]
^- [(list move) _+>]
:: ~& [%poke-zing ost you zig]
?- -.zig
%hola
=+ ya=(grab p.zig)
=^ outs q.ya
%+ ~(rib by q.ya) *(list move)
|= [p=[p=ship q=feel] q=(list move)]
=+ liv=(gth ~m3 (sub lat.hid tim.q.p))
:_ [p.p liv tim.q.p]
?: |(liv !liv.q.p) q
%- welp :_ q
(send (welp p.zig /amigos) %give %rush %user %out p.p (ident p.p))
=. p.vat (~(put by p.vat) p.zig [p.ya (~(put by q.ya) you [& lat.hid])])
:_ +>.$
:- [ost %give %nice ~]
=+ yel=(~(get by q.ya) you)
?. |(?=(~ yel) !liv.u.yel) outs
%+ welp outs
(send (welp p.zig /amigos) %give %rush %user %in you (ident you))
%mess
=+ ya=(grab p.zig)
?. (~(has by q.ya) you)
[[ost %give %mean ~ %no-te-conozco ~]~ +>.$]
=+ zog=`zong`[%mess lat.hid you q.zig]
=. p.vat (~(put by p.vat) p.zig [[zog p.ya] q.ya])
:_ +>.$
:- [ost %give %nice ~]
(send (welp p.zig /mensajes) %give %rush %zong zog)
==
=+ ya=(grab p.zig)
?. (~(has by q.ya) you)
[[ost %give %mean ~ %no-te-conozco ~]~ +>.$]
=+ zog=`zong`[%mess lat.hid you q.zig]
=. p.vat (~(put by p.vat) p.zig [[zog p.ya] q.ya])
:_ +>.$
:- [ost %give %nice ~]
(send mensajes/p.zig %give %rush %zong zog)
::
++ pull
|= ost=bone
^- [(list move) _+>]
=+ ^- [his=ship pax=path] (~(got by sup.hid) ost)
?. ?=([%mensajes *] pax)
[~ +>.$]
=+ sta=(~(got by p.vat) pax)
=. q.sta %+ ~(put by q.sta) his %.n
=. p.vat %+ ~(put by p.vat) pax sta
[(send amigos/pax %give %rush %user %out his (ident his)) +>.$]
::
++ send
|= [pax=path msg=(mold note gift)]
^- (list move)
~& [%radi-sub pus.hid]
%+ turn (~(tap in (~(get ju pus.hid) pax)))
|=(ost=bone [ost msg])
++ yend
|= [you=ship sta=path msg=(mold note gift)]
^- (list move)
%+ turn
%+ skim (~(tap in (~(get ju pus.hid) sta)))
|= b=bone =(you p:(fall (~(get by sup.hid) b) *(pair ship path)))
|= b=bone
:- b msg
--

View File

@ -9,4 +9,10 @@
|%
++ noun user :: clam from %noun
--
++ grow
|%
++ json
%- jobe
~[[%dir [%s -.use]] [%ship (jape <p.p.use>)] [%name [%s q.p.use]]]
--
--

View File

@ -3,10 +3,26 @@
::
/? 314
/- users
!:
|_ use=users
::
++ grab :: convert from
|%
++ noun users :: convert from %noun
--
++ grow
|%
++ json
%+ joba
%users
:- %a
%+ turn
use
|=
[p=@p q=@t]
%- jobe
~[[%ship (jape <p>)] [%name [%s q]]]
++ mime
[/text/json (tact (pojo json))]
--
--

View File

@ -3,10 +3,32 @@
::
/? 314
/- zong
!:
|_ zog=zong
::
++ grab :: convert from
|%
++ noun zong :: clam from %noun
--
++ grow
|%
++ json
=. p.zog
(lsh 6 1 (rsh 6 1 p.zog)) :: round off subsecond
%- jobe
:~
[%time (jape <p.zog>)]
[%auth (jape <q.zog>)]
:- %mess
%+ joba -.r.zog
?- -.r.zog
%do
[%s p.r.zog]
%say
[%s p.r.zog]
%exp
[%a [%s p.r.zog] (turn (wash 0^80 q.r.zog) jape)]
==
==
--
--

View File

@ -1,8 +1,9 @@
::
:::: /hoon/core/zing/mar
:::: /hoon/core/zongs/mar
::
/? 314
/- zong
!:
|_ zos=(list zong)
::
++ grab :: convert from
@ -21,7 +22,7 @@
;body ;table
;* %+ turn (flop zos)
|= zog=zong
=. p.zog (lsh 6 1 (rsh 6 1 p.zog)) :: round off subsecond
=. p.zog (lsh 6 1 (rsh 6 1 p.zog)) :: round off subsecond
;tr ;td: {<p.zog>}
;td: {<q.zog>}
;+ ?- -.r.zog
@ -36,9 +37,36 @@
== ==
== ==
== ==
++ json
%- jobe
:~
:- %mensajes
:- %a
%+ turn
(flop zos)
|=
zog=zong
=. p.zog
(lsh 6 1 (rsh 6 1 p.zog)) :: round off subsecond
%- jobe
:~
[%time (jape <p.zog>)]
[%auth (jape <q.zog>)]
:- %mess
%+ joba -.r.zog
?- -.r.zog
%do
[%s p.r.zog]
%say
[%s p.r.zog]
%exp
[%a [%s p.r.zog] (turn (wash 0^80 q.r.zog) jape)]
==
==
==
++ html
(crip (poxo hymn))
++ mime
[/text/html (taco html)]
[/text/json (tact (pojo json))]
--
--

View File

@ -3,11 +3,32 @@
::
/? 314
/- zung
!:
|_ zig=zung
::
++ grab :: convert from
|%
++ noun zung :: clam from %noun
++ json
|= jon=^json
^- zung
%- need %. jon
=> jo
%- of :~
:- %mess
%- at :~
(su ;~(pfix fas (more fas sym)))
%- of :~
[%do so]
[%say so]
==
==
:- %init
%- at :~
(su fed:ag)
(su ;~(pfix fas (more fas sym)))
==
==
--
--

137
main/pub/src/chat/main.css Normal file
View File

@ -0,0 +1,137 @@
@font-face {
font-family: "bau";
src: url("http://office-for.com/lib/etc/bau/bauregular.otf");
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: "bau";
src: url("http://office-for.com/lib/etc/bau/bauregularitalic.otf");
font-weight: 400;
font-style: italic;
}
@font-face {
font-family: "bau";
src: url("http://office-for.com/lib/etc/bau/baumedium.otf");
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: "bau";
src: url("http://office-for.com/lib/etc/bau/baumediumitalic.otf");
font-weight: 500;
font-style: italic;
}
@font-face {
font-family: "bau";
src: url("http://office-for.com/lib/etc/bau/baubold.otf");
font-weight: 600;
font-style: normal;
}
@font-face {
font-family: "bau";
src: url("http://office-for.com/lib/etc/bau/baubolditalic.otf");
font-weight: 600;
font-style: italic;
}
.ship,
.author,
.time,
#length {
font-family: source-code-pro;
}
#length,
.time {
font-size: 0.6rem;
letter-spacing: 0;
color: #cecece;
}
.ship,
.author,
#station {
font-size: 0.7rem;
font-weight: 200;
}
html,
body {
font-family: "bau";
font-size: 18px;
}
body {
background-color: #fefefe;
padding: 0;
margin: 0;
}
#c {
width: 42rem;
position: absolute;
left: 50%;
top: 0;
margin-left: -21rem;
background-color: #fff;
height: 100%;
}
#station-container {
left: 0;
}
#station .member div {
display: inline-block;
}
#messages .message .time {
opacity: 0;
}
#messages .message:last-child .time,
#messages .message:hover .time {
opacity: 1;
}
#station .member .ship,
#messages .message .author {
width: 4rem;
}
.member {
width: 12rem;
margin: 0.3rem 0.6rem 0.3rem 0;
}
#messages {
width: 32rem;
margin-bottom: 2rem;
height: auto;
}
.message {
margin-top: 0.6rem;
}
.attr > div {
display: inline;
}
.attr .author {
margin-right: 0.6rem;
}
.mess {
letter-spacing: 0.03rem;
}
#writing-container {
bottom: 4rem;
margin-bottom: 1rem;
}
.writing .ship {
width: 4rem;
}
.writing #length {
display: inline;
margin-left: 1rem;
margin-top: 1.2rem;
}
#writing {
display: inline-block;
outline: none;
height: 1rem;
padding: 1rem 0.6rem;
margin-left: -0.6rem;
background-color: #f9f9f9;
}
#writing:focus {
background-color: #eee;
}
.pending {
color: #ccc;
}

30532
main/pub/src/chat/main.js Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,6 @@
$% [%hola p=path]
$: %mess p=path
$: %mess p=path
$= q
$% [%do p=@t]
[%exp p=@t q=tank]
[%say p=@t]
== == ==
== ==

View File

@ -1,10 +1,8 @@
$% [%backlog p=path q=?(%da %dr %ud) r=@]
[%hola p=path]
$: %mess p=path
$% $: %mess p=path
$= q
$% [%do p=@t]
[%exp p=@t q=tank]
[%say p=@t]
== ==
[%tint p=ship]
==
[%init p=ship q=path]
==