URI: 
       media: support application/manifest+json - 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 02f31897b4f7252154850a65c900e88e0b237fa3
   DIR parent 402da3f8f327f97302c4b5d69cd4832a94bd189b
  HTML Author: Rohan Kumar <seirdy@seirdy.one>
       Date:   Wed,  9 Jun 2021 16:13:46 -0700
       
       media: support application/manifest+json
       
       The standard file extension for Web App Manifest files is
       ".webmanifest". This commit allows Hugo to recognize .webmanifest files
       as "application/manifest+json" files and to minify them using its
       JSON minifier.
       
       The .webmanifest file extension is recommended in the w3c spec to
       simplify media type registration:
       https://www.w3.org/TR/appmanifest/#media-type-registration
       
       Webhint docs are also relevant:
       https://webhint.io/docs/user-guide/hints/hint-manifest-file-extension/
       
       Closes #8624
       
       Diffstat:
         M media/mediaType.go                  |      16 +++++++++-------
         M minifiers/minifiers.go              |       2 +-
         M output/outputFormat.go              |       9 +++++++++
       
       3 files changed, 19 insertions(+), 8 deletions(-)
       ---
   DIR diff --git a/media/mediaType.go b/media/mediaType.go
       @@ -166,13 +166,14 @@ var (
                TSXType        = newMediaType("text", "tsx", []string{"tsx"})
                JSXType        = newMediaType("text", "jsx", []string{"jsx"})
        
       -        JSONType = newMediaType("application", "json", []string{"json"})
       -        RSSType  = newMediaTypeWithMimeSuffix("application", "rss", "xml", []string{"xml"})
       -        XMLType  = newMediaType("application", "xml", []string{"xml"})
       -        SVGType  = newMediaTypeWithMimeSuffix("image", "svg", "xml", []string{"svg"})
       -        TextType = newMediaType("text", "plain", []string{"txt"})
       -        TOMLType = newMediaType("application", "toml", []string{"toml"})
       -        YAMLType = newMediaType("application", "yaml", []string{"yaml", "yml"})
       +        JSONType           = newMediaType("application", "json", []string{"json"})
       +        WebAppManifestType = newMediaTypeWithMimeSuffix("application", "manifest", "json", []string{"webmanifest"})
       +        RSSType            = newMediaTypeWithMimeSuffix("application", "rss", "xml", []string{"xml"})
       +        XMLType            = newMediaType("application", "xml", []string{"xml"})
       +        SVGType            = newMediaTypeWithMimeSuffix("image", "svg", "xml", []string{"svg"})
       +        TextType           = newMediaType("text", "plain", []string{"txt"})
       +        TOMLType           = newMediaType("application", "toml", []string{"toml"})
       +        YAMLType           = newMediaType("application", "yaml", []string{"yaml", "yml"})
        
                // Common image types
                PNGType  = newMediaType("image", "png", []string{"png"})
       @@ -206,6 +207,7 @@ var DefaultTypes = Types{
                TSXType,
                JSXType,
                JSONType,
       +        WebAppManifestType,
                RSSType,
                XMLType,
                SVGType,
   DIR diff --git a/minifiers/minifiers.go b/minifiers/minifiers.go
       @@ -78,7 +78,7 @@ func New(mediaTypes media.Types, outputFormats output.Formats, cfg config.Provid
                }
                if !conf.DisableJSON {
                        addMinifier(m, mediaTypes, "json", &conf.Tdewolff.JSON)
       -                m.AddRegexp(regexp.MustCompile(`^(application|text)/(x-|ld\+)?json$`), &conf.Tdewolff.JSON)
       +                m.AddRegexp(regexp.MustCompile(`^(application|text)/(x-|(ld|manifest)\+)?json$`), &conf.Tdewolff.JSON)
                }
                if !conf.DisableSVG {
                        addMinifier(m, mediaTypes, "svg", &conf.Tdewolff.SVG)
   DIR diff --git a/output/outputFormat.go b/output/outputFormat.go
       @@ -143,6 +143,14 @@ var (
                        Rel:         "alternate",
                }
        
       +        WebAppManifestFormat = Format{
       +                Name:        "WebAppManifest",
       +                MediaType:   media.WebAppManifestType,
       +                BaseName:    "manifest",
       +                IsPlainText: true,
       +                Rel:         "manifest",
       +        }
       +
                RobotsTxtFormat = Format{
                        Name:        "ROBOTS",
                        MediaType:   media.TextType,
       @@ -176,6 +184,7 @@ var DefaultFormats = Formats{
                CSVFormat,
                HTMLFormat,
                JSONFormat,
       +        WebAppManifestFormat,
                RobotsTxtFormat,
                RSSFormat,
                SitemapFormat,