config

package
Version: v0.84.0 Latest Latest
Warning

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

Go to latest
Published: Jun 18, 2021 License: Apache-2.0 Imports: 20 Imported by: 335

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (

	// ConfigRootKeysSet contains all of the config map root keys.
	// TODO(bep) use this for something (docs etc.)
	ConfigRootKeysSet = map[string]bool{
		"build":         true,
		"caches":        true,
		"frontmatter":   true,
		"languages":     true,
		"imaging":       true,
		"markup":        true,
		"mediatypes":    true,
		"menus":         true,
		"minify":        true,
		"module":        true,
		"outputformats": true,
		"params":        true,
		"permalinks":    true,
		"related":       true,
		"sitemap":       true,
		"taxonomies":    true,
	}

	// ConfigRootKeys is a sorted version of ConfigRootKeysSet.
	ConfigRootKeys []string
)
View Source
var DefaultBuild = Build{
	UseResourceCacheWhen: "fallback",
	WriteStats:           false,
}
View Source
var (
	ValidConfigFileExtensions = []string{"toml", "yaml", "yml", "json"}
)

Functions

func FromFileToMap

func FromFileToMap(fs afero.Fs, filename string) (map[string]interface{}, error)

FromFileToMap is the same as FromFile, but it returns the config values as a simple map.

func GetNumWorkerMultiplier

func GetNumWorkerMultiplier() int

GetNumWorkerMultiplier returns the base value used to calculate the number of workers to use for Hugo's parallel execution. It returns the value in HUGO_NUMWORKERMULTIPLIER OS env variable if set to a positive integer, else the number of logical CPUs.

func GetStringSlicePreserveString

func GetStringSlicePreserveString(cfg Provider, key string) []string

GetStringSlicePreserveString returns a string slice from the given config and key. It differs from the GetStringSlice method in that if the config value is a string, we do not attempt to split it into fields.

func IsValidConfigFilename

func IsValidConfigFilename(filename string) bool

IsValidConfigFilename returns whether filename is one of the supported config formats in Hugo.

func RenameKeys

func RenameKeys(m map[string]interface{})

RenameKeys renames config keys in m recursively according to a global Hugo alias definition.

func SetBaseTestDefaults

func SetBaseTestDefaults(cfg Provider)

SetBaseTestDefaults provides some common config defaults used in tests.

func SetEnvVars

func SetEnvVars(oldVars *[]string, keyValues ...string)

SetEnvVars sets vars on the form key=value in the oldVars slice.

func SplitEnvVar

func SplitEnvVar(v string) (string, string)

Types

type Build

type Build struct {
	UseResourceCacheWhen string // never, fallback, always. Default is fallback

	// When enabled, will collect and write a hugo_stats.json with some build
	// related aggregated data (e.g. CSS class names).
	WriteStats bool

	// Can be used to toggle off writing of the intellinsense /assets/jsconfig.js
	// file.
	NoJSConfigInAssets bool
}

Build holds some build related configuration.

func DecodeBuild

func DecodeBuild(cfg Provider) Build

func (Build) UseResourceCache

func (b Build) UseResourceCache(err error) bool

type Headers

type Headers struct {
	For    string
	Values map[string]interface{}
}

type KeyParams

type KeyParams struct {
	Key    string
	Params maps.Params
}

type Provider

type Provider interface {
	GetString(key string) string
	GetInt(key string) int
	GetBool(key string) bool
	GetParams(key string) maps.Params
	GetStringMap(key string) map[string]interface{}
	GetStringMapString(key string) map[string]string
	GetStringSlice(key string) []string
	Get(key string) interface{}
	Set(key string, value interface{})
	Merge(key string, value interface{})
	SetDefaultMergeStrategy()
	WalkParams(walkFn func(params ...KeyParams) bool)
	IsSet(key string) bool
}

Provider provides the configuration settings for Hugo.

func FromConfigString

func FromConfigString(config, configType string) (Provider, error)

FromConfigString creates a config from the given YAML, JSON or TOML config. This is useful in tests.

func FromFile

func FromFile(fs afero.Fs, filename string) (Provider, error)

FromFile loads the configuration from the given filename.

func LoadConfigFromDir

func LoadConfigFromDir(sourceFs afero.Fs, configDir, environment string) (Provider, []string, error)

func New

func New() Provider

New creates a Provider backed by an empty maps.Params.

func NewCompositeConfig

func NewCompositeConfig(base, layer Provider) Provider

NewCompositeConfig creates a new composite Provider with a read-only base and a writeable layer.

func NewFrom

func NewFrom(params maps.Params) Provider

NewFrom creates a Provider backed by params.

type Redirect

type Redirect struct {
	From   string
	To     string
	Status int
	Force  bool
}

func (Redirect) IsZero

func (r Redirect) IsZero() bool

type Server

type Server struct {
	Headers   []Headers
	Redirects []Redirect
	// contains filtered or unexported fields
}

Config for the dev server.

func DecodeServer

func DecodeServer(cfg Provider) (*Server, error)

func (*Server) MatchHeaders

func (s *Server) MatchHeaders(pattern string) []types.KeyValueStr

func (*Server) MatchRedirect

func (s *Server) MatchRedirect(pattern string) Redirect

type Sitemap

type Sitemap struct {
	ChangeFreq string
	Priority   float64
	Filename   string
}

Sitemap configures the sitemap to be generated.

func DecodeSitemap

func DecodeSitemap(prototype Sitemap, input map[string]interface{}) Sitemap

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto