diff --git a/README.md b/README.md index ee8c51a..d006f61 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,13 @@ $ cljs watch sitegen $ node target/sitegen.js ``` +Build client-side code: + +``` +$ cljs watch client +$ cljs watch interactive +``` + To publish the site to the [GitHub Pages deployment repo](https://github.com/cljs/cljs.github.io): ``` diff --git a/cljs.edn b/cljs.edn index 81c656e..7aab049 100644 --- a/cljs.edn +++ b/cljs.edn @@ -10,6 +10,10 @@ :compiler {:main "client.core" :output-to "output/js/client.js" :optimizations :advanced}} + :interactive {:src "src" + :compiler {:main "client.interactive" + :output-to "output/js/interactive.js" + :optimizations :advanced}} :server {:src "src" :compiler {:target :nodejs :main "server.core" diff --git a/src/client/interactive.cljs b/src/client/interactive.cljs new file mode 100644 index 0000000..5b08ae8 --- /dev/null +++ b/src/client/interactive.cljs @@ -0,0 +1,3 @@ +(ns client.interactive) + +(js/console.log "Interactive !") diff --git a/src/sitegen/api_pages.cljs b/src/sitegen/api_pages.cljs index 41840d9..6919a8c 100644 --- a/src/sitegen/api_pages.cljs +++ b/src/sitegen/api_pages.cljs @@ -479,7 +479,8 @@ (defn create-sym-page! [{:keys [ns name-encode] :as sym}] (->> (sym-page sym) - (common-layout {:head {:title (str "CLJS - " (docname-display (:full-name sym)))}}) + (common-layout {:head {:title (str "CLJS - " (docname-display (:full-name sym)))} + :interactive true}) (hiccup/render) (urls/write! (urls/api-sym ns name-encode)))) diff --git a/src/sitegen/layout.cljs b/src/sitegen/layout.cljs index 6685152..a170869 100644 --- a/src/sitegen/layout.cljs +++ b/src/sitegen/layout.cljs @@ -5,6 +5,7 @@ (declare head) (declare body-header) (declare body-footer) +(declare interactive) (defn common-layout [opts content] [:html @@ -14,7 +15,8 @@ (body-header) content (body-footer)] - [:script {:src "/js/client.js"}]]]) + [:script {:src "/js/client.js"}] + (interactive (:interactive opts))]]) (defn sidebar-layout [& columns] (case (count columns) @@ -90,3 +92,7 @@ [:a {:href "http://opensource.org/licenses/eclipse-1.0.php"} "EPL 1.0"] [:br] "Copyright © Rich Hickey"]]]) + +(defn interactive [is-interactive] + (when is-interactive + [:script {:src (str "/js/interactive.js")}]))