Skip to main content

Integrate Tailwind CSS with Plain.

Project description

plain.tailwind

Integrate Tailwind CSS without JavaScript or npm.

Made possible by the Tailwind standalone CLI, which is installed for you.

$ plain tailwind
Usage: plain tailwind [OPTIONS] COMMAND [ARGS]...

  Tailwind CSS

Options:
  --help  Show this message and exit.

Commands:
  compile  Compile a Tailwind CSS file
  init     Install Tailwind, create a tailwind.config.js...
  update   Update the Tailwind CSS version

Installation

Add plain.tailwind to your INSTALLED_PACKAGES:

# settings.py
INSTALLED_PACKAGES = [
    # ...
    "plain.tailwind",
]

Create a new tailwind.config.js file in your project root:

plain tailwind init

This will also create a tailwind.css file at static/src/tailwind.css where additional CSS can be added. You can customize where these files are located if you need to, but this is the default (requires STATICFILES_DIR = BASE_DIR / "static").

The src/tailwind.css file is then compiled into dist/tailwind.css by running tailwind compile:

plain tailwind compile

When you're working locally, add --watch to automatically compile as changes are made:

plain tailwind compile --watch

Then include the compiled CSS in your base template <head>:

{% tailwind_css %}

In your repo you will notice a new .plain directory that contains tailwind (the standalone CLI binary) and tailwind.version (to track the version currently installed). You should add .plain to your .gitignore file.

Updating Tailwind

This package manages the Tailwind versioning by comparing the value in your pyproject.toml to .plain/tailwind.version.

# pyproject.toml
[tool.plain.tailwind]
version = "3.4.1"

When you run tailwind compile, it will automatically check whether your local installation needs to be updated and will update it if necessary.

You can use the update command to update your project to the latest version of Tailwind:

plain tailwind update

Adding custom CSS

If you need to actually write some CSS, it should be done in app/static/src/tailwind.css.

@tailwind base;


@tailwind components;

/* Add your own "components" here */
.btn {
    @apply bg-blue-500 hover:bg-blue-700 text-white;
}

@tailwind utilities;

/* Add your own "utilities" here */
.bg-pattern-stars {
    background-image: url("/static/images/stars.png");
}

Read the Tailwind docs for more about using custom styles →

Deployment

If possible, you should add static/dist/tailwind.css to your .gitignore and run the plain tailwind compile --minify command as a part of your deployment pipeline.

When you run plain tailwind compile, it will automatically check whether the Tailwind standalone CLI has been installed, and install it if it isn't.

When using Plain on Heroku, we do this for you automatically in our Plain buildpack.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plain_tailwind-0.3.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

plain_tailwind-0.3.0-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file plain_tailwind-0.3.0.tar.gz.

File metadata

  • Download URL: plain_tailwind-0.3.0.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.8.0-1014-azure

File hashes

Hashes for plain_tailwind-0.3.0.tar.gz
Algorithm Hash digest
SHA256 7dadb018b5d3ed73dccd9b91275ae3dd85f939b9bc239f25dfdc9f56e3ce5f3e
MD5 990001fee602be2241e2a656db3faced
BLAKE2b-256 008e42fbab5963b20f1688ee4bd8f8bf8f03d1f46416fded9f491250b0a7ee3e

See more details on using hashes here.

File details

Details for the file plain_tailwind-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: plain_tailwind-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.8.0-1014-azure

File hashes

Hashes for plain_tailwind-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 01d324906b2b04252ad53a3d1544b16a51689d358d2c7ca6a3b04df0669d9061
MD5 b63abd24e5481d78a316795fbaae822d
BLAKE2b-256 4d216522cc55e3fa2a0885233c59522a342088fc1cf51f317dc2756e86eefd62

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page