URI: 
       Add support for sort by boolean - hugo - [fork] hugo port for 9front
  HTML git clone git@git.drkhsh.at/hugo.git
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit 04b1a6d997e72d9abada28db22650d38ccbcbb39
   DIR parent dd31e800075eebd78f921df8b4865c238006e7a7
  HTML Author: Tom <tomaviv57@gmail.com>
       Date:   Sat,  2 May 2020 12:57:34 +0300
       
       Add support for sort by boolean
       
       
       Diffstat:
         M tpl/collections/sort_test.go        |       3 +++
         M tpl/compare/compare.go              |      10 ++++++++++
       
       2 files changed, 13 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/tpl/collections/sort_test.go b/tpl/collections/sort_test.go
       @@ -218,6 +218,9 @@ func TestSort(t *testing.T) {
                                        map[interface{}]interface{}{"Title": "Foo", "Weight": 10},
                                },
                        },
       +                // test boolean values
       +                {[]bool{false, true, false}, "value", "asc", []bool{false, false, true}},
       +                {[]bool{false, true, false}, "value", "desc", []bool{true, false, false}},
                        // test error cases
                        {(*[]TstX)(nil), nil, "asc", false},
                        {TstX{A: "a", B: "b"}, nil, "asc", false},
   DIR diff --git a/tpl/compare/compare.go b/tpl/compare/compare.go
       @@ -252,6 +252,11 @@ func (ns *Namespace) compareGet(a interface{}, b interface{}) (float64, float64)
                        case timeType:
                                left = float64(toTimeUnix(av))
                        }
       +        case reflect.Bool:
       +                left = 0
       +                if av.Bool() {
       +                        left = 1
       +                }
                }
        
                bv := reflect.ValueOf(b)
       @@ -275,6 +280,11 @@ func (ns *Namespace) compareGet(a interface{}, b interface{}) (float64, float64)
                        case timeType:
                                right = float64(toTimeUnix(bv))
                        }
       +        case reflect.Bool:
       +                right = 0
       +                if bv.Bool() {
       +                        right = 1
       +                }
                }
        
                if ns.caseInsensitive && leftStr != nil && rightStr != nil {