Code Monkey home page Code Monkey logo

Comments (8)

pepperoni21 avatar pepperoni21 commented on July 29, 2024

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.

from cargo-leptos.

akesson avatar akesson commented on July 29, 2024

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.

from cargo-leptos.

ManitVig avatar ManitVig commented on July 29, 2024

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.

from cargo-leptos.

ManitVig avatar ManitVig commented on July 29, 2024

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?

from cargo-leptos.

akesson avatar akesson commented on July 29, 2024

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.

from cargo-leptos.

ManitVig avatar ManitVig commented on July 29, 2024

Created the pull request #63

from cargo-leptos.

ManitVig avatar ManitVig commented on July 29, 2024

@akesson Do you think after merging changes from #62, tailwind can be integrated into the watch process like I mention here:-

#62 (comment)

from cargo-leptos.

akesson avatar akesson commented on July 29, 2024

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.

from cargo-leptos.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.