mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-11-29 12:15:43 +03:00
rename lib/react to lib/elem-to-react-json
This commit is contained in:
parent
b11f924b4e
commit
ed1525d893
74
lib/elem-to-react-json.hoon
Normal file
74
lib/elem-to-react-json.hoon
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
::
|
||||||
|
:::: /hoon/elem-to-react-json/lib
|
||||||
|
::
|
||||||
|
/? 310
|
||||||
|
|%
|
||||||
|
++ react-attrs
|
||||||
|
~+ ^- (map term cord)
|
||||||
|
%- molt ^- (list (pair term cord))
|
||||||
|
:- [%class 'className']
|
||||||
|
=- (rash - (more next (cook |=(a/tape [(cass a) (crip a)]) (star alf))))
|
||||||
|
'''
|
||||||
|
accept acceptCharset accessKey action allowFullScreen allowTransparency alt
|
||||||
|
async autoComplete autoFocus autoPlay cellPadding cellSpacing charSet checked
|
||||||
|
classID className colSpan cols content contentEditable contextMenu controls
|
||||||
|
coords crossOrigin data dateTime defer dir disabled download draggable encType
|
||||||
|
form formAction formEncType formMethod formNoValidate formTarget frameBorder
|
||||||
|
headers height hidden high href hrefLang htmlFor httpEquiv icon id label lang
|
||||||
|
list loop low manifest marginHeight marginWidth max maxLength media mediaGroup
|
||||||
|
method min multiple muted name noValidate open optimum pattern placeholder
|
||||||
|
poster preload radioGroup readOnly rel required role rowSpan rows sandbox
|
||||||
|
scope scoped scrolling seamless selected shape size sizes span spellCheck
|
||||||
|
src srcDoc srcSet start step style tabIndex target title type useMap value
|
||||||
|
width wmode
|
||||||
|
'''
|
||||||
|
::
|
||||||
|
++ urb-codemirror :: reactify <pre urb:codemirror>foo</pre>
|
||||||
|
|= src/manx ^- manx
|
||||||
|
?> ?=({{$pre *} _;/(**) $~} src)
|
||||||
|
;codemirror(value "{v.i.a.g.i.c.src}");
|
||||||
|
::
|
||||||
|
++ urb-exec :: reactify <pre urb:exec>foo</pre>
|
||||||
|
|= src/manx
|
||||||
|
?> ?=({{$pre *} _;/(**) $~} src) :: verify its only a text node
|
||||||
|
=* code v.i.a.g.i.c.src
|
||||||
|
=+ =< result=(mule .)
|
||||||
|
!.(|.((slap !>(.) (ream (crip code))))) :: compile and run safely
|
||||||
|
=+ claz=?-(-.result $& "rancode", $| "failedcode")
|
||||||
|
;div(class "{claz}")
|
||||||
|
;pre:"{code}"
|
||||||
|
;+ ?- -.result
|
||||||
|
$& ;code:"{~(ram re (sell p.result))}"
|
||||||
|
$| ;pre
|
||||||
|
;div:"error"
|
||||||
|
;* %+ turn p.result
|
||||||
|
|= a/tank
|
||||||
|
^- manx
|
||||||
|
;div:"{~(ram re a)}"
|
||||||
|
== == ==
|
||||||
|
::
|
||||||
|
++ elem-to-react-json
|
||||||
|
|= src/manx ^- json
|
||||||
|
?: ?=(_;/(**) src)
|
||||||
|
(jape v.i.a.g.src)
|
||||||
|
=+ atr=(molt `(list (pair mane tape))`a.g.src)
|
||||||
|
?: (~(has by atr) [%urb %codemirror])
|
||||||
|
$(src (urb-codemirror src))
|
||||||
|
?: (~(has by atr) [%urb %exec]) :: runnable code attribute tag
|
||||||
|
$(src (urb-exec src))
|
||||||
|
%- jobe :~
|
||||||
|
c+a+(turn c.src ..$)
|
||||||
|
gn+s+(mane-to-cord n.g.src)
|
||||||
|
=< ga+(jobe (turn a.g.src .))
|
||||||
|
|= {a/mane b/tape} ^- {cord json}
|
||||||
|
:_ (jape b)
|
||||||
|
?^ a (mane-to-cord a)
|
||||||
|
(fall (~(get by react-attrs) a) a)
|
||||||
|
==
|
||||||
|
::
|
||||||
|
++ mane-to-cord |=(a/mane `cord`?@(a a (rap 3 -.a ':' +.a ~)))
|
||||||
|
--
|
||||||
|
::
|
||||||
|
::::
|
||||||
|
::
|
||||||
|
elem-to-react-json
|
137
lib/react.hoon
137
lib/react.hoon
@ -1,137 +0,0 @@
|
|||||||
::
|
|
||||||
:::: /hoon/react/lib
|
|
||||||
::
|
|
||||||
/? 310
|
|
||||||
|%
|
|
||||||
++ react-elems :: XX /~
|
|
||||||
~+ %- silt ^- (list term)
|
|
||||||
:~ %a %abbr %address %area %article %aside %audio %b %base
|
|
||||||
%bdi %bdo %big %blockquote %body %br %button %canvas %caption
|
|
||||||
%cite %code %col %colgroup %data %datalist %dd %del %details
|
|
||||||
%dfn %dialog %div %dl %dt %em %embed %fieldset %figcaption
|
|
||||||
%figure %footer %form %h1 %h2 %h3 %h4 %h5 %h6 %head %header
|
|
||||||
%hr %html %i %iframe %img %input %ins %kbd %keygen %label
|
|
||||||
%legend %li %link %main %map %mark %menu %menuitem %meta
|
|
||||||
%meter %nav %noscript %object %ol %optgroup %option %output %p
|
|
||||||
%param %picture %pre %progress %q %rp %rt %ruby %s %samp
|
|
||||||
%script %section %select %small %source %span %strong %style
|
|
||||||
%sub %summary %sup %table %tbody %td %textarea %tfoot %th
|
|
||||||
%thead %time %title %tr %track %u %ul %var %video %wbr
|
|
||||||
%circle %defs %ellipse %g %line %linear-gradient %mask %path
|
|
||||||
%pattern %polygon %polyline %radial-gradient %rect %stop %svg
|
|
||||||
%text %tspan
|
|
||||||
==
|
|
||||||
++ react-attrs
|
|
||||||
~+ ^- (map term cord)
|
|
||||||
%- molt ^- (list (pair term cord))
|
|
||||||
:- [%class 'className']
|
|
||||||
=- (rash - (more next (cook |=(a/tape [(cass a) (crip a)]) (star alf))))
|
|
||||||
'''
|
|
||||||
accept acceptCharset accessKey action allowFullScreen allowTransparency alt
|
|
||||||
async autoComplete autoFocus autoPlay cellPadding cellSpacing charSet checked
|
|
||||||
classID className colSpan cols content contentEditable contextMenu controls
|
|
||||||
coords crossOrigin data dateTime defer dir disabled download draggable encType
|
|
||||||
form formAction formEncType formMethod formNoValidate formTarget frameBorder
|
|
||||||
headers height hidden high href hrefLang htmlFor httpEquiv icon id label lang
|
|
||||||
list loop low manifest marginHeight marginWidth max maxLength media mediaGroup
|
|
||||||
method min multiple muted name noValidate open optimum pattern placeholder
|
|
||||||
poster preload radioGroup readOnly rel required role rowSpan rows sandbox
|
|
||||||
scope scoped scrolling seamless selected shape size sizes span spellCheck
|
|
||||||
src srcDoc srcSet start step style tabIndex target title type useMap value
|
|
||||||
width wmode
|
|
||||||
'''
|
|
||||||
++ react-vale
|
|
||||||
~(has in react-elems)
|
|
||||||
::
|
|
||||||
++ react-to-json
|
|
||||||
|= src/manx ^- json
|
|
||||||
?: ?=(_;/(**) src)
|
|
||||||
(jape v.i.a.g.src)
|
|
||||||
=+ atr=(molt `(list (pair mane tape))`a.g.src)
|
|
||||||
?: (~(has by atr) [%urb %codemirror])
|
|
||||||
?> ?=({{$pre *} _;/(**) $~} src)
|
|
||||||
=. a.g.src
|
|
||||||
[value+v.i.a.g.i.c.src (skip a.g.src |=({a/mane *} ?=(^ a)))]
|
|
||||||
$(src [[%codemirror a.g.src] ~])
|
|
||||||
?: (~(has by atr) [%urb %exec]) :: runnable code attribute tag
|
|
||||||
?> ?=({{$pre *} _;/(**) $~} src) :: verify its only a text node
|
|
||||||
=* code v.i.a.g.i.c.src
|
|
||||||
%_ $
|
|
||||||
src
|
|
||||||
=+ =< result=(mule .)
|
|
||||||
!.(|.((slap !>(.) (ream (crip code))))) :: compile and run safely
|
|
||||||
=+ claz=?:(-.result "rancode" "failedcode")
|
|
||||||
;div(class "{claz}")
|
|
||||||
;pre:"{code}"
|
|
||||||
;+ ?: ?=($& -.result)
|
|
||||||
;code:"{~(ram re (sell p.result))}"
|
|
||||||
;pre
|
|
||||||
;div:"error"
|
|
||||||
;* %+ turn p.result
|
|
||||||
|= a/tank
|
|
||||||
^- manx
|
|
||||||
;div:"{~(ram re a)}"
|
|
||||||
== ==
|
|
||||||
==
|
|
||||||
%- jobe :~
|
|
||||||
c+a+(turn c.src ..$)
|
|
||||||
gn+s+(mane-to-cord n.g.src)
|
|
||||||
=< ga+(jobe (turn a.g.src .))
|
|
||||||
|= {a/mane b/tape} ^- {cord json}
|
|
||||||
:_ (jape b)
|
|
||||||
?^ a (mane-to-cord a)
|
|
||||||
(fall (~(get by react-attrs) a) a)
|
|
||||||
==
|
|
||||||
::
|
|
||||||
++ mane-to-cord |=(a/mane `cord`?@(a a (rap 3 -.a ':' +.a ~)))
|
|
||||||
:: generates React javascript XX deprecated
|
|
||||||
++ react-to-tape
|
|
||||||
|= src/manx ^- tape
|
|
||||||
?: (~(has by (molt `(list (pair mane tape))`a.g.src)) [%urb %codemirror])
|
|
||||||
?> ?=({{$pre *} _;/(**) $~} src)
|
|
||||||
$(src ;codemirror(value "{v.i.a.g.i.c.src}");)
|
|
||||||
?: (~(has by (molt `(list (pair mane tape))`a.g.src)) [%urb %exec])
|
|
||||||
?> ?=({{$pre *} _;/(**) $~} src) :: verify its only a text node
|
|
||||||
=* code v.i.a.g.i.c.src
|
|
||||||
=+ ^= result
|
|
||||||
(mule |.((slap !>(.) (ream (crip code))))) :: compile and run safely
|
|
||||||
?: ?=($.y -.result) :: it was ok
|
|
||||||
=+ ^= new
|
|
||||||
;div(class "rancode")
|
|
||||||
;pre:"{code}"
|
|
||||||
;code:"{~(ram re (sell p.result))}"
|
|
||||||
==
|
|
||||||
$(src new)
|
|
||||||
=+ ^= error
|
|
||||||
;div(class "failedcode")
|
|
||||||
;pre:"{code}"
|
|
||||||
;pre
|
|
||||||
;div:"error"
|
|
||||||
;* %+ turn
|
|
||||||
(scag (dec (lent p.result)) p.result) :: hide react trace
|
|
||||||
|= a/tank
|
|
||||||
^- manx
|
|
||||||
;div:"{~(ram re a)}"
|
|
||||||
==
|
|
||||||
==
|
|
||||||
$(src error)
|
|
||||||
;: weld
|
|
||||||
"React.createElement("
|
|
||||||
?^ n.g.src !! :: namespaces unsupported
|
|
||||||
?: (react-vale n.g.src)
|
|
||||||
"'{(trip n.g.src)}'"
|
|
||||||
(trip n.g.src)
|
|
||||||
", "
|
|
||||||
=- (pojo (jobe (turn a.g.src -)))
|
|
||||||
|= {a/mane b/tape}
|
|
||||||
=. a ?+(a a $class 'className')
|
|
||||||
?^(a !! [a (jape b)])
|
|
||||||
", "
|
|
||||||
=< ~(ram re %rose [", " "[" "]"] (turn c.src .))
|
|
||||||
|= a/manx
|
|
||||||
?: ?=(_;/(**) a)
|
|
||||||
leaf+(pojo (jape v.i.a.g.a))
|
|
||||||
leaf+^$(src a)
|
|
||||||
")"
|
|
||||||
==
|
|
||||||
--
|
|
@ -2,7 +2,7 @@
|
|||||||
:::: /hoon/comments/tree/mar
|
:::: /hoon/comments/tree/mar
|
||||||
::
|
::
|
||||||
/? 310
|
/? 310
|
||||||
/+ react, time-to-id
|
/+ elem-to-react-json, time-to-id
|
||||||
!:
|
!:
|
||||||
::::
|
::::
|
||||||
::
|
::
|
||||||
@ -16,7 +16,7 @@
|
|||||||
(sort all |=({a/* b/*} (lor b a)))
|
(sort all |=({a/* b/*} (lor b a)))
|
||||||
|= {a/time b/ship c/marl} ^- ^json
|
|= {a/time b/ship c/marl} ^- ^json
|
||||||
=+ bod=[[%div id+(time-to-id a) ~] c]
|
=+ bod=[[%div id+(time-to-id a) ~] c]
|
||||||
(jobe time+(jode a) user+(jape +:<b>) body+(react-to-json:react bod) ~)
|
(jobe time+(jode a) user+(jape +:<b>) body+(elem-to-react-json bod) ~)
|
||||||
--
|
--
|
||||||
++ grab |% :: convert from
|
++ grab |% :: convert from
|
||||||
++ noun (list {time manx}) :: clam from %noun
|
++ noun (list {time manx}) :: clam from %noun
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
:::: /hoon/index/tree/mar
|
:::: /hoon/index/tree/mar
|
||||||
::
|
::
|
||||||
/? 310
|
/? 310
|
||||||
/+ tree,react,map-to-json
|
/+ tree,map-to-json,elem-to-react-json
|
||||||
[. tree react]
|
[. tree]
|
||||||
!:
|
!:
|
||||||
::::
|
::::
|
||||||
::
|
::
|
||||||
@ -15,7 +15,7 @@
|
|||||||
%. all
|
%. all
|
||||||
%+ map-to-json
|
%+ map-to-json
|
||||||
|=(a/path (crip (spud a)))
|
|=(a/path (crip (spud a)))
|
||||||
|=(a/marl [%a (turn a react-to-json)])
|
|=(a/marl [%a (turn a elem-to-react-json)])
|
||||||
--
|
--
|
||||||
++ grab |% :: convert from
|
++ grab |% :: convert from
|
||||||
++ noun (map path marl) :: clam from %noun
|
++ noun (map path marl) :: clam from %noun
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
::
|
::
|
||||||
/? 310
|
/? 310
|
||||||
/- tree-include
|
/- tree-include
|
||||||
/+ react
|
/+ elem-to-react-json
|
||||||
/= mime /mime/
|
/= mime /mime/
|
||||||
/= body /tree-elem/
|
/= body /tree-elem/
|
||||||
/= sect /&json&/tree-index/
|
/= sect /&json&/tree-index/
|
||||||
@ -15,7 +15,7 @@
|
|||||||
/tree-comments/
|
/tree-comments/
|
||||||
!:
|
!:
|
||||||
^- tree-include
|
^- tree-include
|
||||||
=+ rj=react-to-json:react
|
=* rj elem-to-react-json
|
||||||
:* mime
|
:* mime
|
||||||
(rj body)
|
(rj body)
|
||||||
(rj /h1 hed.snip) :: head
|
(rj /h1 hed.snip) :: head
|
||||||
|
@ -15,8 +15,6 @@
|
|||||||
|= gas/epic ^- {? ?} :: check if the query
|
|= gas/epic ^- {? ?} :: check if the query
|
||||||
:- (~(has by qix.gas) 'dbg.nopack') :: dictates separate files
|
:- (~(has by qix.gas) 'dbg.nopack') :: dictates separate files
|
||||||
(~(has by qix.gas) 'dbg.nomin') :: and/or unminified assets
|
(~(has by qix.gas) 'dbg.nomin') :: and/or unminified assets
|
||||||
/= extras /: /===/ren/tree/head/extras :: additional scripts
|
|
||||||
/^ (map knot cord) /_ /js/
|
|
||||||
::
|
::
|
||||||
|%
|
|%
|
||||||
++ cdnjs
|
++ cdnjs
|
||||||
@ -47,7 +45,6 @@
|
|||||||
;script(type "text/javascript", src "{(cdnjs "react/0.14.6/react")}");
|
;script(type "text/javascript", src "{(cdnjs "react/0.14.6/react")}");
|
||||||
;script(type "text/javascript", src "{(cdnjs "react/0.14.6/react-dom")}");
|
;script(type "text/javascript", src "{(cdnjs "react/0.14.6/react-dom")}");
|
||||||
;script(type "text/javascript", src "{(cdnjs "flux/2.1.1/Flux")}");
|
;script(type "text/javascript", src "{(cdnjs "flux/2.1.1/Flux")}");
|
||||||
;* (turn (~(tap by extras)) |=({@ a/@t} ;script(type "text/javascript"):"{(trip a)}"))
|
|
||||||
:: ;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/codemirror/4.3.0/codemirror.js");
|
:: ;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/codemirror/4.3.0/codemirror.js");
|
||||||
:: ;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/".
|
:: ;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/".
|
||||||
:: "codemirror/4.3.0/mode/markdown/markdown.min.js");
|
:: "codemirror/4.3.0/mode/markdown/markdown.min.js");
|
||||||
|
Loading…
Reference in New Issue
Block a user