source

package
v0.111.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 5, 2023 License: Apache-2.0 Imports: 18 Imported by: 194

Documentation

Overview

Package source contains the types and functions related to source files.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type File

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 added in v0.32.1

type FileInfo struct {
	// contains filtered or unexported fields
}

FileInfo describes a source file.

func NewTestFile added in v0.55.0

func NewTestFile(filename string) *FileInfo

NewTestFile creates a partially filled File used in unit tests. TODO(bep) improve this package

func (*FileInfo) BaseFileName added in v0.32.1

func (fi *FileInfo) BaseFileName() string

BaseFileName returns a file's name without extension (ie. "page.sv").

func (*FileInfo) ContentBaseName added in v0.54.0

func (fi *FileInfo) ContentBaseName() string

ContentBaseName is a either TranslationBaseName or name of containing folder if file is a leaf bundle.

func (*FileInfo) Dir added in v0.32.1

func (fi *FileInfo) Dir() string

Dir gets the name of the directory that contains this file. The directory is relative to the content root.

func (*FileInfo) Ext added in v0.32.1

func (fi *FileInfo) Ext() string

Ext returns a file's extension without the leading period (ie. "md").

func (*FileInfo) Extension added in v0.32.1

func (fi *FileInfo) Extension() string

Extension is an alias to Ext().

func (*FileInfo) FileInfo added in v0.32.1

func (fi *FileInfo) FileInfo() hugofs.FileMetaInfo

FileInfo returns a file's underlying os.FileInfo.

func (*FileInfo) Filename added in v0.32.1

func (fi *FileInfo) Filename() string

Filename returns a file's absolute path and filename on disk.

func (*FileInfo) IsZero added in v0.55.0

func (fi *FileInfo) IsZero() bool

func (*FileInfo) Lang added in v0.32.1

func (fi *FileInfo) Lang() string

Lang returns a file's language (ie. "sv").

func (*FileInfo) LogicalName added in v0.32.1

func (fi *FileInfo) LogicalName() string

LogicalName returns a file's name and extension (ie. "page.sv.md").

func (*FileInfo) Open added in v0.32.1

func (fi *FileInfo) Open() (hugio.ReadSeekCloser, error)

Open implements ReadableFile.

func (*FileInfo) Path added in v0.32.1

func (fi *FileInfo) Path() string

Path gets the relative path including file name and extension. The directory is relative to the content root.

func (*FileInfo) Section added in v0.32.1

func (fi *FileInfo) Section() string

Section returns a file's section.

func (*FileInfo) String added in v0.32.1

func (fi *FileInfo) String() string

func (*FileInfo) TranslationBaseName added in v0.32.1

func (fi *FileInfo) TranslationBaseName() string

TranslationBaseName returns a file's translation base name without the language segment (ie. "page").

func (*FileInfo) UniqueID added in v0.32.1

func (fi *FileInfo) UniqueID() string

UniqueID returns a file's unique, MD5 hash identifier.

type FileWithoutOverlap added in v0.55.0

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 is an alias to Ext().
	// Deprecated: Use Ext instead.
	Extension() string

	// Ext gets the file extension, i.e "myblogpost.md" will return "md".
	Ext() string

	// 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

type Filesystem struct {
	Base string

	SourceSpec
	// contains filtered or unexported fields
}

Filesystem represents a source filesystem.

func (*Filesystem) Files

func (f *Filesystem) Files() ([]File, error)

Files returns a slice of readable files.

type GitInfo added in v0.110.0

type GitInfo struct {
	// Commit hash.
	Hash string `json:"hash"`
	// Abbreviated commit hash.
	AbbreviatedHash string `json:"abbreviatedHash"`
	// The commit message's subject/title line.
	Subject string `json:"subject"`
	// The author name, respecting .mailmap.
	AuthorName string `json:"authorName"`
	// The author email address, respecting .mailmap.
	AuthorEmail string `json:"authorEmail"`
	// The author date.
	AuthorDate time.Time `json:"authorDate"`
	// The commit date.
	CommitDate time.Time `json:"commitDate"`
}

GitInfo provides information about a version controlled source file.

func NewGitInfo added in v0.110.0

func NewGitInfo(info gitmap.GitInfo) GitInfo

func (GitInfo) IsZero added in v0.110.0

func (g GitInfo) IsZero() bool

IsZero returns true if the GitInfo is empty, meaning it will also be falsy in the Go templates.

type SourceSpec added in v0.20.1

type SourceSpec struct {
	*helpers.PathSpec

	SourceFs afero.Fs

	Languages              map[string]any
	DefaultContentLanguage string
	DisabledLanguages      map[string]bool
	// contains filtered or unexported fields
}

SourceSpec abstracts language-specific file creation. TODO(bep) rename to Spec

func NewSourceSpec added in v0.20.1

func NewSourceSpec(ps *helpers.PathSpec, inclusionFilter *glob.FilenameFilter, fs afero.Fs) *SourceSpec

NewSourceSpec initializes SourceSpec using languages the given filesystem and PathSpec.

func (*SourceSpec) IgnoreFile added in v0.32.1

func (s *SourceSpec) IgnoreFile(filename string) bool

IgnoreFile returns whether a given file should be ignored.

func (*SourceSpec) IsRegularSourceFile added in v0.32.1

func (s *SourceSpec) IsRegularSourceFile(filename string) (bool, error)

IsRegularSourceFile returns whether filename represents a regular file in the source filesystem.

func (*SourceSpec) NewFileInfo added in v0.32.1

func (sp *SourceSpec) NewFileInfo(fi hugofs.FileMetaInfo) (*FileInfo, error)

func (*SourceSpec) NewFileInfoFrom added in v0.56.0

func (sp *SourceSpec) NewFileInfoFrom(path, filename string) (*FileInfo, error)

func (SourceSpec) NewFilesystem added in v0.20.1

func (sp SourceSpec) NewFilesystem(base string) *Filesystem

NewFilesystem returns a new filesystem for a given source spec.

func (SourceSpec) NewFilesystemFromFileMetaInfo added in v0.56.0

func (sp SourceSpec) NewFilesystemFromFileMetaInfo(fi hugofs.FileMetaInfo) *Filesystem

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL