hugo: github.com/gohugoio/hugo/deps Index | Files

package deps

import "github.com/gohugoio/hugo/deps"

Index

Package Files

deps.go

type BuildState Uses

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

BuildState are flags that may be turned on during a build.

func NewBuildState Uses

func NewBuildState() BuildState

func (*BuildState) Incr Uses

func (b *BuildState) Incr() int

type Deps Uses

type Deps struct {

    // The logger to use.
    Log *loggers.Logger `json:"-"`

    // Used to log errors that may repeat itself many times.
    DistinctErrorLog *helpers.DistinctLogger

    // Used to log warnings that may repeat itself many times.
    DistinctWarningLog *helpers.DistinctLogger

    // The file systems to use.
    Fs  *hugofs.Fs `json:"-"`

    // The PathSpec to use
    *helpers.PathSpec `json:"-"`

    // The ContentSpec to use
    *helpers.ContentSpec `json:"-"`

    // The SourceSpec to use
    SourceSpec *source.SourceSpec `json:"-"`

    // The Resource Spec to use
    ResourceSpec *resources.Spec

    // The configuration to use
    Cfg config.Provider `json:"-"`

    // The file cache to use.
    FileCaches filecache.Caches

    // The translation func to use
    Translate func(translationID string, args ...interface{}) string `json:"-"`

    // The language in use. TODO(bep) consolidate with site
    Language *langs.Language

    // The site building.
    Site page.Site

    // All the output formats available for the current site.
    OutputFormatsConfig output.Formats

    WithTemplate func(templ tpl.TemplateManager) error `json:"-"`

    // Used in tests
    OverloadedTemplateFuncs map[string]interface{}

    Metrics metrics.Provider

    // Timeout is configurable in site config.
    Timeout time.Duration

    // BuildStartListeners will be notified before a build starts.
    BuildStartListeners *Listeners

    // Atomic values set during a build.
    // This is common/global for all sites.
    BuildState *BuildState

    // Whether we are in running (server) mode
    Running bool
    // contains filtered or unexported fields
}

Deps holds dependencies used by many. There will be normally only one instance of deps in play at a given time, i.e. one per Site built.

func New Uses

func New(cfg DepsCfg) (*Deps, error)

New initializes a Dep struct. Defaults are set for nil values, but TemplateProvider, TranslationProvider and Language are always required.

func (Deps) ForLanguage Uses

func (d Deps) ForLanguage(cfg DepsCfg, onCreated func(d *Deps) error) (*Deps, error)

ForLanguage creates a copy of the Deps with the language dependent parts switched out.

func (*Deps) LoadResources Uses

func (d *Deps) LoadResources() error

LoadResources loads translations and templates.

func (Deps) SendError Uses

func (e Deps) SendError(err error)

SendErr sends the error on a channel to be handled later. This can be used in situations where returning and aborting the current operation isn't practical.

func (*Deps) SetTextTmpl Uses

func (d *Deps) SetTextTmpl(tmpl tpl.TemplateParseFinder)

func (*Deps) SetTmpl Uses

func (d *Deps) SetTmpl(tmpl tpl.TemplateHandler)

func (Deps) StartErrorCollector Uses

func (e Deps) StartErrorCollector() chan error

func (*Deps) TextTmpl Uses

func (d *Deps) TextTmpl() tpl.TemplateParseFinder

func (*Deps) Tmpl Uses

func (d *Deps) Tmpl() tpl.TemplateHandler

type DepsCfg Uses

type DepsCfg struct {

    // The Logger to use.
    Logger *loggers.Logger

    // The file systems to use
    Fs  *hugofs.Fs

    // The language to use.
    Language *langs.Language

    // The Site in use
    Site page.Site

    // The configuration to use.
    Cfg config.Provider

    // The media types configured.
    MediaTypes media.Types

    // The output formats configured.
    OutputFormats output.Formats

    // Template handling.
    TemplateProvider ResourceProvider
    WithTemplate     func(templ tpl.TemplateManager) error
    // Used in tests
    OverloadedTemplateFuncs map[string]interface{}

    // i18n handling.
    TranslationProvider ResourceProvider

    // Whether we are in running (server) mode
    Running bool
}

DepsCfg contains configuration options that can be used to configure Hugo on a global level, i.e. logging etc. Nil values will be given default values.

type Listeners Uses

type Listeners struct {
    sync.Mutex
    // contains filtered or unexported fields
}

Listeners represents an event listener.

func (*Listeners) Add Uses

func (b *Listeners) Add(f func())

Add adds a function to a Listeners instance.

func (*Listeners) Notify Uses

func (b *Listeners) Notify()

Notify executes all listener functions.

type ResourceProvider Uses

type ResourceProvider interface {
    Update(deps *Deps) error
    Clone(deps *Deps) error
}

ResourceProvider is used to create and refresh, and clone resources needed.

Package deps imports 18 packages (graph) and is imported by 1080 packages. Updated 2020-09-08. Refresh now. Tools for package owners.