URI: 
       Add singularize template func - 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 8d695ec592fecd8bfba2a89ef33a444d71ce0996
   DIR parent 751d4906efcc854c9c1fe3ac0dea6f0c183f7a40
  HTML Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Tue, 22 Sep 2015 22:31:02 +0200
       
       Add singularize template func
       
       See #1438
       
       Diffstat:
         M docs/content/meta/release-notes.md  |       2 +-
         M docs/content/templates/functions.md |       5 +++++
         M tpl/template_funcs.go               |       7 +++++++
       
       3 files changed, 13 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/docs/content/meta/release-notes.md b/docs/content/meta/release-notes.md
       @@ -14,7 +14,7 @@ weight: 10
        * We now use a custom-built `LazyFileReader` for reading file contents, which means we don't read media files in `/content` into memory anymore -- and file reading is now performed in parallel on multicore PCs. [1181](https://github.com/spf13/hugo/issues/1181)
        * Hugo is now built with `Go 1.5` which, among many other improvements, have fixed the last known data race in Hugo. [917] (https://github.com/spf13/hugo/issues/917)
        * Lots of fixes and improvements in the template funcs:
       -        * The new `pluralize` template func.  
       +        * The new `pluralize` and `singularize` template funcs.  
                * The `sort` template func now accepts field/key chaining arguments and pointer values. [1330](https://github.com/spf13/hugo/issues/1330)
                * Several fixes for `slicestr` and `substr`, most importantly, they now have full `utf-8`-support. [1190](https://github.com/spf13/hugo/issues/1190) [1333](https://github.com/spf13/hugo/issues/1333) [1347](https://github.com/spf13/hugo/issues/1347) 
                *  The new `last` template function allows the user to select the last `N` items of a slice. [1148](https://github.com/spf13/hugo/issues/1148)
   DIR diff --git a/docs/content/templates/functions.md b/docs/content/templates/functions.md
       @@ -433,6 +433,11 @@ Example: Given `style = "color: red;"` defined in the front matter of your `.md`
        Note: "ZgotmplZ" is a special value that indicates that unsafe content reached a
        CSS or URL context.
        
       +### singularize
       +Singularize the given word with a set of common English pluralization rules.
       +
       +e.g. `{{ "cats" | singularize }}` → "cat"
       +
        ### slicestr
        
        Slicing in `slicestr` is done by specifying a half-open range with two indices, `start` and `end`.
   DIR diff --git a/tpl/template_funcs.go b/tpl/template_funcs.go
       @@ -1379,6 +1379,13 @@ func init() {
                                }
                                return inflect.Pluralize(word), nil
                        },
       +                "singularize": func(in interface{}) (string, error) {
       +                        word, err := cast.ToStringE(in)
       +                        if err != nil {
       +                                return "", err
       +                        }
       +                        return inflect.Singularize(word), nil
       +                },
                }
        
        }