Tailwind (tailwind v0.3.1)

View Source

Tailwind is an installer and runner for tailwind.

Profiles

You can define multiple tailwind profiles. By default, there is a profile called :default which you can configure its args, current directory and environment:

config :tailwind,
  version: "4.0.9",
  default: [
    args: ~w(
      --input=css/app.css
      --output=../priv/static/assets/app.css
    ),
    cd: Path.expand("../assets", __DIR__),
  ]

Tailwind configuration

There are four global configurations for the tailwind application:

  • :version - the expected tailwind version

  • :version_check - whether to perform the version check or not. Useful when you manage the tailwind executable with an external tool (eg. npm)

  • :path - the path to find the tailwind executable at. By default, it is automatically downloaded and placed inside the _build directory of your current app

  • :target - the target architecture for the tailwind executable. For example "linux-x64-musl". By default, it is automatically detected based on system information.

Overriding the :path is not recommended, as we will automatically download and manage tailwind for you. But in case you can't download it (for example, GitHub behind a proxy), you may want to set the :path to a configurable system location.

For instance, you can install tailwind globally with npm:

$ npm install -g tailwindcss

On Unix, the executable will be at:

NPM_ROOT/tailwind/node_modules/tailwind-TARGET/bin/tailwind

On Windows, it will be at:

NPM_ROOT/tailwind/node_modules/tailwind-windows-(32|64)/tailwind.exe

Where NPM_ROOT is the result of npm root -g and TARGET is your system target architecture.

Once you find the location of the executable, you can store it in a MIX_TAILWIND_PATH environment variable, which you can then read in your configuration file:

config :tailwind, path: System.get_env("MIX_TAILWIND_PATH")

Summary

Functions

Returns the path to the executable.

Returns the version of the tailwind executable.

Returns the configuration for the given profile.

Returns the configured tailwind target. By default, it is automatically detected.

Returns the configured tailwind version.

The default URL to install Tailwind from.

Installs, if not available, and then runs tailwind.

Runs the given command with args.

Functions

bin_path()

Returns the path to the executable.

The executable may not be available if it was not yet installed.

bin_version()

Returns the version of the tailwind executable.

Returns {:ok, version_string} on success or :error when the executable is not available.

config_for!(profile)

Returns the configuration for the given profile.

Returns nil if the profile does not exist.

configured_target()

Returns the configured tailwind target. By default, it is automatically detected.

configured_version()

Returns the configured tailwind version.

default_base_url()

The default URL to install Tailwind from.

install(base_url \\ default_base_url())

Installs tailwind with configured_version/0.

install_and_run(profile, args)

Installs, if not available, and then runs tailwind.

Returns the same as run/2.

run(profile, extra_args)

Runs the given command with args.

The given args will be appended to the configured args. The task output will be streamed directly to stdio. It returns the status of the underlying call.