diff --git a/index.html b/index.html index 3857862..9cbc46b 100644 --- a/index.html +++ b/index.html @@ -5,8 +5,8 @@ + + + @@ -43,56 +46,67 @@

Usage

+ Include sci-script-tag.js and write a script tag + where type is set + to application/x-sci. Use :export to make the function + available in the JavaScript environment. The name is processed + using munge. +
-      <head>
-        <script src="https://borkdude.github.io/sci-script-tag/js/sci-script-tag.js" type="application/javascript"></script>
-        <script type="application/x-sci">
-          (defn my-alert []
-           (js/alert "alert!"))
-        </script>
-      </head>
+      <head>
+  <script src="https://borkdude.github.io/sci-script-tag/js/sci-script-tag.js"
+        type="application/javascript">
+  </script>
 
-      <body>
-        <button onclick="user.myAlert()">
-          Click me!
-        </button>
-      </body>
-    
+ <script type="application/x-sci"> + (defn ^:export my-alert [] + (js/alert "You clicked!")) + </script> -

Source from file

When you have a file on your server, say cljs/script.cljs, you can load it using the src attribute: -
-      <script src="cljs/script.cljs" type="application/x-sci"></script>
-    
+

+<script src="cljs/script.cljs" type="application/x-sci"></script>
+    

Reagent plugin

To enable reagent, in addition to sci-script-tag.js, you need to include sci-script-tag-plugin-reagent.js. -
-      <script src="https://borkdude.github.io/sci-script-tag/js/sci-script-tag-plugin-reagent.js" type="application/javascript"></script>
-      <script type="application/x-sci">
-        (require '[reagent.core :as r]
-                 '[reagent.dom :as rdom])
+    

+<script src="https://borkdude.github.io/sci-script-tag/js/sci-script-tag-plugin-reagent.js" type="application/javascript"></script>
+<script type="application/x-sci">
+  (require '[reagent.core :as r]
+           '[reagent.dom :as rdom])
 
-        (def state (r/atom {:clicks 0}))
+  (def state (r/atom {:clicks 0}))
 
-        (defn my-component []
-          [:div
-           [:p "Clicks: " (:clicks @state)]
-           [:p [:button {:on-click #(swap! state update :clicks inc)}
-            "Click me!"]]])
+  (defn my-component []
+    [:div
+      [:p "Clicks: " (:clicks @state)]
+      [:p [:button {:on-click #(swap! state update :clicks inc)}
+       "Click me!"]]])
 
-        (rdom/render [my-component] (.getElementById js/document "app"))
-      </script>
-    
+ (rdom/render [my-component] (.getElementById js/document "app")) +</script> +
diff --git a/js/sci-script-tag-plugin-reagent.js b/js/sci-script-tag-plugin-reagent.js index bc8620b..79dd06f 100644 --- a/js/sci-script-tag-plugin-reagent.js +++ b/js/sci-script-tag-plugin-reagent.js @@ -260,42 +260,42 @@ function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInte a,b,!1,c)};x.unmountComponentAtNode=function(a){if(!jd(a))throw Error(w(40));return a._reactRootContainer?(ti(function(){ke(null,null,a,!1,function(){a._reactRootContainer=null;a[fc]=null})}),!0):!1};x.unstable_batchedUpdates=si;x.unstable_createPortal=function(a,b){return yi(a,b,2$APP.Je(a)?$APP.fT(a):[$APP.fT($APP.Ch.i(a,0,1)),$APP.Ch.h(a,1)].join("")},r8=function(a){if("string"===typeof a)return a;a=$APP.Wh(a);var b=$APP.jT.h(a,/-/),c=$APP.z(b);b=$APP.r(c);c=$APP.t(c);return $APP.n(q8.g?q8.g(b):q8.call(null, -b))?a:$APP.Yb.i($APP.q,b,$APP.Yi.h(p8,c))},s8=function(a){var b=function(){if($APP.jf(a)){var c=a.displayName;$APP.n(c)||(c=a.name,c="string"===typeof c&&$APP.z(c)?c:null)}else c=!1;if($APP.n(c))return c;c=null!=a&&(a.J&4096||$APP.Ua===a.Nd)?$APP.Wh(a):!1;if($APP.n(c))return c;c=$APP.F(a);return $APP.vf(c)?$APP.T.g(c):null}();return $APP.n(b)?$APP.cT($APP.q.g(b),"$","."):null},t8=function(a){return a instanceof $APP.ee||a instanceof $APP.x},v8=function(a){if($APP.vf(a))try{var b=$APP.ce.h(a,u8)}catch(c){b= -null}else b=null;return b},w8=function(a){var b=u8.g($APP.F(a));if($APP.n(b))return b;b=v8($APP.B.i(a,1,null));if($APP.n(b))return b;b=$APP.B.i(a,0,null);switch(b instanceof $APP.ee?b.fb:null){case "\x3e":case "f\x3e":return v8($APP.B.i(a,2,null));case "r\x3e":return a=$APP.B.i(a,2,null),null==a?null:a.key;default:return null}},x8=function(a){return setTimeout(a,16)},y8=function(a,b){return a.jf-b.jf},z8=function(){return null},A8=function(a){for(var b=a.length,c=0;;)if(c= -e&&f.push(G8(a,g));return f},[c,d],b))}},Q9=function(a,b,c,d){this.tag=a;this.id=b;this.className=c;this.yf=d},S9=function(a,b,c){var d=$APP.Aa(a,F8(c));null==d?c9(a)?a=x9(c,a,a):(d=$APP.F(a),d=$APP.E.i(d,R9,a),d=w9(d,c),a=x9(c,a,d)):a=d;c={};c.argv=b;b=w8(b);null!=b&&(c.key=b);return s9.createElement(a,c)},T9=function(a,b,c,d){var e={};e.gb=a;e.argv=$APP.Hk.h(b,c);b=w8(b);null!=b&&(e.key=b);return s9.createElement(B9(d,a),e)},U9=function(a,b,c){var d;if(d=$APP.jf(a))d=null==a?null:a.prototype,d= -null!=(null==d?null:d.render);return d?S9(a,b,c):T9(a,b,1,c)},Y9=function(a,b,c,d){var e=a.tag,f=$APP.B.i(b,c,null),l=null==f||$APP.vf(f),g=function(){var w=l?f:null;var A=$APP.NQ.g(w);A=$APP.n(A)?$APP.E.i(w,$APP.NQ,V9.g(A)):w;var D=a.id;w=a.className;D=null!=D&&null==$APP.BS.g(A)?$APP.E.i(A,$APP.BS,D):A;if($APP.n(w)){var G=$APP.E.i,J=V9.h,R=$APP.NQ.g(A);A=$APP.n(R)?R:W9.g(A);w=G.call($APP.E,D,$APP.NQ,J.call(V9,w,A))}else w=D;w=$APP.n(a.yf)?O9(w):K9(w);return $APP.n(w)?w:{}}();c+=l?1:0;a:switch(e){case "input":case "textarea":var p= -!0;break a;default:p=!1}if(p)return p=function(){var w=d.Df;if($APP.n(w))return w;w=w9(X9,d);return d.Df=w}(),G8(d,$APP.lf(new $APP.O(null,6,5,$APP.P,[p,b,e,g,c,d],null),$APP.F(b)));p=v8($APP.F(b));null!=p&&(g.key=p);return H8(d,b,e,g,c)},Z9=function(a,b){return $APP.cc.g($APP.Yi.h(function(c){return G8(b,c)},a))},b$=function(a,b,c){null==b&&console.error("vec-to-elem",$APP.on.j($APP.Pe([a])));var d=$APP.B.i(a,0,null);switch(d instanceof $APP.ee?d.fb:null){case "\x3e":return c=$APP.B.i(a,1,null), -c=new Q9(c,null,null,null),Y9(c,a,2,b);case "r\x3e":c=$APP.B.i(a,1,null);d=$APP.B.i(a,2,null);d=$APP.n(d)?d:{};var e=v8($APP.F(a));null!=e&&(d.key=e);return H8(b,a,c,d,3);case "f\x3e":return T9($APP.B.i(a,1,null),a,2,b);case "\x3c\x3e":return d=$APP.B.i(a,1,null),c=null==d||$APP.vf(d),d=K9(c?d:null),d=$APP.n(d)?d:{},c=1+(c?1:0),e=w8(a),null!=e&&(d.key=e),H8(b,a,s9.Fragment,d,c);default:if(t8(d)||"string"===typeof d)a:for(;;)switch(c=$APP.B.i(a,0,null),c=$APP.Wh(c),d=c.indexOf("\x3e"),d){case -1:d= -I9($9,c);if(null==d){var f=$APP.t($APP.Um(a$,$APP.Wh(c)));d=$APP.B.i(f,0,null);e=$APP.B.i(f,1,null);f=$APP.B.i(f,2,null);f=null==f?null:$APP.cT(f,/\./," ");var l=$APP.Di.h(-1,d.indexOf("-"));d=new Q9(d,e,f,l);c=$9[c]=d}else c=d;b=Y9(c,a,1,b);break a;case 0:b=null;break a;default:a=$APP.lf(new $APP.O(null,2,5,$APP.P,[$APP.Ch.i(c,0,d),$APP.E.i($APP.lf(a,null),0,$APP.Ch.h(c,d+1))],null),$APP.F(a))}else b=c.i?c.i(d,a,b):c.call(null,d,a,b);return b}},e$=function(a,b,c){var d=f9;f9=!0;try{return c$.render(a.s? -a.s():a.call(null),b,function(){var e=f9;f9=!1;try{return $APP.qj.B(d$,$APP.E,b,a),D8.flush_after_render(),null!=c?c.s?c.s():c.call(null):null}finally{f9=e}})}finally{f9=d}},i8="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),u9=new $APP.ee(null,"getInitialState","getInitialState",1541760916),f$=new $APP.ee(null,"component-will-unmount","component-will-unmount",-2058314698),j9=new $APP.ee(null,"reagentRender","reagentRender",-358306383),g$= -new $APP.x(null,"container","container",-96406180,null),h$=new $APP.ee(null,"contextType","contextType",1033066077),i$=new $APP.ee(null,"getDerivedStateFromProps","getDerivedStateFromProps",-991834739),j$=new $APP.ee(null,"display-name","display-name",694513143),W9=new $APP.ee(null,"className","className",-1983287057),k$=new $APP.x(h8,"render","reagent.dom/render",-1216356973,null),l$=new $APP.x(null,"callback-or-compiler","callback-or-compiler",90200066,null),m$=new $APP.x(null,g8,g8,1841519592, -null),X8=new $APP.ee(null,"on-dispose","on-dispose",2105306360),n$=new $APP.ee(null,"no-cache","no-cache",1588056370),o$=new $APP.ee(null,"function-components","function-components",1492814963),p$=new $APP.x(null,h8,h8,-2138920962,null),q$=new $APP.ee(null,"callback","callback",-705136228),m9=new $APP.ee(null,"cljsLegacyRender","cljsLegacyRender",-1527295613),C9=new $APP.ee(null,"on-write","on-write",31519475),r$=new $APP.ee(null,"contextTypes","contextTypes",-2023853910),s$=new $APP.x(null,"render", -"render",232498073,null),k9=new $APP.ee(null,"render","render",-1408033454),V8=new $APP.ee(null,"auto-run","auto-run",1958400437),t$=new $APP.ee(null,"childContextTypes","childContextTypes",578717991),R9=new $APP.ee(null,"reagent-render","reagent-render",-985383853),u$=new $APP.x(g8,"atom","reagent.core/atom",1748890217,null),v$=new $APP.ee(null,"componentWillUnmount","componentWillUnmount",1573788814),l9=new $APP.ee(null,"displayName","displayName",-809144601),w$=new $APP.ee(null,"getDerivedStateFromError", -"getDerivedStateFromError",166658477),x$=new $APP.ee(null,"merging","merging",415773159),W8=new $APP.ee(null,"on-set","on-set",-140953470),y$=new $APP.ee(null,"component-did-update","component-did-update",-1468549173),z$=new $APP.ee(null,"done-merging","done-merging",1369564784),u8=new $APP.ee(null,"key","key",-1516042587),A$=new $APP.ee(null,"shouldComponentUpdate","shouldComponentUpdate",1795750960);var n8={},l8={},m8=[];o8.cache={};o8.resolve=function(a){return a};var s9=o8(3,{});var B$={};$APP.nj.g(null);var C$={},D$="undefined"!==typeof window&&null!=window.document,q8=new $APP.lm(null,new $APP.m(null,2,["aria",null,"data",null],null),null),V9=function V9(a){switch(arguments.length){case 0:return V9.s();case 1:return V9.g(arguments[0]);case 2:return V9.h(arguments[0],arguments[1]);default:for(var c=[],d=arguments.length,e=0;;)if(e$APP.Je(a)?$APP.fT(a):[$APP.fT($APP.Ch.i(a,0,1)),$APP.Ch.h(a,1)].join("")},r8=function(a){if("string"===typeof a)return a;a=$APP.Wh(a);var b=$APP.jT.h(a,/-/),c=$APP.z(b);b=$APP.r(c);c=$APP.t(c);return $APP.n(q8.g?q8.g(b):q8.call(null,b))?a:$APP.Yb.i($APP.q,b,$APP.Yi.h(p8,c))},s8=function(a){var b=function(){if($APP.jf(a)){var c=a.displayName;$APP.n(c)||(c=a.name, +c="string"===typeof c&&$APP.z(c)?c:null)}else c=!1;if($APP.n(c))return c;c=null!=a&&(a.J&4096||$APP.Ua===a.Nd)?$APP.Wh(a):!1;if($APP.n(c))return c;c=$APP.F(a);return $APP.vf(c)?$APP.T.g(c):null}();return $APP.n(b)?$APP.cT($APP.q.g(b),"$","."):null},t8=function(a){return a instanceof $APP.ee||a instanceof $APP.x},v8=function(a){if($APP.vf(a))try{var b=$APP.ce.h(a,u8)}catch(c){b=null}else b=null;return b},w8=function(a){var b=u8.g($APP.F(a));if($APP.n(b))return b;b=v8($APP.B.i(a,1,null));if($APP.n(b))return b; +b=$APP.B.i(a,0,null);switch(b instanceof $APP.ee?b.fb:null){case "\x3e":case "f\x3e":return v8($APP.B.i(a,2,null));case "r\x3e":return a=$APP.B.i(a,2,null),null==a?null:a.key;default:return null}},x8=function(a){return setTimeout(a,16)},y8=function(a,b){return a.jf-b.jf},z8=function(){return null},A8=function(a){for(var b=a.length,c=0;;)if(c=e&&f.push(G8(a,g));return f},[c,d],b))}},Q9=function(a,b,c,d){this.tag=a;this.id=b;this.className=c;this.yf=d},S9=function(a,b,c){var d=$APP.Aa(a,F8(c)); +null==d?c9(a)?a=x9(c,a,a):(d=$APP.F(a),d=$APP.E.i(d,R9,a),d=w9(d,c),a=x9(c,a,d)):a=d;c={};c.argv=b;b=w8(b);null!=b&&(c.key=b);return s9.createElement(a,c)},T9=function(a,b,c,d){var e={};e.gb=a;e.argv=$APP.Hk.h(b,c);b=w8(b);null!=b&&(e.key=b);return s9.createElement(B9(d,a),e)},U9=function(a,b,c){var d;if(d=$APP.jf(a))d=null==a?null:a.prototype,d=null!=(null==d?null:d.render);return d?S9(a,b,c):T9(a,b,1,c)},Y9=function(a,b,c,d){var e=a.tag,f=$APP.B.i(b,c,null),l=null==f||$APP.vf(f),g=function(){var w= +l?f:null;var A=$APP.NQ.g(w);A=$APP.n(A)?$APP.E.i(w,$APP.NQ,V9.g(A)):w;var D=a.id;w=a.className;D=null!=D&&null==$APP.BS.g(A)?$APP.E.i(A,$APP.BS,D):A;if($APP.n(w)){var G=$APP.E.i,J=V9.h,R=$APP.NQ.g(A);A=$APP.n(R)?R:W9.g(A);w=G.call($APP.E,D,$APP.NQ,J.call(V9,w,A))}else w=D;w=$APP.n(a.yf)?O9(w):K9(w);return $APP.n(w)?w:{}}();c+=l?1:0;a:switch(e){case "input":case "textarea":var p=!0;break a;default:p=!1}if(p)return p=function(){var w=d.Df;if($APP.n(w))return w;w=w9(X9,d);return d.Df=w}(),G8(d,$APP.lf(new $APP.O(null, +6,5,$APP.P,[p,b,e,g,c,d],null),$APP.F(b)));p=v8($APP.F(b));null!=p&&(g.key=p);return H8(d,b,e,g,c)},Z9=function(a,b){return $APP.cc.g($APP.Yi.h(function(c){return G8(b,c)},a))},b$=function(a,b,c){null==b&&console.error("vec-to-elem",$APP.on.j($APP.Pe([a])));var d=$APP.B.i(a,0,null);switch(d instanceof $APP.ee?d.fb:null){case "\x3e":return c=$APP.B.i(a,1,null),c=new Q9(c,null,null,null),Y9(c,a,2,b);case "r\x3e":c=$APP.B.i(a,1,null);d=$APP.B.i(a,2,null);d=$APP.n(d)?d:{};var e=v8($APP.F(a));null!=e&& +(d.key=e);return H8(b,a,c,d,3);case "f\x3e":return T9($APP.B.i(a,1,null),a,2,b);case "\x3c\x3e":return d=$APP.B.i(a,1,null),c=null==d||$APP.vf(d),d=K9(c?d:null),d=$APP.n(d)?d:{},c=1+(c?1:0),e=w8(a),null!=e&&(d.key=e),H8(b,a,s9.Fragment,d,c);default:if(t8(d)||"string"===typeof d)a:for(;;)switch(c=$APP.B.i(a,0,null),c=$APP.Wh(c),d=c.indexOf("\x3e"),d){case -1:d=I9($9,c);if(null==d){var f=$APP.t($APP.Um(a$,$APP.Wh(c)));d=$APP.B.i(f,0,null);e=$APP.B.i(f,1,null);f=$APP.B.i(f,2,null);f=null==f?null:$APP.cT(f, +/\./," ");var l=$APP.Di.h(-1,d.indexOf("-"));d=new Q9(d,e,f,l);c=$9[c]=d}else c=d;b=Y9(c,a,1,b);break a;case 0:b=null;break a;default:a=$APP.lf(new $APP.O(null,2,5,$APP.P,[$APP.Ch.i(c,0,d),$APP.E.i($APP.lf(a,null),0,$APP.Ch.h(c,d+1))],null),$APP.F(a))}else b=c.i?c.i(d,a,b):c.call(null,d,a,b);return b}},e$=function(a,b,c){var d=f9;f9=!0;try{return c$.render(a.s?a.s():a.call(null),b,function(){var e=f9;f9=!1;try{return $APP.qj.B(d$,$APP.E,b,a),D8.flush_after_render(),null!=c?c.s?c.s():c.call(null): +null}finally{f9=e}})}finally{f9=d}},i8="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),u9=new $APP.ee(null,"getInitialState","getInitialState",1541760916),f$=new $APP.ee(null,"component-will-unmount","component-will-unmount",-2058314698),j9=new $APP.ee(null,"reagentRender","reagentRender",-358306383),g$=new $APP.x(null,"container","container",-96406180,null),h$=new $APP.ee(null,"contextType","contextType",1033066077),i$=new $APP.ee(null,"getDerivedStateFromProps", +"getDerivedStateFromProps",-991834739),j$=new $APP.ee(null,"display-name","display-name",694513143),W9=new $APP.ee(null,"className","className",-1983287057),k$=new $APP.x(h8,"render","reagent.dom/render",-1216356973,null),l$=new $APP.x(null,"callback-or-compiler","callback-or-compiler",90200066,null),m$=new $APP.x(null,g8,g8,1841519592,null),X8=new $APP.ee(null,"on-dispose","on-dispose",2105306360),n$=new $APP.ee(null,"no-cache","no-cache",1588056370),o$=new $APP.ee(null,"function-components","function-components", +1492814963),p$=new $APP.x(null,h8,h8,-2138920962,null),q$=new $APP.ee(null,"callback","callback",-705136228),m9=new $APP.ee(null,"cljsLegacyRender","cljsLegacyRender",-1527295613),C9=new $APP.ee(null,"on-write","on-write",31519475),r$=new $APP.ee(null,"contextTypes","contextTypes",-2023853910),s$=new $APP.x(null,"render","render",232498073,null),k9=new $APP.ee(null,"render","render",-1408033454),V8=new $APP.ee(null,"auto-run","auto-run",1958400437),t$=new $APP.ee(null,"childContextTypes","childContextTypes", +578717991),R9=new $APP.ee(null,"reagent-render","reagent-render",-985383853),u$=new $APP.x(g8,"atom","reagent.core/atom",1748890217,null),v$=new $APP.ee(null,"componentWillUnmount","componentWillUnmount",1573788814),l9=new $APP.ee(null,"displayName","displayName",-809144601),w$=new $APP.ee(null,"getDerivedStateFromError","getDerivedStateFromError",166658477),x$=new $APP.ee(null,"merging","merging",415773159),W8=new $APP.ee(null,"on-set","on-set",-140953470),y$=new $APP.ee(null,"component-did-update", +"component-did-update",-1468549173),z$=new $APP.ee(null,"done-merging","done-merging",1369564784),u8=new $APP.ee(null,"key","key",-1516042587),A$=new $APP.ee(null,"shouldComponentUpdate","shouldComponentUpdate",1795750960);var n8={},l8={},m8=[];o8.cache={};o8.resolve=function(a){return a};var s9=o8(3,{});var B$={};$APP.nj.g(null);var C$={},D$="undefined"!==typeof window&&null!=window.document,q8=new $APP.lm(null,new $APP.m(null,2,["aria",null,"data",null],null),null),V9=function V9(a){switch(arguments.length){case 0:return V9.s();case 1:return V9.g(arguments[0]);case 2:return V9.h(arguments[0],arguments[1]);default:for(var c=[],d=arguments.length,e=0;;)if(eb?1:a>>0);sa=0;var Fa=String.prototype.trim?function(a){return a.trim()}:function(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]};$APP.k=La.prototype;$APP.k.Zb="";$APP.k.set=function(a){this.Zb=""+a};$APP.k.append=function(a,b,c){this.Zb+=String(a);if(null!=b)for(var d=1;d>>0);sa=0;var Fa=String.prototype.trim?function(a){return a.trim()}:function(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]};$APP.k=La.prototype;$APP.k.Zb="";$APP.k.set=function(a){this.Zb=""+a};$APP.k.append=function(a,b,c){this.Zb+=String(a);if(null!=b)for(var d=1;dl?1:l);return l<=b.length?(l=$APP.Ch.h(b,l),Wm.h?Wm.h(a,l):Wm.call(null,a,l)):null},null,null))};cn={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"};$APP.on=function on(a){for(var c=[],d=arguments.length,e=0;;)if(ea?'..."':'"',d=b.length;return['"',$APP.q.g(b.substring(0,ad?"...}":"}")});iX.Ya(null,OI,function(a,b){return hX(a,b,"#{","}")});iX.Ya(null,HC,function(a,b){return hX(a,b,"[","]")});iX.Ya(null,Nu,function(a,b){return $APP.on.j($APP.Pe([Qb(b)]))});var BX=/^([-+]?)(?:(0)|([1-9][0-9]*)|0[xX]([0-9A-Fa-f]+)|0([0-7]+)|([1-9][0-9]?)[rR]([0-9A-Za-z]+)|0[0-9]+)(N)?$/,CX=/([-+]?[0-9]+)\/([0-9]+)/,DX=/([-+]?[0-9]+(\.[0-9]*)?([eE][-+]?[0-9]+)?)(M)?/,HX=function HX(a){for(var c=[],d=arguments.length,e=0;;)if(e