From 1fd30d462ee7f67fde6f29d170af1d225258322b Mon Sep 17 00:00:00 2001 From: Cameron Moore Date: Tue, 2 Oct 2018 20:54:36 -0500 Subject: [PATCH] hugolib: Cast taxonomy weight parameters to int Fixes #4628 --- hugolib/site.go | 13 ++++++++----- hugolib/site_test.go | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/hugolib/site.go b/hugolib/site.go index 054656f7a..f7f84b47d 100644 --- 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 index 2315af209..f775b0e79 100644 --- 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 +++