hugo

Unnamed repository; edit this file 'description' to name the repository.

git clone git://git.shimmy1996.com/hugo.git
commit 1fd30d462ee7f67fde6f29d170af1d225258322b
parent 498d6299581bead0f582431b8133d8b5f8760618
Author: Cameron Moore <moorereason@gmail.com>
Date:   Tue,  2 Oct 2018 20:54:36 -0500

hugolib: Cast taxonomy weight parameters to int

Fixes #4628

Diffstat:
Mhugolib/site.go | 13++++++++-----
Mhugolib/site_test.go | 2+-
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/hugolib/site.go b/hugolib/site.go
@@ -1469,14 +1469,17 @@ func (s *Site) assembleTaxonomies() {
 
 		for _, p := range s.Pages {
 			vals := p.getParam(plural, !s.Info.preserveTaxonomyNames)
-			weight := p.getParamToLower(plural + "_weight")
-			if weight == nil {
-				weight = 0
+
+			weight, err := cast.ToIntE(p.getParamToLower(plural + "_weight"))
+			if err != nil {
+				s.Log.ERROR.Print("unable to convert taxonomy weight to int")
+				// weight will equal zero, so let the flow continue
 			}
+
 			if vals != nil {
 				if v, ok := vals.([]string); ok {
 					for _, idx := range v {
-						x := WeightedPage{weight.(int), p}
+						x := WeightedPage{weight, p}
 						s.Taxonomies[plural].add(s.getTaxonomyKey(idx), x)
 						if s.Info.preserveTaxonomyNames {
 							// Need to track the original
@@ -1484,7 +1487,7 @@ func (s *Site) assembleTaxonomies() {
 						}
 					}
 				} else if v, ok := vals.(string); ok {
-					x := WeightedPage{weight.(int), p}
+					x := WeightedPage{weight, p}
 					s.Taxonomies[plural].add(s.getTaxonomyKey(v), x)
 					if s.Info.preserveTaxonomyNames {
 						// Need to track the original
diff --git a/hugolib/site_test.go b/hugolib/site_test.go
@@ -823,7 +823,7 @@ tags = "a"
 tags_weight = 33
 title = "bar"
 categories = [ "d", "e" ]
-categories_weight = 11
+categories_weight = 11.0
 alias = "spf13"
 date = 1979-05-27T07:32:00Z
 +++