pagemeta

package
v0.0.0-...-42d6f5d Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2023 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Never       = "never"
	Always      = "always"
	ListLocally = "local"
	Link        = "link"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BuildConfig

type BuildConfig struct {
	// Whether to add it to any of the page collections.
	// Note that the page can always be found with .Site.GetPage.
	// Valid values: never, always, local.
	// Setting it to 'local' means they will be available via the local
	// page collections, e.g. $section.Pages.
	// Note: before 0.57.2 this was a bool, so we accept those too.
	List string

	// Whether to render it.
	// Valid values: never, always, link.
	// The value link means it will not be rendered, but it will get a RelPermalink/Permalink.
	// Note that before 0.76.0 this was a bool, so we accept those too.
	Render string

	// Whether to publish its resources. These will still be published on demand,
	// but enabling this can be useful if the originals (e.g. images) are
	// never used.
	PublishResources bool
	// contains filtered or unexported fields
}

BuildConfig holds configuration options about how to handle a Page in Hugo's build process.

func DecodeBuildConfig

func DecodeBuildConfig(m any) (BuildConfig, error)

func (*BuildConfig) Disable

func (b *BuildConfig) Disable()

Disable sets all options to their off value.

func (BuildConfig) IsZero

func (b BuildConfig) IsZero() bool

type FrontMatterDescriptor

type FrontMatterDescriptor struct {

	// This the Page's front matter.
	Frontmatter map[string]any

	// This is the Page's base filename (BaseFilename), e.g. page.md., or
	// if page is a leaf bundle, the bundle folder name (ContentBaseName).
	BaseFilename string

	// The content file's mod time.
	ModTime time.Time

	// May be set from the author date in Git.
	GitAuthorDate time.Time

	// This is the Page's params.
	Params map[string]any

	// This is the Page's dates.
	Dates *resource.Dates

	// This is the Page's Slug etc.
	PageURLs *URLPath

	// The Location to use to parse dates without time zone info.
	Location *time.Location
}

FrontMatterDescriptor describes how to handle front matter for a given Page. It has pointers to values in the receiving page which gets updated.

type FrontMatterHandler

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

FrontMatterHandler maps front matter into Page fields and .Params. Note that we currently have only extracted the date logic.

func NewFrontmatterHandler

func NewFrontmatterHandler(logger loggers.Logger, frontMatterConfig FrontmatterConfig) (FrontMatterHandler, error)

NewFrontmatterHandler creates a new FrontMatterHandler with the given logger and configuration. If no logger is provided, one will be created.

func (FrontMatterHandler) HandleDates

HandleDates updates all the dates given the current configuration and the supplied front matter params. Note that this requires all lower-case keys in the params map.

func (FrontMatterHandler) IsDateKey

func (f FrontMatterHandler) IsDateKey(key string) bool

IsDateKey returns whether the given front matter key is considered a date by the current configuration.

type FrontmatterConfig

type FrontmatterConfig struct {
	// Controls how the Date is set from front matter.
	Date []string
	// Controls how the Lastmod is set from front matter.
	Lastmod []string
	// Controls how the PublishDate is set from front matter.
	PublishDate []string
	// Controls how the ExpiryDate is set from front matter.
	ExpiryDate []string
}

func DecodeFrontMatterConfig

func DecodeFrontMatterConfig(cfg config.Provider) (FrontmatterConfig, error)

type URLPath

type URLPath struct {
	URL       string
	Permalink string
	Slug      string
	Section   string
}

Jump to

Keyboard shortcuts

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