diff options
author | Bjørn Erik Pedersen <[email protected]> | 2024-02-05 15:01:15 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <[email protected]> | 2024-02-05 15:03:03 +0100 |
commit | a80c3021ba6bfcaeb837568b06d379f2e67aa30a (patch) | |
tree | 945c3f426f136e39d751c4d4153bbfdef7e2db65 /source | |
parent | 9df7b295bcfb59000f6ee675dfbbc53654f3d86c (diff) | |
download | hugo-a80c3021ba6bfcaeb837568b06d379f2e67aa30a.tar.gz hugo-a80c3021ba6bfcaeb837568b06d379f2e67aa30a.zip |
source: Remove unused Filesystem structfix/dotfilererr-11993
Diffstat (limited to 'source')
-rw-r--r-- | source/filesystem.go | 84 | ||||
-rw-r--r-- | source/filesystem_test.go | 48 |
2 files changed, 0 insertions, 132 deletions
diff --git a/source/filesystem.go b/source/filesystem.go deleted file mode 100644 index 208f5036f..000000000 --- a/source/filesystem.go +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright 2016 The Hugo Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package source - -import ( - "path/filepath" - - "github.com/gohugoio/hugo/hugofs" - "github.com/spf13/afero" -) - -// Filesystem represents a source filesystem. -type Filesystem struct { - Base string - fs afero.Fs - fi hugofs.FileMetaInfo - SourceSpec -} - -// NewFilesystem returns a new filesytem for a given source spec. -func (sp SourceSpec) NewFilesystem(base string) *Filesystem { - return &Filesystem{SourceSpec: sp, Base: base, fs: sp.Fs.Source} -} - -func (f *Filesystem) Walk(addFile func(*File) error) error { - walker := func(path string, fi hugofs.FileMetaInfo) error { - if fi.IsDir() { - return nil - } - - meta := fi.Meta() - filename := meta.Filename - - b, err := f.shouldRead(filename, fi) - if err != nil { - return err - } - - if b { - if err = addFile(NewFileInfo(fi)); err != nil { - return err - } - } - - return err - } - - w := hugofs.NewWalkway(hugofs.WalkwayConfig{ - Fs: f.fs, - Info: f.fi, - Root: f.Base, - WalkFn: walker, - }) - - return w.Walk() -} - -func (f *Filesystem) shouldRead(filename string, fi hugofs.FileMetaInfo) (bool, error) { - ignore := f.SourceSpec.IgnoreFile(fi.Meta().Filename) - - if fi.IsDir() { - if ignore { - return false, filepath.SkipDir - } - return false, nil - } - - if ignore { - return false, nil - } - - return true, nil -} diff --git a/source/filesystem_test.go b/source/filesystem_test.go deleted file mode 100644 index 9118285da..000000000 --- a/source/filesystem_test.go +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2024 The Hugo Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package source_test - -import ( - "runtime" - "testing" - - qt "github.com/frankban/quicktest" - "github.com/gohugoio/hugo/hugolib" - "golang.org/x/text/unicode/norm" -) - -func TestUnicodeNorm(t *testing.T) { - if runtime.GOOS != "darwin" { - t.Skip("Skipping test on non-Darwin OS") - } - t.Parallel() - files := ` --- hugo.toml -- --- content/å.md -- --- content/é.md -- --- content/å/å.md -- --- content/é/é.md -- --- layouts/_default/single.html -- -Title: {{ .Title }}|File: {{ .File.Path}} -` - b := hugolib.Test(t, files, hugolib.TestOptWithNFDOnDarwin()) - - for _, p := range b.H.Sites[0].RegularPages() { - f := p.File() - b.Assert(norm.NFC.IsNormalString(f.Path()), qt.IsTrue) - b.Assert(norm.NFC.IsNormalString(f.Dir()), qt.IsTrue) - b.Assert(norm.NFC.IsNormalString(f.Filename()), qt.IsTrue) - b.Assert(norm.NFC.IsNormalString(f.BaseFileName()), qt.IsTrue) - } -} |