This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-09-02
Channels
- # beginners (61)
- # boot (84)
- # cider (43)
- # cljsrn (2)
- # clojure (99)
- # clojure-android (3)
- # clojure-austin (2)
- # clojure-italy (5)
- # clojure-russia (43)
- # clojure-spec (93)
- # clojure-uk (41)
- # clojurescript (94)
- # clojutre (1)
- # cloverage (8)
- # core-async (31)
- # cursive (3)
- # datomic (14)
- # defnpodcast (1)
- # editors-rus (7)
- # events (1)
- # hoplon (15)
- # leiningen (3)
- # luminus (6)
- # om (142)
- # onyx (86)
- # other-languages (4)
- # pedestal (1)
- # planck (1)
- # portland-or (5)
- # re-frame (96)
- # reagent (16)
- # ring-swagger (17)
- # rum (73)
- # specter (25)
- # untangled (14)
- # yada (142)
@stbgz: the only way to retrieve cljs dependencies from Maven is through what i assume is a complex java library called Aether
cemerick wraps that library with his own, Pomegranate, which is used by lein and boot
so any cljs build tool will not be able to run without java as long as the only way to resolve dependencies is through a java library
@shaunlebron got it
yup 👍, no one’s stepped up to it yet
reading the Aether source code will remind you why you like Clojure
it’s a generic dependency plugin framework with separate impls for all the actual Maven bits
forced abstractions everywhere
interfaces that are maps but don’t extend any of the Java collection map interfaces
factories of factories
we owe cemerick a debt of gratitude for putting something tolerable in front of it :)
> Pomegranate: A sane Clojure API for Sonatype Aether
glad I have the pretext for that description now, thanks @alexmiller
^^ one of my favorites
i wonder if GWT can be used to compile it without much modification, that would be the dream
and cemerick’s stuff can probably be mostly reused
how so?
it was my understanding that gwt was only doing some translation of certain classes to js
or this http://st-js.github.io/?
i just don’t know enough about this, I feel like the rough parts would be to translate the IO calls, not just the syntax stuff
scratch that I don’t think gwt will do the trick classes need to extend ‘EntryPoint’ unless we go and modify the source code it wont work out the box
@xcthulhu I use pure cljs because I want to escape from mutable stuffs in JavaScript world. For example, my virtual DOM is immutable, then I can make transformations to generate new virtual DOM, without worrying of breaking my library. In JavaScript it could be dangerous to modify virtual DOM and nobody would do that in normal code. Though cljs has its cost, I have to use it.
@shaunlebron @stbgz here's a handrolled dependency manager for clojureCLR - https://github.com/arcadia-unity/Arcadia/blob/develop/Source/arcadia/packages.clj
How do we enable SEO for clojurescript apps? any suggestions?
@rnandan273 : You'll want to have some kind of server side rendoring
One way is to write your app in CLJS entirely and use node.js and use ReactDOMServer
for rendering to plain HTML
I am using re-frame for the app,
So another way (which you probably can't do given your data model) is to write all of your Reagent code so that it can function as plain hiccup, as @yogthos describes here - http://yogthos.net/posts/2015-11-24-Serverside-Reagent.html
currently i am implementing a online store that serves data via a recommendation engine
the client asked me about SEO lately
i am using the luminus framework
with re-frame
Okay, so you are left with a final, unhappy option - call ReactDOMServer
from Nashorn
(2) Nashorn has a very crude JS implementation. It's a good idea to test against it with your unit test suite thoroughly before trying this option.
I can convert this to without using re-frame as
so what would be your suggestion?
but in recommendation engine scenario how much of SEO will help
If you ever shop for things on Amazon, one important question is to ask "How much does the price fluctuate for this?"
Similarly, Amazon often fails to recommend alternatives - again, folks will often resort to Google when Amazon fails
Anyway, I think you could drop re-frame
and just go with a localStorage atom instead - https://github.com/alandipert/storage-atom
ok thanks for your suggestion, i will explore
And then have isomorphic code on the backend that takes an similar data-structure which is just munged from a database somewhere directly
thanks a lot
I thought that google could process SPAs now? Therefore javascript-based pages were no longer an SEO concern?
Thanks @dominicm for the article, it will help me
@selfsame thanks for the link, added a note here: https://github.com/cljs/dep-resolver#porting
thanks for getting me to do this, @richiardiandrea ^
@shaunlebron thaaanks!! I was worried that I pushed a little too much on that one :)
specifically I want to write a button
component which takes text as children and renders them as the button text
@shaunlebron: I’ve got cljs code to recursively firstly find all the sub dependencies for a dependency and then download it to a folder. Its targetting node. Its pretty hacky but it works. https://github.com/ducky427/cljs-deps
What's wrong with this?
(defn button [props & children]
(reify
om/IRender
(render [_]
(dom/button #js
{:className "my-button"}
children))))
@rohit: nice! added it to the readme, i wonder what’s left to do?
@shaunlebron: 1) it doesn’t check the hash of the file 2) only looks at maven and clojars 3) it doesn’t touch the default maven local repository ~/.m2
folder
@rohit: cool, what about dependency directives like :exclusions
: https://github.com/technomancy/leiningen/blob/master/sample.project.clj#L45-L57
Its pretty basic right now and needs polish and tlc to get it at the same level as the java/clj implementations.
Are there any twitter bootstrap-like frameworks that are Closure DCE compatible? I’m looking for something that a non-designer (i.e. me) can use to make a site that doesn’t look terrible, and doesn’t use jQuery (for size reasons)
@arohner: maybe try searching bootstrap alternatives and search goog.provide
in their repos. I’m not aware of any, but I’ve used http://getskeleton.com which is just a pretty CSS file
@shaunlebron interesting, thanks. I also found https://github.com/google/material-design-lite, which is 27kB
oh, cool, that’s nice