Documentation
¶
Overview ¶
Package allconfig contains the full configuration for Hugo. <docsmeta>{ "name": "Configuration", "description": "This section holds all configuration options in Hugo." }</docsmeta>
Package allconfig contains the full configuration for Hugo.
Index ¶
- Variables
- type Config
- type ConfigCompiled
- type ConfigLanguage
- func (c ConfigLanguage) BaseConfig() config.BaseConfig
- func (c ConfigLanguage) BaseURL() urls.BaseURL
- func (c ConfigLanguage) BaseURLLiveReload() urls.BaseURL
- func (c ConfigLanguage) BuildDrafts() bool
- func (c ConfigLanguage) BuildExpired() bool
- func (c ConfigLanguage) BuildFuture() bool
- func (c ConfigLanguage) CanonifyURLs() bool
- func (c ConfigLanguage) ContentTypes() config.ContentTypesProvider
- func (c ConfigLanguage) CreateTitle(s string) string
- func (c ConfigLanguage) DefaultContentLanguage() string
- func (c ConfigLanguage) DefaultContentLanguageInSubdir() bool
- func (c ConfigLanguage) Dirs() config.CommonDirs
- func (c ConfigLanguage) DirsBase() config.CommonDirs
- func (c ConfigLanguage) DisablePathToLower() bool
- func (c ConfigLanguage) EnableEmoji() bool
- func (c ConfigLanguage) EnableMissingTranslationPlaceholders() bool
- func (c ConfigLanguage) Environment() string
- func (c ConfigLanguage) FastRenderMode() bool
- func (c ConfigLanguage) GetConfig() any
- func (c ConfigLanguage) GetConfigSection(s string) any
- func (c ConfigLanguage) IgnoreFile(s string) bool
- func (c ConfigLanguage) IgnoredLogs() map[string]bool
- func (c ConfigLanguage) IsLangDisabled(lang string) bool
- func (c ConfigLanguage) IsMultihost() bool
- func (c ConfigLanguage) IsMultilingual() bool
- func (c ConfigLanguage) IsUglyURLs(section string) bool
- func (c ConfigLanguage) Language() *langs.Language
- func (c ConfigLanguage) LanguagePrefix() string
- func (c ConfigLanguage) Languages() langs.Languages
- func (c ConfigLanguage) LanguagesDefaultFirst() langs.Languages
- func (c ConfigLanguage) NewContentEditor() string
- func (c ConfigLanguage) NewIdentityManager(name string, opts ...identity.ManagerOption) identity.Manager
- func (c ConfigLanguage) NoBuildLock() bool
- func (c ConfigLanguage) Pagination() config.Pagination
- func (c ConfigLanguage) PathParser() *paths.PathParser
- func (c ConfigLanguage) PrintI18nWarnings() bool
- func (c ConfigLanguage) PrintUnusedTemplates() bool
- func (c ConfigLanguage) Quiet() bool
- func (c ConfigLanguage) RemovePathAccents() bool
- func (c ConfigLanguage) Running() bool
- func (c ConfigLanguage) StaticDirs() []string
- func (c ConfigLanguage) SummaryLength() int
- func (c ConfigLanguage) TemplateMetrics() bool
- func (c ConfigLanguage) TemplateMetricsHints() bool
- func (c ConfigLanguage) Timeout() time.Duration
- func (c ConfigLanguage) Watching() bool
- func (c ConfigLanguage) WorkingDir() string
- type ConfigSourceDescriptor
- type Configs
- type InternalConfig
- type RootConfig
Constants ¶
This section is empty.
Variables ¶
var ErrNoConfigFile = errors.New("Unable to locate config file or config directory. Perhaps you need to create a new site.\n Run `hugo help new` for details.\n")
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// For internal use only.
Internal InternalConfig `mapstructure:"-" json:"-"`
// For internal use only.
C *ConfigCompiled `mapstructure:"-" json:"-"`
RootConfig
// Author information.
// Deprecated: Use taxonomies instead.
Author map[string]any
// Social links.
// Deprecated: Use .Site.Params instead.
Social map[string]string
// The build configuration section contains build-related configuration options.
// <docsmeta>{"identifiers": ["build"] }</docsmeta>
Build config.BuildConfig `mapstructure:"-"`
// The caches configuration section contains cache-related configuration options.
// <docsmeta>{"identifiers": ["caches"] }</docsmeta>
Caches filecache.Configs `mapstructure:"-"`
// The httpcache configuration section contains HTTP-cache-related configuration options.
// <docsmeta>{"identifiers": ["httpcache"] }</docsmeta>
HTTPCache httpcache.Config `mapstructure:"-"`
// The markup configuration section contains markup-related configuration options.
// <docsmeta>{"identifiers": ["markup"] }</docsmeta>
Markup markup_config.Config `mapstructure:"-"`
// ContentTypes are the media types that's considered content in Hugo.
ContentTypes *config.ConfigNamespace[map[string]media.ContentTypeConfig, media.ContentTypes] `mapstructure:"-"`
// The mediatypes configuration section maps the MIME type (a string) to a configuration object for that type.
// <docsmeta>{"identifiers": ["mediatypes"], "refs": ["types:media:type"] }</docsmeta>
MediaTypes *config.ConfigNamespace[map[string]media.MediaTypeConfig, media.Types] `mapstructure:"-"`
Imaging *config.ConfigNamespace[images.ImagingConfig, images.ImagingConfigInternal] `mapstructure:"-"`
// The outputformats configuration sections maps a format name (a string) to a configuration object for that format.
OutputFormats *config.ConfigNamespace[map[string]output.OutputFormatConfig, output.Formats] `mapstructure:"-"`
// The outputs configuration section maps a Page Kind (a string) to a slice of output formats.
// This can be overridden in the front matter.
Outputs map[string][]string `mapstructure:"-"`
// The cascade configuration section contains the top level front matter cascade configuration options,
// a slice of page matcher and params to apply to those pages.
Cascade *config.ConfigNamespace[[]page.PageMatcherParamsConfig, *maps.Ordered[page.PageMatcher, page.PageMatcherParamsConfig]] `mapstructure:"-"`
// The segments defines segments for the site. Used for partial/segmented builds.
Segments *config.ConfigNamespace[map[string]segments.SegmentConfig, segments.Segments] `mapstructure:"-"`
// Menu configuration.
// <docsmeta>{"refs": ["config:languages:menus"] }</docsmeta>
Menus *config.ConfigNamespace[map[string]navigation.MenuConfig, navigation.Menus] `mapstructure:"-"`
// The deployment configuration section contains for hugo deployconfig.
Deployment deployconfig.DeployConfig `mapstructure:"-"`
// Module configuration.
Module modules.Config `mapstructure:"-"`
// Front matter configuration.
Frontmatter pagemeta.FrontmatterConfig `mapstructure:"-"`
// Minification configuration.
Minify minifiers.MinifyConfig `mapstructure:"-"`
// Permalink configuration.
Permalinks map[string]map[string]string `mapstructure:"-"`
// Taxonomy configuration.
Taxonomies map[string]string `mapstructure:"-"`
// Sitemap configuration.
Sitemap config.SitemapConfig `mapstructure:"-"`
// Related content configuration.
Related related.Config `mapstructure:"-"`
// Server configuration.
Server config.Server `mapstructure:"-"`
// Pagination configuration.
Pagination config.Pagination `mapstructure:"-"`
// Page configuration.
Page config.PageConfig `mapstructure:"-"`
// Privacy configuration.
Privacy privacy.Config `mapstructure:"-"`
// Security configuration.
Security security.Config `mapstructure:"-"`
// Services configuration.
Services services.Config `mapstructure:"-"`
// User provided parameters.
// <docsmeta>{"refs": ["config:languages:params"] }</docsmeta>
Params maps.Params `mapstructure:"-"`
// The languages configuration sections maps a language code (a string) to a configuration object for that language.
Languages map[string]langs.LanguageConfig `mapstructure:"-"`
// UglyURLs configuration. Either a boolean or a sections map.
UglyURLs any `mapstructure:"-"`
}
func (*Config) IsKindEnabled ¶
func (*Config) IsLangDisabled ¶
type ConfigCompiled ¶
type ConfigCompiled struct {
Timeout time.Duration
BaseURL urls.BaseURL
BaseURLLiveReload urls.BaseURL
ServerInterface string
KindOutputFormats map[string]output.Formats
DefaultOutputFormat output.Format
DisabledKinds map[string]bool
DisabledLanguages map[string]bool
IgnoredLogs map[string]bool
CreateTitle func(s string) string
IsUglyURLSection func(section string) bool
IgnoreFile func(filename string) bool
SegmentFilter segments.SegmentFilter
MainSections []string
Clock time.Time
HTTPCache httpcache.ConfigCompiled
// contains filtered or unexported fields
}
ConfigCompiled holds values and functions that are derived from the config.
func (*ConfigCompiled) IsMainSectionsSet ¶ added in v0.123.0
func (c *ConfigCompiled) IsMainSectionsSet() bool
IsMainSectionsSet returns whether the main sections have been set.
func (*ConfigCompiled) SetMainSections ¶ added in v0.123.0
func (c *ConfigCompiled) SetMainSections(sections []string)
This may be set after the config is compiled.
func (*ConfigCompiled) SetServerInfo ¶ added in v0.125.0
func (c *ConfigCompiled) SetServerInfo(baseURL, baseURLLiveReload urls.BaseURL, serverInterface string)
This is set after the config is compiled by the server command.
type ConfigLanguage ¶
type ConfigLanguage struct {
// contains filtered or unexported fields
}
func (ConfigLanguage) BaseConfig ¶
func (c ConfigLanguage) BaseConfig() config.BaseConfig
func (ConfigLanguage) BaseURL ¶
func (c ConfigLanguage) BaseURL() urls.BaseURL
func (ConfigLanguage) BaseURLLiveReload ¶
func (c ConfigLanguage) BaseURLLiveReload() urls.BaseURL
func (ConfigLanguage) BuildDrafts ¶
func (c ConfigLanguage) BuildDrafts() bool
func (ConfigLanguage) BuildExpired ¶
func (c ConfigLanguage) BuildExpired() bool
func (ConfigLanguage) BuildFuture ¶
func (c ConfigLanguage) BuildFuture() bool
func (ConfigLanguage) CanonifyURLs ¶
func (c ConfigLanguage) CanonifyURLs() bool
func (ConfigLanguage) ContentTypes ¶ added in v0.126.0
func (c ConfigLanguage) ContentTypes() config.ContentTypesProvider
func (ConfigLanguage) CreateTitle ¶
func (c ConfigLanguage) CreateTitle(s string) string
func (ConfigLanguage) DefaultContentLanguage ¶
func (c ConfigLanguage) DefaultContentLanguage() string
func (ConfigLanguage) DefaultContentLanguageInSubdir ¶
func (c ConfigLanguage) DefaultContentLanguageInSubdir() bool
func (ConfigLanguage) Dirs ¶
func (c ConfigLanguage) Dirs() config.CommonDirs
func (ConfigLanguage) DirsBase ¶
func (c ConfigLanguage) DirsBase() config.CommonDirs
func (ConfigLanguage) DisablePathToLower ¶
func (c ConfigLanguage) DisablePathToLower() bool
func (ConfigLanguage) EnableEmoji ¶ added in v0.120.0
func (c ConfigLanguage) EnableEmoji() bool
func (ConfigLanguage) EnableMissingTranslationPlaceholders ¶
func (c ConfigLanguage) EnableMissingTranslationPlaceholders() bool
func (ConfigLanguage) Environment ¶
func (c ConfigLanguage) Environment() string
func (ConfigLanguage) FastRenderMode ¶ added in v0.123.0
func (c ConfigLanguage) FastRenderMode() bool
func (ConfigLanguage) GetConfig ¶
func (c ConfigLanguage) GetConfig() any
func (ConfigLanguage) GetConfigSection ¶
func (c ConfigLanguage) GetConfigSection(s string) any
GetConfigSection is mostly used in tests. The switch statement isn't complete, but what's in use.
func (ConfigLanguage) IgnoreFile ¶
func (c ConfigLanguage) IgnoreFile(s string) bool
func (ConfigLanguage) IgnoredLogs ¶ added in v0.123.0
func (c ConfigLanguage) IgnoredLogs() map[string]bool
func (ConfigLanguage) IsLangDisabled ¶
func (c ConfigLanguage) IsLangDisabled(lang string) bool
func (ConfigLanguage) IsMultihost ¶
func (c ConfigLanguage) IsMultihost() bool
func (ConfigLanguage) IsMultilingual ¶ added in v0.124.0
func (c ConfigLanguage) IsMultilingual() bool
func (ConfigLanguage) IsUglyURLs ¶
func (c ConfigLanguage) IsUglyURLs(section string) bool
func (ConfigLanguage) Language ¶
func (c ConfigLanguage) Language() *langs.Language
func (ConfigLanguage) LanguagePrefix ¶ added in v0.115.2
func (c ConfigLanguage) LanguagePrefix() string
func (ConfigLanguage) Languages ¶
func (c ConfigLanguage) Languages() langs.Languages
func (ConfigLanguage) LanguagesDefaultFirst ¶
func (c ConfigLanguage) LanguagesDefaultFirst() langs.Languages
func (ConfigLanguage) NewContentEditor ¶
func (c ConfigLanguage) NewContentEditor() string
func (ConfigLanguage) NewIdentityManager ¶ added in v0.123.0
func (c ConfigLanguage) NewIdentityManager(name string, opts ...identity.ManagerOption) identity.Manager
func (ConfigLanguage) NoBuildLock ¶
func (c ConfigLanguage) NoBuildLock() bool
func (ConfigLanguage) Pagination ¶ added in v0.128.0
func (c ConfigLanguage) Pagination() config.Pagination
func (ConfigLanguage) PathParser ¶ added in v0.123.0
func (c ConfigLanguage) PathParser() *paths.PathParser
func (ConfigLanguage) PrintI18nWarnings ¶ added in v0.115.1
func (c ConfigLanguage) PrintI18nWarnings() bool
func (ConfigLanguage) PrintUnusedTemplates ¶
func (c ConfigLanguage) PrintUnusedTemplates() bool
func (ConfigLanguage) Quiet ¶
func (c ConfigLanguage) Quiet() bool
func (ConfigLanguage) RemovePathAccents ¶
func (c ConfigLanguage) RemovePathAccents() bool
func (ConfigLanguage) Running ¶
func (c ConfigLanguage) Running() bool
func (ConfigLanguage) StaticDirs ¶
func (c ConfigLanguage) StaticDirs() []string
func (ConfigLanguage) SummaryLength ¶
func (c ConfigLanguage) SummaryLength() int
func (ConfigLanguage) TemplateMetrics ¶
func (c ConfigLanguage) TemplateMetrics() bool
func (ConfigLanguage) TemplateMetricsHints ¶
func (c ConfigLanguage) TemplateMetricsHints() bool
func (ConfigLanguage) Timeout ¶
func (c ConfigLanguage) Timeout() time.Duration
func (ConfigLanguage) Watching ¶ added in v0.123.0
func (c ConfigLanguage) Watching() bool
func (ConfigLanguage) WorkingDir ¶
func (c ConfigLanguage) WorkingDir() string
type ConfigSourceDescriptor ¶
type ConfigSourceDescriptor struct {
Fs afero.Fs
Logger loggers.Logger
// Config received from the command line.
// These will override any config file settings.
Flags config.Provider
// Path to the config file to use, e.g. /my/project/config.toml
Filename string
// The (optional) directory for additional configuration files.
ConfigDir string
// production, development
Environment string
// Defaults to os.Environ if not set.
Environ []string
// If set, this will be used to ignore the module does not exist error.
IgnoreModuleDoesNotExist bool
}
ConfigSourceDescriptor describes where to find the config (e.g. config.toml etc.).
type Configs ¶
type Configs struct {
Base *Config
LoadingInfo config.LoadConfigResult
LanguageConfigMap map[string]*Config
LanguageConfigSlice []*Config
IsMultihost bool
Modules modules.Modules
ModulesClient *modules.Client
// All below is set in Init.
Languages langs.Languages
LanguagesDefaultFirst langs.Languages
ContentPathParser *paths.PathParser
// contains filtered or unexported fields
}
func LoadConfig ¶
func LoadConfig(d ConfigSourceDescriptor) (configs *Configs, err error)
func (Configs) ConfigLangs ¶
func (c Configs) ConfigLangs() []config.AllProvider
func (Configs) GetFirstLanguageConfig ¶
func (c Configs) GetFirstLanguageConfig() config.AllProvider
type InternalConfig ¶
type InternalConfig struct {
// Server mode?
Running bool
Quiet bool
Verbose bool
Clock string
Watch bool
FastRenderMode bool
LiveReloadPort int
}
InternalConfig is the internal configuration for Hugo, not read from any user provided config file.
type RootConfig ¶
type RootConfig struct {
// The base URL of the site.
// Note that the default value is empty, but Hugo requires a valid URL (e.g. "https://example.com/") to work properly.
// <docsmeta>{"identifiers": ["URL"] }</docsmeta>
BaseURL string
// Whether to build content marked as draft.X
// <docsmeta>{"identifiers": ["draft"] }</docsmeta>
BuildDrafts bool
// Whether to build content with expiryDate in the past.
// <docsmeta>{"identifiers": ["expiryDate"] }</docsmeta>
BuildExpired bool
// Whether to build content with publishDate in the future.
// <docsmeta>{"identifiers": ["publishDate"] }</docsmeta>
BuildFuture bool
// Copyright information.
Copyright string
// The language to apply to content without any language indicator.
DefaultContentLanguage string
// By default, we put the default content language in the root and the others below their language ID, e.g. /no/.
// Set this to true to put all languages below their language ID.
DefaultContentLanguageInSubdir bool
// The default output format to use for the site.
// If not set, we will use the first output format.
DefaultOutputFormat string
// Disable generation of redirect to the default language when DefaultContentLanguageInSubdir is enabled.
DisableDefaultLanguageRedirect bool
// Disable creation of alias redirect pages.
DisableAliases bool
// Disable lower casing of path segments.
DisablePathToLower bool
// Disable page kinds from build.
DisableKinds []string
// A list of languages to disable.
DisableLanguages []string
// The named segments to render.
// This needs to match the name of the segment in the segments configuration.
RenderSegments []string
// Disable the injection of the Hugo generator tag on the home page.
DisableHugoGeneratorInject bool
// Disable live reloading in server mode.
DisableLiveReload bool
// Enable replacement in Pages' Content of Emoji shortcodes with their equivalent Unicode characters.
// <docsmeta>{"identifiers": ["Content", "Unicode"] }</docsmeta>
EnableEmoji bool
// THe main section(s) of the site.
// If not set, Hugo will try to guess this from the content.
MainSections []string
// Enable robots.txt generation.
EnableRobotsTXT bool
// When enabled, Hugo will apply Git version information to each Page if possible, which
// can be used to keep lastUpdated in synch and to print version information.
// <docsmeta>{"identifiers": ["Page"] }</docsmeta>
EnableGitInfo bool
// Enable to track, calculate and print metrics.
TemplateMetrics bool
// Enable to track, print and calculate metric hints.
TemplateMetricsHints bool
// Enable to disable the build lock file.
NoBuildLock bool
// A list of log IDs to ignore.
IgnoreLogs []string
// A list of regexps that match paths to ignore.
// Deprecated: Use the settings on module imports.
IgnoreFiles []string
// Ignore cache.
IgnoreCache bool
// Enable to print greppable placeholders (on the form "[i18n] TRANSLATIONID") for missing translation strings.
EnableMissingTranslationPlaceholders bool
// Enable to panic on warning log entries. This may make it easier to detect the source.
PanicOnWarning bool
// The configured environment. Default is "development" for server and "production" for build.
Environment string
// The default language code.
LanguageCode string
// Enable if the site content has CJK language (Chinese, Japanese, or Korean). This affects how Hugo counts words.
HasCJKLanguage bool
// The default number of pages per page when paginating.
// Deprecated: Use the Pagination struct.
Paginate int
// The path to use when creating pagination URLs, e.g. "page" in /page/2/.
// Deprecated: Use the Pagination struct.
PaginatePath string
// Whether to pluralize default list titles.
// Note that this currently only works for English, but you can provide your own title in the content file's front matter.
PluralizeListTitles bool
// Whether to capitalize automatic page titles, applicable to section, taxonomy, and term pages.
CapitalizeListTitles bool
// Make all relative URLs absolute using the baseURL.
// <docsmeta>{"identifiers": ["baseURL"] }</docsmeta>
CanonifyURLs bool
// Enable this to make all relative URLs relative to content root. Note that this does not affect absolute URLs.
RelativeURLs bool
// Removes non-spacing marks from composite characters in content paths.
RemovePathAccents bool
// Whether to track and print unused templates during the build.
PrintUnusedTemplates bool
// Enable to print warnings for missing translation strings.
PrintI18nWarnings bool
// ENable to print warnings for multiple files published to the same destination.
PrintPathWarnings bool
// URL to be used as a placeholder when a page reference cannot be found in ref or relref. Is used as-is.
RefLinksNotFoundURL string
// When using ref or relref to resolve page links and a link cannot be resolved, it will be logged with this log level.
// Valid values are ERROR (default) or WARNING. Any ERROR will fail the build (exit -1).
RefLinksErrorLevel string
// This will create a menu with all the sections as menu items and all the sections’ pages as “shadow-members”.
SectionPagesMenu string
// The length of text in words to show in a .Summary.
SummaryLength int
// The site title.
Title string
// The theme(s) to use.
// See Modules for more a more flexible way to load themes.
Theme []string
// Timeout for generating page contents, specified as a duration or in seconds.
Timeout string
// The time zone (or location), e.g. Europe/Oslo, used to parse front matter dates without such information and in the time function.
TimeZone string
// Set titleCaseStyle to specify the title style used by the title template function and the automatic section titles in Hugo.
// It defaults to AP Stylebook for title casing, but you can also set it to Chicago or Go (every word starts with a capital letter).
TitleCaseStyle string
// The editor used for opening up new content.
NewContentEditor string
// Don't sync modification time of files for the static mounts.
NoTimes bool
// Don't sync modification time of files for the static mounts.
NoChmod bool
// Clean the destination folder before a new build.
// This currently only handles static files.
CleanDestinationDir bool
// A Glob pattern of module paths to ignore in the _vendor folder.
IgnoreVendorPaths string
config.CommonDirs `mapstructure:",squash"`
// The odd constructs below are kept for backwards compatibility.
// Deprecated: Use module mount config instead.
StaticDir []string
// Deprecated: Use module mount config instead.
StaticDir0 []string
// Deprecated: Use module mount config instead.
StaticDir1 []string
// Deprecated: Use module mount config instead.
StaticDir2 []string
// Deprecated: Use module mount config instead.
StaticDir3 []string
// Deprecated: Use module mount config instead.
StaticDir4 []string
// Deprecated: Use module mount config instead.
StaticDir5 []string
// Deprecated: Use module mount config instead.
StaticDir6 []string
// Deprecated: Use module mount config instead.
StaticDir7 []string
// Deprecated: Use module mount config instead.
StaticDir8 []string
// Deprecated: Use module mount config instead.
StaticDir9 []string
// Deprecated: Use module mount config instead.
StaticDir10 []string
}
RootConfig holds all the top-level configuration options in Hugo