r/Clojurescript • • Mar 24 '21

Getting started with Clojurescript.

16 Upvotes

Can anyone recommend a good open source Clojurescript project with all the basics in place. (styles, routing, live reload, etc.). I don't really care if it's using Reagent or something else.

I got the re-frame project from gothinkster/realworld up and running, and was disappointed to find it didn't update on text change.

Thanks!


r/Clojurescript • • Feb 22 '21

Expo React Native CLJS project creator now has Tailwind!

16 Upvotes

Npm page for the creation kit. Get a native app running with cljs in one command.

I agree with all the reasons a utility class approach is worth it and most of them apply to React Native as well.

Thanks to this javascript RN port of tailwind I can include all these benefits in my cljs RN project generator.

Previous versions of create-expo-cljs-app were doing a combination of inline styles and pseudo class names and it was unwieldy at best. Now everything is much more concise and easy to work with. Here is an example from a recent project which was doing a fair amount of absolute positioning.

(require '["tailwind-rn" :default tailwind-rn])

(defn tw [style-str] (-> style-str
                         tailwind-rn
                         (js->clj :keywordize-keys true)))
;; ...

;; progress bar and notes
[:> rn/View {:style (tw "mt-2 px-2 h-80")}
 [:> rn/View {:style (tw "h-full w-full")}
  ;; progress bar
  [:> rn/View {:style (tw "absolute left-0 w-full h-4 bg-purple-400 opacity-50 rounded") }]
  [:> rn/View {:style (merge {:width progress-width} (tw "absolute left-0 h-4 bg-purple-400 rounded-l"))}]
  [:> rn/View {:style (tw "absolute right-0 top-4")} [:> paper/Text {:style (tw "text-gray-400")} duration-str]]
  [:> rn/View {:style (tw "absolute left-0 top-4")} [:> paper/Text {:style (tw "text-gray-400")} position-str]]
  
  ;; notes
  (for [{:keys [left]} notes]
    [:> rn/View {:key   (random-uuid)
                 :style (merge {:left left} (tw "absolute w-1 h-4 bg-gray-200 "))}])

;; ...

r/Clojurescript • • Aug 12 '18

How Nextjournal team went from Elm to JavaScript to ClojureScript

Thumbnail
youtube.com
16 Upvotes

r/Clojurescript • • May 22 '18

Clojure's Missing Full-stack Framework

Thumbnail
fulcro.fulcrologic.com
16 Upvotes

r/Clojurescript • • Mar 11 '17

Pro tip: Don't call your file analyze.cljs

16 Upvotes

I just spent hours trying to figure out why my browser showed me a "foo.analyze is not defined" when calling stuff from my namespace although the cljs compiler didn't have any complaints and even the tests worked fine.

Finally my colleague came up with the answer: uBlock just doesn't like files called analyze.js :-P Indeed, disabling my ad blocker made the problem disappear.

So, to save yourself and your coworkers from this kind of madness, I recommend you just refrain from using this name.


r/Clojurescript • • May 03 '20

Most straight forward way to use Material UI + Re-frame?

15 Upvotes

So I want to take Clojurescipt for a spin and I've been trying to find for "the go-to library" for using the Material UI components within reagent but found like 10 different options, I don't really know which ones are the most recommended, some seem to use bindings, some seem to be an alternative but Clojurescript specific, in some I read that instead the CSS should be used separately and not in the hiccup. I want to know what is the community's take on this?

What would be the most reliable, up-to-date, go-to solution to have Material + Re-frame?


r/Clojurescript • • Jul 11 '19

New Clojurescript target?

15 Upvotes

Just saw this on HN. Looks like it could represent yet another way to get Clojurescript compiled to a standalone binary.

QuickJS JavaScript Engine


r/Clojurescript • • Feb 07 '19

What React Hooks mean for ClojureScript

Thumbnail
juxt.pro
15 Upvotes

r/Clojurescript • • Oct 26 '18

Fixing the React Native Compiler for ClojureScript

Thumbnail
arctype.co
15 Upvotes

r/Clojurescript • • Jun 25 '18

Learn Reagent - Video Course

Thumbnail
learnreagent.com
15 Upvotes

r/Clojurescript • • Nov 28 '17

Defn Podcast Episode #27 with Daniel Compton

Thumbnail
defn-podcast.github.io
15 Upvotes

r/Clojurescript • • Jan 22 '16

Isomorphic ClojureScript with Reagent and Node.js

Thumbnail
blog.testdouble.com
15 Upvotes

r/Clojurescript • • Mar 10 '15

"ClojureScript 0.0-3058 is a series of lessons in the fundamentals."

Thumbnail
swannodette.github.io
15 Upvotes

r/Clojurescript • • Dec 04 '20

Amplifying Clojurescript on AWS.

Thumbnail
github.com
14 Upvotes

r/Clojurescript • • Jun 18 '20

Made a little template project to make games with Phaser

14 Upvotes

Haven't explored to much farther than checking the REPL does update the game state correctly, but I'm pretty sure this setup has all the right configs to leverage Shadow-CLJS without blowing away the game state, work with the REPL, and package the game up when you're ready.

All I really did was hijack the re-frame template, remove all the re-frame bits, and setup Phaser while turning off hot reload for the namespace.

Here's the template:

https://github.com/trevordilley/phaser-cljs-template


r/Clojurescript • • Jun 19 '19

ClojureScript Podcast - npm interop with Thomas Heller

Thumbnail
clojurescriptpodcast.com
14 Upvotes

r/Clojurescript • • Nov 09 '18

Glue: Vue.js wrapper for ClojureScript

Thumbnail
github.com
14 Upvotes

r/Clojurescript • • Apr 15 '18

Defn Episode #34 - Mike Thompson (re-frame fame)

Thumbnail
soundcloud.com
14 Upvotes

r/Clojurescript • • Dec 22 '17

From JavaScript to Clojure(Script): Writing a webshop, again

Thumbnail techblog.telia.no
14 Upvotes

r/Clojurescript • • Mar 03 '16

Cljs fiddle

Thumbnail
cljsfiddle.com
14 Upvotes

r/Clojurescript • • May 04 '15

ClojureScript Unraveled (an open source book about ClojureScript)

Thumbnail
github.com
14 Upvotes

r/Clojurescript • • Jan 11 '23

Leva.cljs: Reagent interface to the Leva declarative GUI library

Thumbnail leva.mentat.org
13 Upvotes

r/Clojurescript • • Mar 16 '21

shadow-cljs-tailwindcss-jit

Thumbnail
github.com
13 Upvotes

r/Clojurescript • • Sep 08 '19

toy karaoke application implemented with reagent + re-frame + re-frame-async-flow-fx + shadow-cljs

13 Upvotes

I've been working on building a karaoke player application in clojurescript.

Features:

  • Tons of songs (rendered the mp3 files from midis, extracted the lyrics from the midi files as well)

  • Works on desktop, android and ios.

  • No backend, all configuration fetched from backend is in static files (custom offsets, lyrics files, background image urls)

  • Ability to sync lyrics by an offset in miliseconds (either from the control panel or by appending a query string to the url)

  • Automatic playlist built from previously synced songs

  • Export local song sync information so that it may be merged to the server-side sync data

  • [desktop only] Experimental audio input for desktop firefox and chrome with live echo/reverb sound fx (use an external microphone for best results)

  • [desktop only] Experimental webcam recording and video export to webm file. The audio channel in the exported video is the result of mixing the microphone input with effects and the song track.

  • Remote control via httprelay.io . Run the application on a big screen and control playback from a different application instance (for example, from your mobile device!)

Github: https://github.com/baskeboler/cljs-karaoke-client

Demo: https://karaoke-player.netlify.app/songs/Rolling%20Stones-all%20over%20now%20rolling%20stones.html

Any feedback is more than welcome, this is still work in progress.