diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-01-05 15:58:14 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-01-05 15:58:14 +0100 |
commit | 9b6e61464b09ffe3423fb8d7c72bddb7a9ed5b98 (patch) | |
tree | 4fcc4b4b83afb6ef284121a70d91eb5ae5e03c81 | |
parent | d62ede8e9e5883e7ebb023e49b82f07b45edc1c7 (diff) |
markup/goldmark: Adjust auto ID space handling
GitHub does not consider tabs as delimiter, see https://github.com/bep/portable-hugo-links/blob/master/blog/p2.md
Closes #6710
-rw-r--r-- | markup/goldmark/autoid.go | 6 | ||||
-rw-r--r-- | markup/goldmark/autoid_test.go | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/markup/goldmark/autoid.go b/markup/goldmark/autoid.go index 950d4a577..72cb79f71 100644 --- a/markup/goldmark/autoid.go +++ b/markup/goldmark/autoid.go @@ -58,7 +58,7 @@ func sanitizeAnchorNameWithHook(b []byte, idType string, hook func(buf *bytes.Bu r, size := utf8.DecodeRune(b) switch { case asciiOnly && size != 1: - case r == '-' || isSpace(r): + case r == '-' || r == ' ': buf.WriteRune('-') case isAlphaNumeric(r): buf.WriteRune(unicode.ToLower(r)) @@ -85,10 +85,6 @@ func isAlphaNumeric(r rune) bool { return r == '_' || unicode.IsLetter(r) || unicode.IsDigit(r) } -func isSpace(r rune) bool { - return r == ' ' || r == '\t' -} - var _ parser.IDs = (*idFactory)(nil) type idFactory struct { diff --git a/markup/goldmark/autoid_test.go b/markup/goldmark/autoid_test.go index 1257b3482..0ddf5e886 100644 --- a/markup/goldmark/autoid_test.go +++ b/markup/goldmark/autoid_test.go @@ -40,6 +40,8 @@ Many spaces here Forward/slash Backward\slash Under_score +Nonbreaking Space +Tab Space ` expect := ` @@ -56,6 +58,8 @@ many---spaces--here forwardslash backwardslash under_score +nonbreakingspace +tabspace ` tests, expect = strings.TrimSpace(tests), strings.TrimSpace(expect) |