Skip to content

Commit

Permalink
Allow multiple plugins in the PostCSS options map
Browse files Browse the repository at this point in the history
Usage:
{{ $options := dict "use" "autoprefixer postcss-color-alpha" }}
{{ $style := resources.Get "main.css" | resources.PostCSS $options }}

Fixes #9015
  • Loading branch information
jmooring authored and bep committed Oct 10, 2021
1 parent f8d132d commit 64abc83
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 5 deletions.
11 changes: 7 additions & 4 deletions docs/content/en/hugo-pipes/postcss.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,10 @@ sections_weight: 40
draft: false
---


Any asset file can be processed using `resources.PostCSS` which takes for argument the resource object and a slice of options listed below.

The resource will be processed using the project's or theme's own `postcss.config.js` or any file set with the `config` option.


```go-html-template
{{ $css := resources.Get "css/main.css" }}
{{ $style := $css | resources.PostCSS }}
Expand All @@ -31,6 +29,7 @@ Hugo Pipe's PostCSS requires the `postcss-cli` JavaScript package to be installe

If you are using the Hugo Snap package, PostCSS and plugin(s) need to be installed locally within your Hugo site directory, e.g., `npm install postcss-cli` without the `-g` flag.
{{% /note %}}

### Options

config [string]
Expand All @@ -48,7 +47,7 @@ Hugo will look for imports relative to the module mount and will respect theme o
_If no configuration file is used:_

use [string]
: List of PostCSS plugins to use
: Space-delimited list of PostCSS plugins to use

parser [string]
: Custom PostCSS parser
Expand All @@ -60,7 +59,11 @@ syntax [string]
: Custom postcss syntax

```go-html-template
{{ $style := resources.Get "css/main.css" | resources.PostCSS (dict "config" "customPostCSS.js" "noMap" true) }}
{{ $options := dict "config" "customPostCSS.js" "noMap" true }}
{{ $style := resources.Get "css/main.css" | resources.PostCSS $options }}
{{ $options := dict "use" "autoprefixer postcss-color-alpha" }}
{{ $style := resources.Get "css/main.css" | resources.PostCSS $options }}
```

## Check Hugo Environment from postcss.config.js
Expand Down
3 changes: 2 additions & 1 deletion resources/resource_transformers/postcss/postcss.go
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,8 @@ func (opts Options) toArgs() []string {
args = append(args, "--no-map")
}
if opts.Use != "" {
args = append(args, "--use", opts.Use)
args = append(args, "--use")
args = append(args, strings.Fields(opts.Use)...)
}
if opts.Parser != "" {
args = append(args, "--parser", opts.Parser)
Expand Down

0 comments on commit 64abc83

Please sign in to comment.