Also remove test references to deprecated funcs now in ERROR.
Closes #12828
for _, p := range s.Pages() {
checkDated(p, p.Kind())
}
- checkDate(s.LastChange(), "site")
+ checkDate(s.Lastmod(), "site")
}
func TestPageDatesSections(t *testing.T) {
[security.http]
mediaTypes=["application/json"]
-`)
- })
- })
-
- c.Run("getJSON, OK", func(c *qt.C) {
- c.Parallel()
- httpTestVariant(c, `{{ $json := getJSON "%[1]s/fruits.json" }}{{ $json.Content }}`, "", nil)
- })
-
- c.Run("getJSON, denied URL", func(c *qt.C) {
- c.Parallel()
- httpTestVariant(c, `{{ $json := getJSON "%[1]s/fruits.json" }}{{ $json.Content }}`, `(?s).*is not whitelisted in policy "security\.http\.urls".*`,
- func(b *sitesBuilder) {
- b.WithConfigFile("toml", `
-[security]
-[security.http]
-urls="none"
-`)
- })
- })
-
- c.Run("getCSV, denied URL", func(c *qt.C) {
- c.Parallel()
- httpTestVariant(c, `{{ $d := getCSV ";" "%[1]s/cities.csv" }}{{ $d.Content }}`, `(?s).*is not whitelisted in policy "security\.http\.urls".*`,
- func(b *sitesBuilder) {
- b.WithConfigFile("toml", `
-[security]
-[security.http]
-urls="none"
`)
})
})
---
-- layouts/index.html --
site.Lastmod: {{ .Site.Lastmod.Format "2006-01-02" }}
-site.LastChange: {{ .Site.LastChange.Format "2006-01-02" }}
home.Lastmod: {{ site.Home.Lastmod.Format "2006-01-02" }}
`
b := Test(t, files)
- b.AssertFileContent("public/index.html", "site.Lastmod: 2023-04-01\nsite.LastChange: 2023-04-01\nhome.Lastmod: 2023-01-01")
+ b.AssertFileContent("public/index.html", "site.Lastmod: 2023-04-01\nhome.Lastmod: 2023-01-01")
}
s := buildSingleSite(t, deps.DepsCfg{Fs: fs, Configs: configs}, BuildCfg{SkipRender: true})
- c.Assert(s.LastChange().IsZero(), qt.Equals, false)
- c.Assert(s.LastChange().Year(), qt.Equals, 2017)
+ c.Assert(s.Lastmod().IsZero(), qt.Equals, false)
+ c.Assert(s.Lastmod().Year(), qt.Equals, 2017)
}
// Issue #_index
func resolveBlockQuoteAlert(s string) blockQuoteAlert {
m := blockQuoteAlertRe.FindStringSubmatch(s)
if len(m) == 4 {
+ title := strings.TrimSpace(m[3])
+ title = strings.TrimRight(title, "</p>")
return blockQuoteAlert{
typ: strings.ToLower(m[1]),
sign: m[2],
- title: m[3],
+ title: title,
}
}
> [!danger]
> Do not approach or handle without protective gear.
-
> [!tip] Callouts can have custom titles
> Like this one.
> [!faq]+ Foldable callout
> Yes! In a foldable callout, the contents are hidden when the callout is collapsed
+> [!info] Can callouts be nested?
+> > [!important] Yes!, they can.
+> > > [!tip] You can even use multiple layers of nesting.
+
-- layouts/index.html --
{{ .Content }}
-- layouts/_default/_markup/render-blockquote.html --
b := hugolib.Test(t, files)
b.AssertFileContentExact("public/index.html",
"AlertType: tip|AlertTitle: Callouts can have custom titles|AlertSign: |",
- "AlertType: tip|AlertTitle: Title-only callout</p>|AlertSign: |",
- "AlertType: faq|AlertTitle: Foldable negated callout|AlertSign: -|Text: <p>Yes!",
- "AlertType: faq|AlertTitle: Foldable callout|AlertSign: +|",
+ "AlertType: tip|AlertTitle: Title-only callout|AlertSign: |",
+ "AlertType: faq|AlertTitle: Foldable negated callout|AlertSign: -|Text: <p>Yes! In a foldable callout, the contents are hidden when the callout is collapsed</p>\n|",
+ "AlertType: faq|AlertTitle: Foldable callout|AlertSign: +|Text: <p>Yes! In a foldable callout, the contents are hidden when the callout is collapsed</p>\n|",
"AlertType: danger|AlertTitle: |AlertSign: |Text: <p>Do not approach or handle without protective gear.</p>\n|",
+ "AlertTitle: Can callouts be nested?|",
+ "AlertTitle: You can even use multiple layers of nesting.|",
)
}
}
for i, test := range tests {
- c.Assert(resolveBlockQuoteAlert("<p>"+test.input), qt.Equals, test.expected, qt.Commentf("Test %d", i))
+ c.Assert(resolveBlockQuoteAlert("<p>"+test.input+"</p>"), qt.Equals, test.expected, qt.Commentf("Test %d", i))
}
}