mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-21 21:35:28 +02:00
@@ -109,6 +109,38 @@ T1: {{ $r.Content | safeHTML }}
|
||||
/* foo */`)
|
||||
}
|
||||
|
||||
func TestTransformImportIndentedSASS(t *testing.T) {
|
||||
t.Parallel()
|
||||
if !dartsass.Supports() {
|
||||
t.Skip()
|
||||
}
|
||||
|
||||
files := `
|
||||
-- assets/scss/_moo.sass --
|
||||
#main
|
||||
color: blue
|
||||
-- assets/scss/main.scss --
|
||||
@import "moo";
|
||||
|
||||
/* foo */
|
||||
-- config.toml --
|
||||
-- layouts/index.html --
|
||||
{{ $r := resources.Get "scss/main.scss" | toCSS (dict "transpiler" "dartsass") }}
|
||||
T1: {{ $r.Content | safeHTML }}
|
||||
|
||||
`
|
||||
|
||||
b := hugolib.NewIntegrationTestBuilder(
|
||||
hugolib.IntegrationTestConfig{
|
||||
T: t,
|
||||
TxtarString: files,
|
||||
NeedsOsFS: true,
|
||||
},
|
||||
).Build()
|
||||
|
||||
b.AssertFileContent("public/index.html", "T1: #main {\n color: blue;\n}\n\n/* foo */")
|
||||
}
|
||||
|
||||
// Issue 10592
|
||||
func TestTransformImportMountedCSS(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
@@ -86,7 +86,7 @@ func (t *transform) Transform(ctx *resources.ResourceTransformationCtx) error {
|
||||
baseDir: baseDir,
|
||||
c: t.c,
|
||||
|
||||
varsStylesheet: sass.CreateVarsStyleSheet(opts.Vars),
|
||||
varsStylesheet: godartsass.Import{Content: sass.CreateVarsStyleSheet(opts.Vars)},
|
||||
},
|
||||
OutputStyle: godartsass.ParseOutputStyle(opts.OutputStyle),
|
||||
EnableSourceMap: opts.EnableSourceMap,
|
||||
@@ -132,7 +132,7 @@ type importResolver struct {
|
||||
baseDir string
|
||||
c *Client
|
||||
|
||||
varsStylesheet string
|
||||
varsStylesheet godartsass.Import
|
||||
}
|
||||
|
||||
func (t importResolver) CanonicalizeURL(url string) (string, error) {
|
||||
@@ -184,11 +184,20 @@ func (t importResolver) CanonicalizeURL(url string) (string, error) {
|
||||
return "", nil
|
||||
}
|
||||
|
||||
func (t importResolver) Load(url string) (string, error) {
|
||||
func (t importResolver) Load(url string) (godartsass.Import, error) {
|
||||
if url == sass.HugoVarsNamespace {
|
||||
return t.varsStylesheet, nil
|
||||
}
|
||||
filename, _ := paths.UrlToFilename(url)
|
||||
b, err := afero.ReadFile(hugofs.Os, filename)
|
||||
return string(b), err
|
||||
|
||||
sourceSyntax := godartsass.SourceSyntaxSCSS
|
||||
if strings.HasSuffix(filename, ".sass") {
|
||||
sourceSyntax = godartsass.SourceSyntaxSASS
|
||||
} else if strings.HasSuffix(filename, ".css") {
|
||||
sourceSyntax = godartsass.SourceSyntaxCSS
|
||||
}
|
||||
|
||||
return godartsass.Import{Content: string(b), SourceSyntax: sourceSyntax}, err
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user