From 4b7c1342fd6d7eea216ff9de22f94a195d620414 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Tue, 16 Jun 2015 19:25:48 +0200 Subject: Make removal of accents in taxonomy and section paths optional And default off. Fixes #1180 --- helpers/path.go | 13 ++++++++++--- helpers/path_test.go | 6 +++++- 2 files changed, 15 insertions(+), 4 deletions(-) (limited to 'helpers') diff --git a/helpers/path.go b/helpers/path.go index 5e5e3fa89..0c601a868 100644 --- a/helpers/path.go +++ b/helpers/path.go @@ -99,9 +99,16 @@ func UnicodeSanitize(s string) string { } } - // remove accents - see https://blog.golang.org/normalization - t := transform.Chain(norm.NFD, transform.RemoveFunc(isMn), norm.NFC) - result, _, _ := transform.String(t, string(target)) + var result string + + if viper.GetBool("RemovePathAccents") { + // remove accents - see https://blog.golang.org/normalization + t := transform.Chain(norm.NFD, transform.RemoveFunc(isMn), norm.NFC) + result, _, _ = transform.String(t, string(target)) + } else { + result = string(target) + } + return result return string(target) diff --git a/helpers/path_test.go b/helpers/path_test.go index 3fdb94a4f..5cf863b6c 100644 --- a/helpers/path_test.go +++ b/helpers/path_test.go @@ -17,6 +17,10 @@ import ( ) func TestMakePath(t *testing.T) { + viper.Reset() + defer viper.Reset() + viper.Set("RemovePathAccents", true) + tests := []struct { input string expected string @@ -717,7 +721,7 @@ func TestGetTempDir(t *testing.T) { {testDir + "FOo/BaR.html", dir + testDir + "FOo/BaR.html" + FilePathSeparator}, {testDir + "трям/трям", dir + testDir + "трям/трям" + FilePathSeparator}, {testDir + "은행", dir + testDir + "은행" + FilePathSeparator}, - {testDir + "Банковский кассир", dir + testDir + "Банковскии-кассир" + FilePathSeparator}, + {testDir + "Банковский кассир", dir + testDir + "Банковский-кассир" + FilePathSeparator}, } for _, test := range tests { -- cgit v1.2.3