00:09 Pe_Elle joined 01:11 Pe_Elle left 01:26 Pe_Elle joined 02:27 Pe_Elle left 02:39 Pe_Elle joined
aruniecrisps update: more life stuff getting in the way, i'll get to it tomorrow 02:40
i do want to help improve cro, i have a couple of ideas as well in addition to the Cromponent work 02:41
02:44 Pe_Elle left 03:06 Pe_Elle joined
@lizmat, it doesn't look like it's re-precompiling it looks like 03:57
@librasteve where do you suggest i throw some say now - $starts?
04:09 Pe_Elle left 04:24 Pe_Elle joined 05:25 Pe_Elle left 05:38 Pe_Elle joined 06:39 Pe_Elle left 06:55 Pe_Elle joined
SmokeMachine I'm planing on deprecating Cromponent's template-with-components in favor of something like this: github.com/FCO/Cromponent/blob/mai.../todo.raku where you do not use Cromponent on your cro code, only on your components it self (like this: github.com/FCO/Cromponent/blob/mai...o.rakumod) and your component is compiled as template and you can use that inside your templates (like this: 07:22
github.com/FCO/Cromponent/blob/mai...se.crotmp) and you only use your components on your cro routes if you want it to auto-create endpoints to themselves (like here: github.com/FCO/Cromponent/blob/mai...raku#L14). Any opinion about that? Any suggestion? librasteve?
I think that ways is more "cro-ish"... and it also have the benefit of, if you call the component with a component object (eq: `<&Todo(.todo)>`) it uses the object as data (as it already did), but if you instead passes some named arguments (eg: `<|Boilerplate(:htmx, :title('Todo - Cromponent'))></|>`), it creates a new object with those parameters and use that created object as data. 07:27
(Just to make it clear, about instantiating the obj, there is no difference between sub and macro... I just used the examples from the code...) 07:28
07:57 Pe_Elle left 08:13 Pe_Elle joined 09:15 Pe_Elle left 09:29 Pe_Elle joined 10:26 sena_kun joined 10:29 sena_kun left 10:31 sena_kun joined
SmokeMachine This is my idea for deprecating `template-with-components`: github.com/FCO/Cromponent/pull/9 this PR has an error I'm not being able to fix... the error message says something about `lang-call` that seems to be a dispatcher and it happens on `use`... but the odd thing is that it works if I `use Todo`, but doesn't when I `use todo-routes` that uses Todo... but if I Comment the `use Todo` from `todo-routes` it works... I am 11:01
manipulating the EXPORT of Todo, so that might be related to that... But I couldn't find the problem or a solution. The PR description has more details. Could someone help me on that?
11:35 Pe_Elle left 12:00 Pe_Elle joined 12:02 Pe_Elle left, Pe_Elle joined 12:34 Pe_Elle left 12:35 Pe_Elle joined 12:40 Pe_Elle left 12:56 Pe_Elle joined 13:41 guifa left 13:56 Pe_Elle left 14:11 Pe_Elle joined 14:55 librasteve_ joined
librasteve SmokeMachine: thanks for checking on the ability of Cro Template to do nested iterables - I searched the docs for this and could not find it ... I see that it does do the obvious thing 14:58
<@tables> <ul> <@tags><li><$_></li></@> </ul> <&Table(.table)> <:separator><br><hr><br></:> </@> 14:59
sharing here for others to see - at the time I hit this concern, I was unsure about whether the inner var needed to be given a name like: 15:02
$topic<tables> = tables[ { :tags<a e i o u>, :table($table), }, { :tags<a e i o u>, :table($themed), }, { :tags<a e i o u>, :table($striped),}, ];
maybe we should raise a PR on the Cro template docs? 15:03
15:12 Pe_Elle left
that said, the use of nested iterables in Cro was (for me) a hurdle [both in having no examples in the docs / LLM to steal and in that it raised questions in my mind like how can I index into an array in Cro template language]. Thank you for solving that, but it was not the only worry I had - how can I do something conditional in the first iteration (ie for th on the left element of a row), how to put conditional 15:15
classes in the table tag and so on and so on ... you probably will rightly say that these things are possible in Cro template, but each time I needed to add a feature to my code I found that Cro template syntax was awkward and ugly (for me) vs. jnthns advice (see above) to do only simple logic in Cro template language and it just seemed like puching water uphill vs. coding directly in raku (with the help of HTML::Functional).
This for me was a subjective call - I don't expect you to agree ... and I am sure the Cro templates will be a main / the main way to build components for Cro websites and that I will likely need to marry these two ideas (components in functional raku and Cro template Cromponents) ... eg for Cro user auth, for Cro forms and so on.
Anyway I do not mean to criticize Cromponents, I think it is a great way to buikd components for Cro using the template syntax and I think we need that ... I am just explaining why my path will diverge for now... 15:17
15:17 Pe_Elle joined
SmokeMachine librasteve: I also have some Cro components not using cro templates half baked, if you'd like to take a look... 15:22
15:23 Pe_Elle left 15:54 Pe_Elle joined 15:58 Pe_Elle left 16:18 Pe_Elle joined 17:02 Pe_Elle left, Pe_Elle joined
librasteve yeah - I am very happy to take a look and hope to have crotmp and functional templates be interoperable (such as one kind can take a body of another kind), personally I am really liking the code style and legibility via HTML::Functional ... (which is just a fancy way to make an HTML Str) so it would be awesome if you could make that work too 17:51
my latest efforts are here github.com/librasteve/raku-Cro-Web...ib.rakumod (from yesterday) 17:52
I have been vaguely considering changing to method render($topic) ie. return a callable that takes a crotmp style topic ... why? that way I expect that my components will be precomped and can be installed and called from a route eg via zef install MyLib to avoid recompiling them all in the build and to have similar cached behaviour as crotmps 17:55
18:14 Pe_Elle left 18:30 Pe_Elle joined 18:34 Pe_Elle left