Jonathan Kelley c5096ff5bc add gitignore to tailwind 1 tahun lalu
..
public 0029fed24a create complete tailwind example project with steps to setup tailwind 2 tahun lalu
src 3270f7341a fix manganis support for dioxus desktop 1 tahun lalu
.gitignore c5096ff5bc add gitignore to tailwind 1 tahun lalu
Cargo.toml 407a82588a fix more examples 1 tahun lalu
Dioxus.toml d627153ccc show off the new asset system in the examples 1 tahun lalu
README.md 334e7e6f22 Updated packages and comments referencing old CLI location (#1786) 1 tahun lalu
input.css 0029fed24a create complete tailwind example project with steps to setup tailwind 2 tahun lalu
tailwind.config.js 0029fed24a create complete tailwind example project with steps to setup tailwind 2 tahun lalu

README.md

Example: Basic Tailwind usage

This example shows how an app might be styled with TailwindCSS.

Setup

  1. Install the Dioxus CLI:

    cargo install dioxus-cli
    
  2. Install npm: https://docs.npmjs.com/downloading-and-installing-node-js-and-npm

  3. Install the tailwind css cli: https://tailwindcss.com/docs/installation

  4. Initialize the tailwind css project:

    npx tailwindcss init
    

This should create a tailwind.config.js file in the root of the project.

  1. Edit the tailwind.config.js file to include rust files:

    module.exports = {
    mode: "all",
    content: [
        // include all rust, html and css files in the src directory
        "./src/**/*.{rs,html,css}",
        // include all html files in the output (dist) directory
        "./dist/**/*.html",
    ],
    theme: {
        extend: {},
    },
    plugins: [],
    }
    
  2. Create a input.css file with the following content:

    @tailwind base;
    @tailwind components;
    @tailwind utilities;
    
  3. Create a Dioxus.toml file with the following content that links to the tailwind.css file:

    [application]
    
    # App (Project) Name
    name = "Tailwind CSS + Dioxus"
    
    # Dioxus App Default Platform
    # desktop, web, mobile, ssr
    default_platform = "web"
    
    # `build` & `serve` dist path
    out_dir = "dist"
    
    # resource (public) file folder
    asset_dir = "public"
    
    [web.app]
    
    # HTML title tag content
    title = "dioxus | ⛺"
    
    [web.watcher]
    
    # when watcher trigger, regenerate the `index.html`
    reload_html = true
    
    # which files or dirs will be watcher monitoring
    watch_path = ["src", "public"]
    
    # include `assets` in web platform
    [web.resource]
    
    # CSS style file
    style = ["/tailwind.css"]
    
    # Javascript code file
    script = []
    
    [web.resource.dev]
    
    # serve: [dev-server] only
    
    # CSS style file
    style = []
    
    # Javascript code file
    script = []
    

Bonus Steps

  1. Install the tailwind css vs code extension
  2. Go to the settings for the extension and find the experimental regex support section. Edit the setting.json file to look like this:

    "tailwindCSS.experimental.classRegex": ["class: \"(.*)\""],
    "tailwindCSS.includeLanguages": {
    "rust": "html"
    },
    

Development

  1. Run the following command in the root of the project to start the tailwind css compiler:

    npx tailwindcss -i ./input.css -o ./public/tailwind.css --watch
    

Web

  • Run the following command in the root of the project to start the dioxus dev server:

    dx serve --hot-reload
    
  • Open the browser to http://localhost:8080

Desktop

  • Launch the dioxus desktop app

    cargo run