aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <[email protected]>2024-08-14 16:57:18 +0200
committerBjørn Erik Pedersen <[email protected]>2024-08-14 18:09:04 +0200
commitd72607adb9f17d9cca5f71bd80a81305f676da36 (patch)
treec6cd2c959e978ba4fe727c99b1816541bceb576e
parent83235262d06a060bd22c168b3413903667b8aeb6 (diff)
downloadhugo-d72607adb9f17d9cca5f71bd80a81305f676da36.tar.gz
hugo-d72607adb9f17d9cca5f71bd80a81305f676da36.zip
markup/goldmark/blockquotes: Fix handling of lower/mixed case GitHub alerts
Fixes #12767
-rw-r--r--markup/goldmark/blockquotes/blockquotes.go3
-rw-r--r--markup/goldmark/blockquotes/blockquotes_integration_test.go8
2 files changed, 10 insertions, 1 deletions
diff --git a/markup/goldmark/blockquotes/blockquotes.go b/markup/goldmark/blockquotes/blockquotes.go
index 2f5629d87..d26c92669 100644
--- a/markup/goldmark/blockquotes/blockquotes.go
+++ b/markup/goldmark/blockquotes/blockquotes.go
@@ -237,7 +237,8 @@ var _ hooks.PositionerSourceTargetProvider = (*blockquoteContext)(nil)
// https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts
// Five types:
// [!NOTE], [!TIP], [!WARNING], [!IMPORTANT], [!CAUTION]
-var gitHubAlertRe = regexp.MustCompile(`^<p>\[!(NOTE|TIP|WARNING|IMPORTANT|CAUTION)\]`)
+// Note that GitHub's implementation is case-insensitive.
+var gitHubAlertRe = regexp.MustCompile(`(?i)^<p>\[!(NOTE|TIP|WARNING|IMPORTANT|CAUTION)\]`)
// resolveGitHubAlert returns one of note, tip, warning, important or caution.
// An empty string if no match.
diff --git a/markup/goldmark/blockquotes/blockquotes_integration_test.go b/markup/goldmark/blockquotes/blockquotes_integration_test.go
index 45c031098..e4447e5e9 100644
--- a/markup/goldmark/blockquotes/blockquotes_integration_test.go
+++ b/markup/goldmark/blockquotes/blockquotes_integration_test.go
@@ -68,6 +68,11 @@ title: "p1"
> Note triggering showing the position.
{showpos="true"}
+
+> [!nOtE]
+> Mixed case alert type.
+
+
`
b := hugolib.Test(t, files)
@@ -79,6 +84,9 @@ title: "p1"
"Blockquote Alert Attributes: |<p>This is a tip with attributes.</p>\n|map[class:foo bar id:baz]|",
filepath.FromSlash("/content/p1.md:20:3"),
"Blockquote Alert Page: |<p>This is a tip with attributes.</p>\n|p1|p1|",
+
+ // Issue 12767.
+ "Blockquote Alert: |<p>Mixed case alert type.</p>\n|alert",
)
}