package identity

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

Index

Types

type Identities

type Identities map[Identity]Provider

Identities stores identity providers.

type IdentitiesProvider

type IdentitiesProvider interface {
	GetIdentities() Identities
}

IdentitiesProvider provides all Identities.

type Identity

type Identity interface {
	Provider
	Name() string
}

Identity represents an thing that can provide an identify. This can be any Go type, but the Identity returned by GetIdentify must be hashable.

type IncrementByOne

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

IncrementByOne implements Incrementer adding 1 every time Incr is called.

func (*IncrementByOne) Incr

func (c *IncrementByOne) Incr() int

type Incrementer

type Incrementer interface {
	Incr() int
}

Incrementer increments and returns the value. Typically used for IDs.

type KeyValueIdentity

type KeyValueIdentity struct {
	Key   string
	Value string
}

A KeyValueIdentity a general purpose identity.

func (KeyValueIdentity) GetIdentity

func (id KeyValueIdentity) GetIdentity() Identity

GetIdentity returns itself.

func (KeyValueIdentity) Name

func (id KeyValueIdentity) Name() string

Name returns the Key.

type Manager

type Manager interface {
	IdentitiesProvider
	Provider
	Add(ids ...Provider)
	Search(id Identity) Provider
	Reset()
}

Manager manages identities, and is itself a Provider of Identity.

func NewManager

func NewManager(id Provider) Manager

NewIdentityManager creates a new Manager starting at id.

type PathIdentity

type PathIdentity struct {
	Type string
	Path string
}

A PathIdentity is a common identity identified by a type and a path, e.g. "layouts" and "_default/single.html".

func NewPathIdentity

func NewPathIdentity(typ, pat string) PathIdentity

NewPathIdentity creates a new Identity with the two identifiers type and path.

func (PathIdentity) GetIdentity

func (id PathIdentity) GetIdentity() Identity

GetIdentity returns itself.

func (PathIdentity) Name

func (id PathIdentity) Name() string

Name returns the Path.

type Provider

type Provider interface {
	GetIdentity() Identity
}

Provider provides the hashable Identity.

Source Files

identity.go

Version
v0.70.0
Published
May 6, 2020
Platform
linux/amd64
Imports
4 packages
Last checked
3 hours ago

Tools for package owners.