config: Do not fail on unknown config keys - hugo - [fork] hugo port for 9front
 (HTM) git clone git@git.drkhsh.at/hugo.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit c1df5b1b0b032b4ee926369c2325aca0de93c67c
 (DIR) parent be8e2de59786327a83a1b41bb9f9608a49b5f7a0
 (HTM) Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Mon, 31 Jul 2023 11:20:37 +0200
       
       config: Do not fail on unknown config keys
       
       Make it a warning.
       
       One such example I found in an old site is `blackfriday`. These should be fixed/removed, but it's not important enough
       to fail the build.
       
       Diffstat:
         M config/allconfig/allconfig.go       |       8 ++++----
       
       1 file changed, 4 insertions(+), 4 deletions(-)
       ---
 (DIR) diff --git a/config/allconfig/allconfig.go b/config/allconfig/allconfig.go
       @@ -744,7 +744,7 @@ func fromLoadConfigResult(fs afero.Fs, logger loggers.Logger, res config.LoadCon
        
                all := &Config{}
        
       -        err := decodeConfigFromParams(fs, bcfg, cfg, all, nil)
       +        err := decodeConfigFromParams(fs, logger, bcfg, cfg, all, nil)
                if err != nil {
                        return nil, err
                }
       @@ -832,7 +832,7 @@ func fromLoadConfigResult(fs afero.Fs, logger loggers.Logger, res config.LoadCon
                                // Create a copy of the complete config and replace the root keys with the language specific ones.
                                clone := all.cloneForLang()
        
       -                        if err := decodeConfigFromParams(fs, bcfg, mergedConfig, clone, differentRootKeys); err != nil {
       +                        if err := decodeConfigFromParams(fs, logger, bcfg, mergedConfig, clone, differentRootKeys); err != nil {
                                        return nil, fmt.Errorf("failed to decode config for language %q: %w", k, err)
                                }
                                if err := clone.CompileConfig(logger); err != nil {
       @@ -904,7 +904,7 @@ func fromLoadConfigResult(fs afero.Fs, logger loggers.Logger, res config.LoadCon
                return cm, nil
        }
        
       -func decodeConfigFromParams(fs afero.Fs, bcfg config.BaseConfig, p config.Provider, target *Config, keys []string) error {
       +func decodeConfigFromParams(fs afero.Fs, logger loggers.Logger, bcfg config.BaseConfig, p config.Provider, target *Config, keys []string) error {
        
                var decoderSetups []decodeWeight
        
       @@ -917,7 +917,7 @@ func decodeConfigFromParams(fs afero.Fs, bcfg config.BaseConfig, p config.Provid
                                if v, found := allDecoderSetups[key]; found {
                                        decoderSetups = append(decoderSetups, v)
                                } else {
       -                                return fmt.Errorf("unknown config key %q", key)
       +                                logger.Warnf("Skip unknown config key %q", key)
                                }
                        }
                }