rename lib/react to lib/elem-to-react-json

This commit is contained in:
Anton Dyudin 2016-10-24 13:42:50 -07:00
parent b11f924b4e
commit ed1525d893
6 changed files with 81 additions and 147 deletions

View 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

View File

@ -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)
")"
==
--

View File

@ -2,7 +2,7 @@
:::: /hoon/comments/tree/mar
::
/? 310
/+ react, time-to-id
/+ elem-to-react-json, time-to-id
!:
::::
::
@ -16,7 +16,7 @@
(sort all |=({a/* b/*} (lor b a)))
|= {a/time b/ship c/marl} ^- ^json
=+ 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
++ noun (list {time manx}) :: clam from %noun

View File

@ -2,8 +2,8 @@
:::: /hoon/index/tree/mar
::
/? 310
/+ tree,react,map-to-json
[. tree react]
/+ tree,map-to-json,elem-to-react-json
[. tree]
!:
::::
::
@ -15,7 +15,7 @@
%. all
%+ map-to-json
|=(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
++ noun (map path marl) :: clam from %noun

View File

@ -3,7 +3,7 @@
::
/? 310
/- tree-include
/+ react
/+ elem-to-react-json
/= mime /mime/
/= body /tree-elem/
/= sect /&json&/tree-index/
@ -15,7 +15,7 @@
/tree-comments/
!:
^- tree-include
=+ rj=react-to-json:react
=* rj elem-to-react-json
:* mime
(rj body)
(rj /h1 hed.snip) :: head

View File

@ -15,8 +15,6 @@
|= gas/epic ^- {? ?} :: check if the query
:- (~(has by qix.gas) 'dbg.nopack') :: dictates separate files
(~(has by qix.gas) 'dbg.nomin') :: and/or unminified assets
/= extras /: /===/ren/tree/head/extras :: additional scripts
/^ (map knot cord) /_ /js/
::
|%
++ 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-dom")}");
;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/mode/markdown/markdown.min.js");