import "github.com/gohugoio/hugo/source"
fileInfo.go filesystem.go sourceSpec.go
type File interface { FileWithoutOverlap // contains filtered or unexported methods }
File represents a source file. This is a temporary construct until we resolve page.Page conflicts. TODO(bep) remove this construct once we have resolved page deprecations
type FileInfo struct {
// contains filtered or unexported fields
}
FileInfo describes a source file.
NewTestFile creates a partially filled File used in unit tests. TODO(bep) improve this package
BaseFileName returns a file's name without extension (ie. "page.sv").
ContentBaseName is a either TranslationBaseName or name of containing folder if file is a leaf bundle.
Dir gets the name of the directory that contains this file. The directory is relative to the content root.
Ext returns a file's extension without the leading period (ie. "md").
Extension is an alias to Ext().
func (fi *FileInfo) FileInfo() hugofs.FileMetaInfo
FileInfo returns a file's underlying os.FileInfo.
Filename returns a file's absolute path and filename on disk.
Lang returns a file's language (ie. "sv").
LogicalName returns a file's name and extension (ie. "page.sv.md").
func (fi *FileInfo) Open() (hugio.ReadSeekCloser, error)
Open implements ReadableFile.
Path gets the relative path including file name and extension. The directory is relative to the content root.
Section returns a file's section.
TranslationBaseName returns a file's translation base name without the language segment (ie. "page").
UniqueID returns a file's unique, MD5 hash identifier.
type FileWithoutOverlap interface { // Filename gets the full path and filename to the file. Filename() string // Dir gets the name of the directory that contains this file. // The directory is relative to the content root. Dir() string // Extension gets the file extension, i.e "myblogpost.md" will return "md". Extension() string // Ext is an alias for Extension. Ext() string // Hmm... Deprecate Extension // LogicalName is filename and extension of the file. LogicalName() string // BaseFileName is a filename without extension. BaseFileName() string // TranslationBaseName is a filename with no extension, // not even the optional language extension part. TranslationBaseName() string // ContentBaseName is a either TranslationBaseName or name of containing folder // if file is a leaf bundle. ContentBaseName() string // UniqueID is the MD5 hash of the file's path and is for most practical applications, // Hugo content files being one of them, considered to be unique. UniqueID() string FileInfo() hugofs.FileMetaInfo }
type Filesystem struct { Base string SourceSpec // contains filtered or unexported fields }
Filesystem represents a source filesystem.
func (f *Filesystem) Files() ([]File, error)
Files returns a slice of readable files.
type SourceSpec struct { *helpers.PathSpec SourceFs afero.Fs Languages map[string]interface{} DefaultContentLanguage string DisabledLanguages map[string]bool // contains filtered or unexported fields }
SourceSpec abstracts language-specific file creation. TODO(bep) rename to Spec
NewSourceSpec initializes SourceSpec using languages the given filesystem and PathSpec.
func (s *SourceSpec) IgnoreFile(filename string) bool
IgnoreFile returns whether a given file should be ignored.
func (s *SourceSpec) IsRegularSourceFile(filename string) (bool, error)
IsRegularSourceFile returns whether filename represents a regular file in the source filesystem.
func (sp *SourceSpec) NewFileInfo(fi hugofs.FileMetaInfo) (*FileInfo, error)
func (sp *SourceSpec) NewFileInfoFrom(path, filename string) (*FileInfo, error)
func (sp SourceSpec) NewFilesystem(base string) *Filesystem
NewFilesystem returns a new filesytem for a given source spec.
func (sp SourceSpec) NewFilesystemFromFileMetaInfo(fi hugofs.FileMetaInfo) *Filesystem
Package source imports 14 packages (graph) and is imported by 234 packages. Updated 2020-12-16. Refresh now. Tools for package owners.