package identity

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

Index

Package Files

identity.go

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 {
    SearchProvider
    Add(ids ...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 is for internal use.
    GetIdentity() Identity
}

Provider provides the hashable Identity.

type SearchProvider

type SearchProvider interface {
    Provider
    IdentitiesProvider
    Search(id Identity) Provider
}

SearchProvider provides access to the chained set of identities.

Version
v0.101.0 (latest)
Published
Jun 16, 2022
Platform
linux/amd64
Imports
4 packages (graph)
Last checked
3 hours ago

Tools for package owners.