Skip to content

Instantly share code, notes, and snippets.

@anmonteiro
Last active September 9, 2017 06:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save anmonteiro/4bf3982a0c301535b022709d58a1e94a to your computer and use it in GitHub Desktop.
Save anmonteiro/4bf3982a0c301535b022709d58a1e94a to your computer and use it in GitHub Desktop.
Use Om Next from Planck.
#!/bin/bash
set -e
if [ ! -d "om" ]; then
git clone -b self-host --depth=1 https://github.com/anmonteiro/om.git
fi
if [ ! -e "om/react-dom-server.jar" ]; then
curl -s -L https://clojars.org/repo/cljsjs/react-dom-server/15.3.0-0/react-dom-server-15.3.0-0.jar -o om/react-dom-server.jar
fi
if [ ! -e "om/react.jar" ]; then
curl -s -L https://clojars.org/repo/cljsjs/react/15.3.0-0/react-15.3.0-0.jar -o om/react.jar
fi
if [ ! -e "om/react-dom.jar" ]; then
curl -s -L https://clojars.org/repo/cljsjs/react-dom/15.3.0-0/react-dom-15.3.0-0.jar -o om/react-dom.jar
fi
mkdir -p om/.planck_cache
planck -k om/.planck_cache -c om/src/main:om/react.jar:om/react-dom.jar:om/react-dom-server.jar
cljs.user=> (require '[om.next :as om :refer-macros [defui]])
nil
cljs.user=> (require '[om.dom :as dom])
nil
cljs.user=> (require '[cljsjs.react.dom.server])
nil
cljs.user=> (defui Foo
#_=> Object
#_=> (render [this]
#_=> (dom/div nil "Hello from Planck!")))
#object[Function "function (this__45__auto__,writer__46__auto__,opt__47__auto__){
return cljs.core._write.call(null,writer__46__auto__,"cljs.user/Foo");
}"]
cljs.user=> (dom/render-to-str ((om/factory Foo)))
"<div data-reactroot=\"\" data-reactid=\"1\" data-react-checksum=\"-854321732\">Hello from Planck!</div>"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment