mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-14 20:37:55 -05:00
8d9511a08f
316cec249 Update future events template example (#1595) 3bde7d489 Install mage outside module (#1592) 762e27eff Clarify ignoreFiles regex matching 4d0032051 Add id attribute to h2 elements (#1590) 8262b077c Improve inline resource examples (#1587) 2eae7c7ec fix disqus example name (#1588) a772f4804 Added install instructions for openSUSE Tumbleweed (#1459) 7ad1c301b Remove screen capture from Hosting on GitHub page (#1586) a58541f49 add more details on about gh-pages and baseURL on hosting-on-github.md (#1346) 3bd0b46dc Update configuration page (#1585) 4cf1f013e Update OS functions 2c45a95c2 Remove getting-started/code-toggle/ 40fdff598 Describe artificial language private use subtags (#1577) 91011d210 Remove google_news from list of internal templates (#1576) 36c7879e4 Update the .Unix function 731063488 Remove a showcase 818c371a0 Update index.md 3136d39d9 netlify: Hugo 0.89.4 092bc9278 Merge branch 'tempv0.89.4' 18e01f105 releaser: Add release notes to /docs for release of 0.89.4 79135281f Correct and sort list of target image formats (#1574) af4170c7e netlify: Hugo 0.89.3 7f5444251 Merge branch 'tempv0.89.3' a32e4a6c2 releaser: Add release notes to /docs for release of 0.89.3 6dd3dc3f9 Update configuration.md 5fbe741d7 Update index.md (#1570) 37a69496f netlify: Bump to Hugo 0.89.2 3b293f1f4 Merge branch 'tempv0.89.2' 64c934e7a releaser: Add release notes to /docs for release of 0.89.2 919c51c7d Update index.md 13dd463b1 netlify: Hugo 0.89.1 d8cda1474 releaser: Add release notes to /docs for release of 0.89.1 a2adf7742 releaser: Add release notes to /docs for release of 0.89.1 c3088c4fc Add code toggle to menus page (#1568) 2d0f38978 Remove blank lines from code-toggle output (#1564) 7cf058bfd Add localization examples (#1563) cf8627c2e Fixing typos, fixing incomplete link (#1561) c78cc014b Document the removePathAccents setting 70beddaf4 Make corrections to 0.89.0 release notes (#1560) 1917195f0 Update index.md 7fb8e070c Run hugo --gc 1772d45fb Release 0.89.0 d9006179b Merge branch 'tempv0.89.0' 8db86b61e releaser: Add release notes to /docs for release of 0.89.0 abf268571 docs: Regen CLI docs fbbdb0ab1 Update the timeout default 9cbd1c15a Fix description of lang.FormatNumberCustom 6043b54cc Remove "render" keyword from Host on Render page f8ea8e84f Clarify description of front matter url (#1557) 91a0c9954 Update Twitter shortcode oEmbed endpoint 79a7405b8 Merge commit 'aa5ac36a3eb68b86c803caec703869efefc8447e' 57667bae6 hugofs: Add includeFiles and excludeFiles to mount configuration 0c9ee0a04 Allow multiple plugins in the PostCSS options map 155799e6b docs: Create path.Clean documentation git-subtree-dir: docs git-subtree-split: 316cec2494dc5f908283289371d74f36a73d3d8d
84 lines
2.6 KiB
Markdown
Executable file
84 lines
2.6 KiB
Markdown
Executable file
---
|
|
title: PostCSS
|
|
description: Hugo Pipes can process CSS files with PostCSS.
|
|
date: 2018-07-14
|
|
publishdate: 2018-07-14
|
|
lastmod: 2018-07-14
|
|
categories: [asset management]
|
|
keywords: []
|
|
menu:
|
|
docs:
|
|
parent: "pipes"
|
|
weight: 40
|
|
weight: 40
|
|
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 }}
|
|
```
|
|
|
|
{{% note %}}
|
|
Hugo Pipe's PostCSS requires the `postcss-cli` JavaScript package to be installed in the environment (`npm install -g postcss postcss-cli`) along with any PostCSS plugin(s) used (e.g., `npm install -g autoprefixer`).
|
|
|
|
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]
|
|
: Path to the PostCSS configuration file
|
|
|
|
noMap [bool]
|
|
: Default is `false`. Disable the default inline sourcemaps
|
|
|
|
inlineImports [bool] {{< new-in "0.66.0" >}}
|
|
: Default is `false`. Enable inlining of @import statements. It does so recursively, but will only import a file once.
|
|
URL imports (e.g. `@import url('https://fonts.googleapis.com/css?family=Open+Sans&display=swap');`) and imports with media queries will be ignored.
|
|
Note that this import routine does not care about the CSS spec, so you can have @import anywhere in the file.
|
|
Hugo will look for imports relative to the module mount and will respect theme overrides.
|
|
|
|
_If no configuration file is used:_
|
|
|
|
use [string]
|
|
: Space-delimited list of PostCSS plugins to use
|
|
|
|
parser [string]
|
|
: Custom PostCSS parser
|
|
|
|
stringifier [string]
|
|
: Custom PostCSS stringifier
|
|
|
|
syntax [string]
|
|
: Custom postcss syntax
|
|
|
|
```go-html-template
|
|
{{ $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
|
|
|
|
{{< new-in "0.66.0" >}}
|
|
|
|
The current Hugo environment name (set by `--environment` or in config or OS environment) is available in the Node context, which allows constructs like this:
|
|
|
|
```js
|
|
module.exports = {
|
|
plugins: [
|
|
require('autoprefixer'),
|
|
...process.env.HUGO_ENVIRONMENT === 'production'
|
|
? [purgecss]
|
|
: []
|
|
]
|
|
}
|
|
```
|