This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-09-24
Channels
- # admin-announcements (17)
- # alda (5)
- # aws (4)
- # beginners (19)
- # boot (80)
- # bristol-clojurians (3)
- # cider (15)
- # clojure (257)
- # clojure-berlin (1)
- # clojure-czech (1)
- # clojure-indonesia (1)
- # clojure-nl (1)
- # clojure-poland (1)
- # clojure-russia (77)
- # clojurescript (186)
- # core-async (7)
- # core-typed (6)
- # cursive (8)
- # datomic (2)
- # devcards (2)
- # editors (45)
- # emacs (23)
- # hoplon (83)
- # jobs (1)
- # ldnclj (106)
- # leiningen (43)
- # off-topic (4)
- # onyx (31)
- # reagent (10)
- # yada (1)
@flyboarder: i think there might be some synergy. at the very least interop should be no problem
that's the nice thing about the lisp mindset, it's easy to subsume any other thing
has anyone made a hoplon layer for spacemacs yet?
if not, i may take a stab
would love any help whipping that into shape, it's a simple tutorial
I don't really want to go thru the trouble of releasing a custom hoplon version just to share this patch across all our dev environments first
do I have to do something like https://clojuredocs.org/clojure.core/prefer-method ?
hm, i'm not sure if you can prefer-method with the ::default value
looks like a good change though
i suppose it leverages jq smarts?
i wanted to test it on our apps first a bit more extensively because we were seeing serious performance hits having tons of these when-dom
timers spinning
i'm on the way out, i can test in the AM though
hm in our flagship SPA i don't see any usages of it tho
in any case, i must go. gnight!
@alandipert: I just tried running cider-jack-in
from spacemacs and it started a repl via boot. Was nicely surprised. The spacemacs experience so far is great
@jethroksy: Class version 52.0 == Java 8
looks like that dependency was compiled with javac 8, but you're running it with Java 7
the best fix is to upgrade to java 8 if you can - it's way better
otherwise you may consider a ticket on https://github.com/mynomoto/hoplon-minimal, maybe we can use an earlier version of whatever that is instead so it works for 7 and 8
@alandipert: took a quick look at my java version and i think you're right
it was easy to spot thanks to you posting a lot of great info
bug report grade: 💯
loved the talk on hoplon and javelin btw big props to you and your colleagues for building this amazing product
thank you!
but we had no choice
we couldn't stand using anything else hehe
if you're interested, you're a prime candidate for https://github.com/hoplon/hoplon/wiki/Get-Started that i posted last night
it's a gentle walkthrough of the concepts with code
yes it was embarrasing
cool, well feel free to make any edits or ask questions. hopefuly that document can improve over time
@alandipert: nice write-up in the wiki! Is there something similar planned for server-side dev? A castra wiki page maybe?
Hey @alandipert, great to see the new Get Started page! I've been wondering about the "Hoplon is for single-page web applications" thing. Is that unnecessarily limiting / isn't Hoplon still useful when you need multiple pages? Wouldn't want any potential new users to wrongly think it's not for them just because of that. Or is that desired?
hm, the intent is to convey hoplon is not for templating documents
the word page is very overloaded i suppose 😞
(Also, reminded of the Discourse thread about building native mobile/desktop apps in CLJS using React Native, where you recommended Hoplon/Javelin as the best way to model those UIs. Think it would be cool to add a nod to Hoplon's future as a good choice for native apps on the Get Started page, if you see it going there?)
FWIW, when I read "for single-page apps", it gave me some pause about whether it's suited for anything else, and I'm still not sure I understand what you're getting at there
i think i'm just hesitant to say that hoplon the best #1 and good at everything
@alandipert: I too would be interested in exploring the mobile space - now that I’m at a mobile dev company 😉
Agree re: javelin for sure — unclear how / if we could leverage hoplon for true native.
We’re looking at ReactNative for very small Android/iOS project as proof of concept.
I understand single-page webapps to mean typically you land on a single js-heavy page and never leave (potentially navigating through the app with hash-bang urls)... but for me at least Hoplon's pre-rendering is a killer feature, making it just as well suited for building a static site with the more powerful tools of CLJS
true, it is awesome at that
@jab @alandipert is the prerendering for hoplon pretty much a solved problem now?
@alandipert: Definitely not telling you to claim Hoplon is the best at everything! Just trying to understand if my hunch that it's more generally useful than I understood it to be from the current marketing language is correct
Just saw this : https://carouselapps.com/prerenderer/ the other day
(speaking of pre-rendering, and I don't want to derail the current conversation, but did you happen to see https://github.com/hoplon/hoplon/issues/68 yet?)
@jab: just looked at it now - reminds me a lot of the usecase for http://clhs.lisp.se/Body/s_eval_w.htm
i can easily imagine a when-prerendering
macro that evaluates body only during prerender, not sure exaclty how it should work tho
@alandipert: thanks for taking a look. when you get a chance, any sense for the priority on that one? and do any workarounds occur to you in the meantime?
well, the html is in the fileset AFTER prerender
and you could make a task to mess with the html at that point
injecting in whatever tags you want
but, programming still required 😕
think i follow, thanks. boot chops not up to snuff yet but hopefully will be before too long. and priority?
@jab: we are generating our homepage with hoplon.
what's not solved about it is how to minimize compilation time.
currently for every hoplon (page ...)
there is a full google closure lib, jquery etc emitted into the target
dir.
we are sharing our layout https://github.com/exicon/homepage/blob/master/src/homepage/layout.cljs.hl#L106-L162 amongst our pages, so when we are working on the layout itself, all pages are recompiled on every change which takes 20-30seconds all together.
so while technically it's possible to use hoplon as a static site generator, i wouldn't recommend it just yet until we have a better model to handle the multipage app case.
as a workaround i turned the whole site into a SPA and pre-render it from under different paths.
this was not an easy sail either because the phantomjs pre-rendering js snippet was accessing the page thru the file://
protocol, so when i was getting the path with (.. js/window -location -pathname)
( https://github.com/exicon/homepage/blob/master/src/homepage/index.cljs.hl#L295-L316) i get /Users/onetom/exicon/homepage/target/index.html
during prerendering and /index.html
on production over https://
...
so to understand all these quirks and account for them in your code is what makes me think it's better NOT to recommend (boot-)hoplon as a static site builder
@alandipert: wouldnt a rename of (page) to something liken (entry "index.html") convey the point a bit better?
@mynomoto: have you had good results interacting with vega based charts from clojurescript?
@sjol: http://mynomoto.github.io/#/chart is as far as I got until now, but for the look of it it should just work. If you click on the header it will change the values on the cell and update the chart. Or if you change the ranges it will update the spec width and heigh causing updates on the chart itself.
The handler https://github.com/mynomoto/mynomoto.github.io/blob/sources/blog/src/blog/index.cljs.hl#L57
Data: https://github.com/mynomoto/mynomoto.github.io/blob/sources/blog/src/blog/vega.cljs.hl#L5
@mynomoto: I see! I was thinking more in terms of not having to re-inject the whole spec
a bit like in d3 where one should be able to update the data, remove then execute enter to re-render it all.
That should be possible, I'm still learning the api. There is also a streaming data option
@flyboarder: i like that... or main (main ...)?