diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-01-04 11:28:19 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-01-04 19:46:01 +0100 |
commit | a82d2700fcc772aada15d65b8f76913ca23f7404 (patch) | |
tree | fa1c09eb1523d7cda303982b5c08661af9a194d6 /helpers/path.go | |
parent | ae816452b171b6b6aabca6a7423ed28a653baaa2 (diff) | |
download | hugo-a82d2700fcc772aada15d65b8f76913ca23f7404.tar.gz hugo-a82d2700fcc772aada15d65b8f76913ca23f7404.zip |
markup/goldmark: Make auto IDs GitHub compatible
You can turn off this behaviour:
```toml
[markup]
[markup.goldmark]
[markup.goldmark.parser]
autoHeadingIDAsciiOnly = true
```
Note that the `anchorize` now adapts its behaviour depending on the default Markdown handler.
Fixes #6616
Diffstat (limited to 'helpers/path.go')
-rw-r--r-- | helpers/path.go | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/helpers/path.go b/helpers/path.go index 12ddfeb56..d97789e15 100644 --- a/helpers/path.go +++ b/helpers/path.go @@ -24,6 +24,8 @@ import ( "strings" "unicode" + "github.com/gohugoio/hugo/common/text" + "github.com/gohugoio/hugo/config" "github.com/gohugoio/hugo/hugofs" @@ -31,9 +33,6 @@ import ( "github.com/gohugoio/hugo/common/hugio" _errors "github.com/pkg/errors" "github.com/spf13/afero" - "golang.org/x/text/runes" - "golang.org/x/text/transform" - "golang.org/x/text/unicode/norm" ) var ( @@ -134,6 +133,10 @@ func ishex(c rune) bool { // are also removed. // Spaces will be replaced with a single hyphen, and sequential hyphens will be reduced to one. func (p *PathSpec) UnicodeSanitize(s string) string { + if p.RemovePathAccents { + s = text.RemoveAccentsString(s) + } + source := []rune(s) target := make([]rune, 0, len(source)) var prependHyphen bool @@ -154,17 +157,7 @@ func (p *PathSpec) UnicodeSanitize(s string) string { } } - var result string - - if p.RemovePathAccents { - // remove accents - see https://blog.golang.org/normalization - t := transform.Chain(norm.NFD, runes.Remove(runes.In(unicode.Mn)), norm.NFC) - result, _, _ = transform.String(t, string(target)) - } else { - result = string(target) - } - - return result + return string(target) } // ReplaceExtension takes a path and an extension, strips the old extension |