Allow multiple plugins in the PostCSS options map - hugo - [fork] hugo port for 9front
(HTM) git clone git@git.drkhsh.at/hugo.git
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Submodules
(DIR) README
(DIR) LICENSE
---
(DIR) commit 64abc83fc4b70c70458c582ae2cf67fc9c67bb3f
(DIR) parent f8d132d731cf8e27c8c17931597fd975e8a7c3cc
(HTM) Author: Joe Mooring <joe.mooring@veriphor.com>
Date: Fri, 8 Oct 2021 22:34:08 -0700
Allow multiple plugins in the PostCSS options map
Usage:
{{ $options := dict "use" "autoprefixer postcss-color-alpha" }}
{{ $style := resources.Get "main.css" | resources.PostCSS $options }}
Fixes #9015
Diffstat:
M docs/content/en/hugo-pipes/postcss… | 11 +++++++----
M resources/resource_transformers/po… | 3 ++-
2 files changed, 9 insertions(+), 5 deletions(-)
---
(DIR) diff --git a/docs/content/en/hugo-pipes/postcss.md b/docs/content/en/hugo-pipes/postcss.md
@@ -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 }}
@@ -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]
@@ -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
@@ -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
(DIR) diff --git a/resources/resource_transformers/postcss/postcss.go b/resources/resource_transformers/postcss/postcss.go
@@ -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)