npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@olenzilla/tailwindcss-plugin-background-image

v1.0.3

Published

A Tailwind plugin that generates background-image TailwindCSS utilities from glob'd pattern of image files.

Downloads

40

Readme

@olenzilla/tailwindcss-plugin-background-image npm Commitizen friendly

NPM

A Tailwind plugin that generates background-image TailwindCSS utilities from glob'd pattern of image files.

Headline: when used in combination with Prettier and prettier-plugin-tailwindcss, this allows you to have autocompletion for the bg-* classes this plugin creates.

Basic Usage

This will use all default options:

  • Find and create all images under src
  • Create a Tailwind utility classes for each image with, and without, their respective file extensions. For example:
    • src/something.png means you can use class="bg-something" or class="bg-something.png" in your HTML templates.
    • Those tailwind utilities will be styled as background-image: url('src/something.png');
  • Because these are just Tailwind utilities:
    • You can use any variants enabled in your Tailwind config. For example:
      • With images src/home-mobile.jpg and src/home-desktop.jpg,
      • You can use class="bg-home-mobile md:bg-home-desktop" to style a responsive home background image.
    • By using Prettier and prettier-plugin-tailwindcss, you will have autocomplete for all the bg-* Tailwind utilities this plugin creates.

Contents of tailwind.config.js:

/** @type {import('tailwindcss').Config} */
module.exports = {
	// ...
	plugins: [
		require('@olenzilla/tailwindcss-plugin-background-image'),
		// ...
	],
}

Basic Nuxt Usage

If you're using Tailwind in a Nuxt project, use '@olenzilla/tailwindcss-plugin-background-image/nuxt' in your tailwind.config.js. It is setup to assume you're using the assets folder for images, and uses a background-image expression of url('~/...') for the images there.

Contents of tailwind.config.js:

/** @type {import('tailwindcss').Config} */
module.exports = {
	// ...
	plugins: [
		require('@olenzilla/tailwindcss-plugin-background-image/nuxt'),
		// ...
	],
}

Advanced Usage

You can use:

/** @type {import('tailwindcss').Config} */
module.exports = {
	// ...
	plugins: [
		require('@olenzilla/tailwindcss-plugin-background-image/make-plugin').default({
			// ...
		}),
		// ...
	],
}

With any of the following options, to customize any aspect of this plugin for your particular project:

makePlugin Options

globOptionsByPattern

Object whose keys are glob patterns, and whose values are the corresponding GlobOptions> for that glob pattern. Default:

{ './src/**/*.@(jpg|jpeg|png|gif|svg|webp)': { dot: true } }

makeStyle

Type: function(imagePath: string): {backgroundImage: string} or false/null/undefined

A function that takes the path of each image retrieved by the glob(s), and returns a dictionary for the background-image style of the created Tailwind utility. Or, if falsy, no utility will be created for that image. Default:

(image) => ({ backgroundImage: `url('${image}')` })

makeUtilityWithExtension

Type: function(imagePath: string): string | false | null | undefined or false/null/undefined

A function that takes the path of each image retrieved by the glob(s), and returns the name of the Tailwind utility to be created with the image's extension (to disambiguate it from another image with the same name but different extension). Or, if falsy, no utility will be created for image with its extension. Default:

(image) => image.replace(/^src/, '')

makeUtilityWithoutExtension

Type: function(imagePath: string): string | false | null | undefined or false/null/undefined

A function that takes the path of each image retrieved by the glob(s), and returns the name of the Tailwind utility to be created without the image's extension. Or, if falsy, no utility will be created for image without the image's extension. Default:

(image) => image.replace(/^src|\.\w+$/g, '')

utilityPrefix

Type: string | false | null | undefined

The string to be added as the prefix for all the utilities created by this plugin.

Default: 'bg-'