Closed akesson closed 1 year ago
I think it's already possible to use Tailwind with Leptos, but I thought it would be great to have a kind of --tailwind
parameter to the cargo leptos watch
command to automatically run tailwindcss to watch changes without having to use two terminals. If you think it would be a good feature to add I can start working on a PR.
Sure. I think it would be better to add it to the config:
[package.metadata.leptos]
tailwind = true
So that the LibPackage
struct ends up with a tailwind: bool
field.
A good second step would be to add support for automatic download and installation of the tailwind binary in the Exe
enum.
The signalling part is a bit complex, but if you want I can do that. Just give me a shout once the above is done.
I am thinking about working on this issue. can you tell me where can I check if classes have been updates in view!
macros, because I think tailwind build command have to be called everytime a class attribute is updated. Having tailwind watch command running would probably interfere with cargo rebuild as it does when it tried it by just running both tailwind watch
and cargo leptos watch
in two terminal instances. I was getting the following error everytime I tried using a class which wasn't already cached:-
Blocking waiting for file lock on package cache
or am I misinterpreting.
I am pretty new to open source so please don't mind that I am not well versed with the open source way of doing things.
I have already made the neccessary changes required for adding tailwind:bool
argument to the conifig file and updating the Exe
enum as well as the ExeMeta
struct in a local branch. Shall I publish it?
There's a rather complex signalling system in place. See https://github.com/leptos-rs/cargo-leptos/blob/main/src/readme.md but note that it is mainly for getting an approximate understanding of it.
Let's start with what you've already done and then I'll point you to the next steps. Could you do a PR to the tailwind-support
branch? Like that, we can take it step-by-step there.
Created the pull request #63
@akesson Do you think after merging changes from #62, tailwind can be integrated into the watch
process like I mention here:-
https://github.com/leptos-rs/cargo-leptos/issues/62#issuecomment-1405975986
Yes, you are definitely heading the right way. Better to use tailwind build
only because cargo-leptos
is already doing the fs watch. I think a good next step would be to integrate tailwind into the cargo build
step with an implementation in src/compile/tailwind.rs
. But let's finish the PR first.
Based on these instructions.
Basically, install binary and run on CSS change.