ref: 4c735a78782e5b2e488729fa895fc757fcd0a6ed
parent: 348e123c9fda4dc2b604b671653ee36035f141aa
	author: Joel Scoble <joel.scoble@outlook.com>
	date: Thu Aug 21 14:01:34 EDT 2014
	
preserve alias case while lowercasing taxonomy
--- a/helpers/helpers_test.go
+++ b/helpers/helpers_test.go
@@ -40,11 +40,34 @@
input string
expected string
 	}{+		{"  Foo bar  ", "Foo-bar"},+		{"Foo.Bar/foo_Bar-Foo", "Foo.Bar/foo_Bar-Foo"},+		{"fOO,bar:foo%bAR", "fOObarfoobAR"},+		{"FOo/BaR.html", "FOo/BaR.html"},+		{"трям/трям", "трям/трям"},+		{"은행","은행"},+		{"Банковский кассир","Банковский-кассир"},+ }
+
+	for _, test := range tests {+ output := MakePath(test.input)
+		if output != test.expected {+			t.Errorf("Expected %#v, got %#v\n", test.expected, output)+ }
+ }
+}
+
+func TestMakeToLower(t *testing.T) {+	tests := []struct {+ input string
+ expected string
+	}{ 		{"  foo bar  ", "foo-bar"}, 		{"foo.bar/foo_bar-foo", "foo.bar/foo_bar-foo"}, 		{"foo,bar:foo%bar", "foobarfoobar"}, 		{"foo/bar.html", "foo/bar.html"}, 		{"трям/трям", "трям/трям"},+		{"은행","은행"},}
 	for _, test := range tests {--- a/helpers/path.go
+++ b/helpers/path.go
@@ -29,9 +29,18 @@
 var sanitizeRegexp = regexp.MustCompile("[^a-zA-Z0-9./_-]")// Take a string with any characters and replace it so the string could be used in a path.
-// E.g. Social Media -> social-media
+// MakePath creates a Unicode sanitized string, with the spaces replaced, whilst
+// preserving the original casing of the string.
+// E.g. Social Media -> Social-Media
 func MakePath(s string) string {- return UnicodeSanitize(strings.ToLower(strings.Replace(strings.TrimSpace(s), " ", "-", -1)))
+ return UnicodeSanitize(strings.Replace(strings.TrimSpace(s), " ", "-", -1))
+}
+
+// MakePathToLowerr creates a Unicode santized string, with the spaces replaced,
+// and transformed to lower case.
+// E.g. Social Media -> social-media
+func MakePathToLower(s string) string {+ return UnicodeSanitize(strings.ToLower(strings.Replace(strings.TrimSpace(s), " ", "-", -1)))
}
 func MakeTitle(inpath string) string {--- a/hugolib/taxonomy.go
+++ b/hugolib/taxonomy.go
@@ -60,7 +60,7 @@
// KeyPrep... Taxonomies should be case insensitive. Can make it easily conditional later.
 func kp(in string) string {- return helpers.MakePath(in)
+ return helpers.MakePathToLower(in)
}
 func (i Taxonomy) Get(key string) WeightedPages { return i[kp(key)] }--
⑨