Files
hugo/docs/content/en/hugo-pipes/transform-to-css.md
2023-05-22 16:47:07 +02:00

2.3 KiB

title, linkTitle, description, categories, keywords, menu, weight, signature
title linkTitle description categories keywords menu weight signature
ToCSS Transpile Sass to SCSS Transpile Sass to CSS.
asset management
docs
parent weight
pipes 30
02
resources.ToCSS RESOURCE [OPTIONS]
toCSS RESOURCE [OPTIONS]

Usage

Any Sass or SCSS file can be transformed into a CSS file using resources.ToCSS which takes two arguments, the resource object and a map of options listed below.

{{ $sass := resources.Get "sass/main.scss" }}
{{ $style := $sass | resources.ToCSS }}

Options

transpiler [string]

The transpiler to use, valid values are libsass (default) and dartsass. If you want to use Hugo with Dart Sass you need to download a release binary from Embedded Dart Sass and make sure it's in your PC's $PATH (or %PATH% on Windows).

targetPath [string]
If not set, the transformed resource's target path will be the asset file original path with its extension replaced by .css.
vars [map]
Map of key/value pairs that will be available in the hugo:vars namespace, e.g. with @use "hugo:vars" as v; or (globally) with @import "hugo:vars"; {{< new-in "0.109.0" >}}
outputStyle [string]
Default is nested (LibSass) and expanded (Dart Sass). Other available output styles for LibSass are expanded, compact and compressed. Dart Sass only supports expanded and compressed.
precision [int]
Precision of floating point math. Note: This option is not supported by Dart Sass.
enableSourceMap [bool]
When enabled, a source map will be generated.
sourceMapIncludeSources [bool]
When enabled, sources will be embedded in the generated source map. (Dart Sass only). {{< new-in "0.108.0" >}}
includePaths [string slice]
Additional SCSS/Sass include paths. Paths must be relative to the project directory.
{{ $options := (dict "targetPath" "style.css" "outputStyle" "compressed" "enableSourceMap" (not hugo.IsProduction) "includePaths" (slice "node_modules/myscss")) }}
{{ $style := resources.Get "sass/main.scss" | resources.ToCSS $options }}

{{% note %}} Setting outputStyle to compressed will handle Sass/SCSS files minification better than the more generic resources.Minify. {{% /note %}}