This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # admin-announcements (7)
- # alda (6)
- # beginners (34)
- # boot (23)
- # cljs-dev (3)
- # clojure (73)
- # clojure-italy (4)
- # clojure-japan (6)
- # clojure-nlp (1)
- # clojure-russia (104)
- # clojure-sg (2)
- # clojurescript (222)
- # clojurex (7)
- # cursive (41)
- # datascript (2)
- # datomic (56)
- # docs (1)
- # editors (6)
- # emacs (3)
- # events (8)
- # hoplon (139)
- # jobs (2)
- # ldnclj (24)
- # luminus (2)
- # off-topic (3)
- # om (12)
- # onyx (24)
- # re-frame (5)
- # remote-jobs (1)
- # yada (1)
Deployed new project templates for Hoplon and Castra using boot2 and Hoplon6 / Castra3
@mynomoto: is nubank where you work? just saw the cognitect whitepaper about datomic use, sounds really cool
@alandipert: yeap, datomic is amazing. Some colleagues will be presenting more about our use of it with Spark and Kafka at Strangeloop
btw as a newcomer, your thoughts on the new http://hoplon.io/, particularly the tone, copy, and demos - would be extremely valuable!
I’ll take a look. I’ve been trying to get our team to buy-in to Hoplon for some SPAs. Maybe this new site and documentation will help.
you are in charlotte, right? have we met? i want to say we've met at a triclojure but i can't remember 😦
Yes, I’m in Charlotte. We met at a Conj. I don’t remember which one. I’ll be at Strange Loop and the Conj in Philly and would love to catch up.
cool, maybe it was the first one... unfortunately i'm not going to either of those 😞 but i imagine we'll definitely cross paths agani
Hi @alandipert, new site is looking very nice. As a newcomer, when I read the timer example, I stopped to think about whether the cell gets reused or whether each timer element gets a separate cell. Maybe something like this might make it clearer:
(but also, totally just a nit-picky suggestion and I think it’s totally fine as is!)
i had something like that for the todo app where a
(let [n (cell 0)] (defn todo ...)) and then each app showed which # it was and of how many instances
it's definitely important to show that instances can maintain local state independently
I’m working thru getting the jquery fileupload plugin to work as hoplon element. And taking notes as I go. It’s been a good learning experience to understand how hoplon works, how boot works, and how cljsjs fits into the picture. I’m taking notes and so I’ll try to get it into shape for the wiki
upgradingdave: it's nice that you are trying to integrate the fileupload plugin. do u know http://filepicker.io ? we are just using that with our hoplon apps (though i havent personally checked if it broke since we upgraded to the latest hoplon6...)
but for now, i’m just playing/tinkering. I maybe want to build a really small app so my parents can upload pics of my kids into my s3 bucket and since I’m familiar with jquery fileupload from life before clojurescript, I decided to run with it
isn't amazing though that file chooser/upload in webapps in general is such a pain?!
it’s really encouraging to think that eventually it’ll be possible to have a
fileupload hoplon component that I can just drop in whenever needed 😉
true, but filepicker just offers so much more out of the box and it took a few minutes for my colleagues to hook it in and they didnt even have a lot of web programming experience really... i would really recommend to do the proof of concept w filepicker and replace w the jq plugin (if u still feel it necessary 😉
@mynomoto: i saw a talk about kafka + samsa a few months ago. i had the feeling it was a competing model to datomic. im surprised to hear about datomic + kafka... let us know when the talk goes online!
@alandipert: i saw your FOUC fix. does it mean it's clear to you why is it happening? my suspicion is that there is some flashing when hoplon replaces the content of the head and keep adding the link elements. just basing the visibility of the body elem on the initial loading order of the pre-rendered html page might be not enough to completely get rid of FOUC.
and the next funny thing we are experiencing is some kind of a memory leak which leads to high cpu usage. i will attack it with a divide and conquer later if there is anything to learn from it. (i just got a bit sick lately thats why i went a bit silent) and of course the new site is awesome indeed!
the other day i tried to create a custom
menu element, but the menu element is already defined.
how can i redefine it within a .hl file without triggering a compilation warning?
hoplon is really slick in that most of the issues i run into have already been solved, that was one I faced last week
i agree. and i actually read a lot of its source and i understand quite a lot of the hoplon.cljs too, but not the .clj
then I think my first suggestion would be the way to go..... still a n00b at this tho 😛
@alandipert: should the hoplon boot task not compile source files and move to target if there is no additional handler?
I had to add an additional task to compile my hl components if I want them in a separate lib
it seems if cljs is not in the task then the files are left in the source type and not moved to target
yeah but it's still just as cljs so it doesnt need the dep's except in the project whil compiles everything to js
I was thinking about this lately - would it make sense to complete the coverage and build css into hoplon? Right now
.hl files compile to html and js, the last piece missing is css
cljs compiler solves the js part, hlisp solves html, but we don't have anything simple to solve css
and when I played around with basscss which uses some css compilers to support variables, custom media queries etc, that's seems so simple to implement. I mean the whole thing brings in one big css file with lots of cool definitions you might use, which is great. But if we bring lisp and hoplon in the picture one could just define the props/attributes of the DOM element directly and get inline defs or separate css files compiled. Which could be pretty small, depending on what you used, i.e. each page could have a separate, tiny css file associated to it
@xifi : I was thinking about how to solve this the other day, there are a few problems I see: 1. Compiler now needs to know about the css asset files
1 - I don't understand. The compiler works like so: input -
index.cljs.hl -> output -
index.js. What I was talking about would be (possibly) adding another output file,
2 - 3rd party libs can't include the generated hoplon js files either, can they. If I understand correctly this isn't really a goal of hoplon
oh i see I miss understood your direction, i believe you are correct there isnt an intended way to package hoplon components it can be done with the task above
in the top level of the namespace is some code that dynamically adds a stylesheet. so when you require one of these wrapper NSes, you get the CSS
but yeah we want to solve the problem, because without a system for transitive dependencies that interops with cljs we can't package styles alongside programs really
so micha's idea is a kind of cljsjs style approach w/ the ns wrapper, that would allow for transitive dependencies
what would the underlying data be? hlisp generates DOM elements, but you don't have a CSS object in the DOM (or js) do you
well, tehre are kind of 2 open things around CSS... one is interop and packaging of existing CSS
which is identifying what exactly sucks so much about CSS and how can we do better
we know CSS in the end is just properties on DOM objects, and we know lisp can do it, but the exact answer isn't yet clear
@xifi: http://hoplon.discoursehosting.net/t/lets-talk-about-layout/223 would be good reading on this if you haven't seen
the more I play with html and read stuff I fail to see the advantages the separation of html and css has brought
I was pretty frustrated though when I started working on a very simple example project and wanted to put 2 things side-by-side, 50/50 and then spent 3 days learning about css until picking a library like basscss to do the heavy lifting for me
people on the clojurescript channel had ideas, but all were different 😄 "Use float", "Use flexbox", "Use inline-block", ...
I just want
(div :layout (grid 1 2) (div :position "50%" "one") (div :position "50%" "two"))
yeah we have the beginnings of nice interface design tooling, but that stuff is really hard to build
in the past, before cells, there wasn't really a good way to wire pieces of the page together
the last time i used XCode it had a slick designer but it was never really usable because the underlying relationships were not managed
like builds relationships between elements that are totally tractable and can be extended via code, instead of scrapped and re-hand coded
it's funny how stuff in life works if you think about it. JS rules the browser and it's not very bad, but it's no holy grail either. So people build abstractions on top of it that compiles down to it. Now I'm talking about the same for CSS. Crappy things rule the world so we abstract over them so the next person won't scratch his/her eyes out
this is the reason I didn't come and play with html for the last 2 years, I find it a real mess
i was reffering to the whole abstraction thing, we dont even run applications correctly, and for that matter we dont run kernels well either, you can trace the whole stack and the abstraction is terrible for much of the way down
@alandipert: thanks for the discourse link. Reading through it (and some of the links) there's many paths one can take