Fork me on GitHub
#cljdoc
<
2023-06-07
>
Cora (she/her)22:06:21

@lee have you ever played with uix? I have a heap of free time due to layoffs and I was thinking that I'd spend some time doing that alternative UI, only I was thinking I'd use uix instead because it would keep it in clojure-land and it has most of the important features I was using typescript for

Cora (she/her)22:06:15

it doesn't include access to component libraries, though, since the server-side runs under the jvm

Cora (she/her)22:06:30

I'd imagine we could run helix via js on the server and use that instead for SSR, though

Cora (she/her)22:06:53

instead of uix, I mean, but helix SSR isn't really fully supported yet iirc

lread02:06:49

Hiya @U02N27RK69K! Somebody will snatch you up soon, I'm sure! I have no experience with any of the above. Is this https://github.com/roman01la/uix? I am finding it cool that you are exploring a ClojureScript-based front end! One of the big sore points of cljdoc is no easy-peasy local previews for library authors. Whatever we move forward with I hope it is amenable to this when we get to it. Have you played with https://youtu.be/c5QF2HjHLSE yet? The tiny bit of practice I've had with them has been very interesting. I find they really help me focus on what problem I am trying to solve, and then come up with various approaches, and then evaluate tradeoffs. No idea if you are interested in this, but this work seems like a good candidate to play/learn about DMs if that tickles your fancy.

Cora (she/her)04:06:05

it's actually this one, which is v2 of the one you linked: https://github.com/pitch-io/uix

👍 2
Cora (she/her)04:06:44

what do you mean by easy local previews? how were you hoping it would work?

Cora (she/her)04:06:21

and I haven't watched that talk yet but I've been meaning to! I guess I should watch it now 😅

lread13:06:54

Currently, local previews are great in that they replicate production, but kinda horrible in that https://github.com/cljdoc/cljdoc/blob/master/doc/running-cljdoc-locally-author.adoc. I've setup bb scripts on various projects to help with this (https://github.com/clj-commons/rewrite-clj/blob/fe3d880c1ccea5724d5048d3735de859ee235515/script/cljdoc_preview.clj#L1-L253), but still, the preview process is awkward. I'm not sure what the solution is yet, but it should be as easy as a single command and a preview in my browser as quickly as possible. When we get to this particular issue, I think a decision matrix will help!

lread13:06:34

As for that talk, it's pretty interesting. It covers some techniques that should be obvious and feel obvious but are perhaps not obvious because folks (including me) aren't typically using them.

Cora (she/her)15:06:37

hmmm yeah if we want to run it without a server then we need to be generating static html and have something that can compile to plain js

lread16:06:23

Perhaps "amenable to local preview" could be one of the criteria in your decision matrix (should you embark on exploring the dm).

lread15:06:40

I just remembered an old thought I had around local preview: I thought it might be cool if a preview could live-update as code was being edited. Just a germ of an idea, not sure if it is practical.

Cora (she/her)15:06:09

oh that's interesting

Cora (she/her)15:06:33

I was thinking about this a bit and I realized that one hack we could do would be to generate just the analysis locally and ship it to cljdoc for rendering, if that simplifies things for us

Cora (she/her)15:06:18

it feels like most of the difficulty and complexity of dependencies is in the rendering and not necessarily the analysis

lread15:06:54

Yeah, I don't think we need the weight of the entire cljdoc server for local previews, but that's our current solution. One thing I like, as detail-oriented-person, is being able to verify that my links back to my github repo actually work. This means my scm entry in my pom artifact is likely good and I haven't botched some hand-coded links. But I wonder how many people really care about that level of verification.

lread15:06:24

For those with an interest, we could introduce other ways to check that the scm entry looks ok. (It is often missing actually).