URI: 
       Make readFile return nil when file not found (note) - 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 3c51625c7152abca7e035fae15fc6807ca21cc86
   DIR parent dd6d0a6de16c871301d9daf5d749be3989d37526
  HTML Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Fri, 30 Dec 2022 11:10:49 +0100
       
       Make readFile return nil when file not found (note)
       
       Fixes #9620
       
       Diffstat:
         M tpl/os/integration_test.go          |      26 ++++++++++++++++++++++++++
         M tpl/os/os.go                        |       7 ++++++-
       
       2 files changed, 32 insertions(+), 1 deletion(-)
       ---
   DIR diff --git a/tpl/os/integration_test.go b/tpl/os/integration_test.go
       @@ -49,3 +49,29 @@ START:|{{ range $entry := $entries }}{{ if not $entry.IsDir }}{{ $entry.Name }}|
        START:|config.toml|myproject.txt|:END:
        `)
        }
       +
       +// Issue 9620
       +func TestReadFileNotExists(t *testing.T) {
       +        t.Parallel()
       +
       +        files := `
       +-- config.toml --
       +-- layouts/index.html --
       +{{ $fi := (readFile "doesnotexist") }}
       +{{ if $fi }}Failed{{ else }}OK{{ end }}
       +
       +
       +  `
       +
       +        b := hugolib.NewIntegrationTestBuilder(
       +                hugolib.IntegrationTestConfig{
       +                        T:           t,
       +                        TxtarString: files,
       +                        NeedsOsFS:   true,
       +                },
       +        ).Build()
       +
       +        b.AssertFileContent("public/index.html", `
       +OK
       +`)
       +}
   DIR diff --git a/tpl/os/os.go b/tpl/os/os.go
       @@ -22,6 +22,7 @@ import (
                "path/filepath"
        
                "github.com/bep/overlayfs"
       +        "github.com/gohugoio/hugo/common/herrors"
                "github.com/gohugoio/hugo/deps"
                "github.com/spf13/afero"
                "github.com/spf13/cast"
       @@ -101,7 +102,11 @@ func (ns *Namespace) ReadFile(i any) (string, error) {
                        s = ns.deps.PathSpec.RelPathify(s)
                }
        
       -        return readFile(ns.readFileFs, s)
       +        s, err = readFile(ns.readFileFs, s)
       +        if err != nil && herrors.IsNotExist(err) {
       +                return "", nil
       +        }
       +        return s, err
        }
        
        // ReadDir lists the directory contents relative to the configured WorkingDir.