plugin

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: May 2, 2020 License: MIT Imports: 9 Imported by: 0

README

HugoCMS Plugin

GoDoc

Plugin library for HugoCMS

Adding Plugins to HugoCMS

Use environment variable PLUGINS to add plugins to HugoCMS. Plugin addresses are separated by , (comma)

  • Docker
-e "PLUGINS=plugin1,plugin2:port,https://plugin3:port"

Installation

go get github.com/dfkdream/hugocms/plugin

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ContextKeyUser is context key for user data
	ContextKeyUser = contextKey("user")
)

Functions

func GetUser added in v0.2.0

func GetUser(req *http.Request) *user.User

GetUser returns user data retrieved from request

Types

type Info

type Info struct {
	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Author               string   `protobuf:"bytes,2,opt,name=author,proto3" json:"author,omitempty"`
	Description          string   `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	Version              string   `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
	IconClass            string   `protobuf:"bytes,5,opt,name=icon_class,json=iconClass,proto3" json:"icon_class,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Info) Descriptor added in v0.1.0

func (*Info) Descriptor() ([]byte, []int)

func (*Info) GetAuthor added in v0.1.0

func (m *Info) GetAuthor() string

func (*Info) GetDescription added in v0.1.0

func (m *Info) GetDescription() string

func (*Info) GetIconClass added in v0.1.0

func (m *Info) GetIconClass() string

func (*Info) GetName added in v0.1.0

func (m *Info) GetName() string

func (*Info) GetVersion added in v0.1.0

func (m *Info) GetVersion() string

func (*Info) ProtoMessage added in v0.1.0

func (*Info) ProtoMessage()

func (*Info) Reset added in v0.1.0

func (m *Info) Reset()

func (*Info) String added in v0.1.0

func (m *Info) String() string

func (*Info) XXX_DiscardUnknown added in v0.1.0

func (m *Info) XXX_DiscardUnknown()

func (*Info) XXX_Marshal added in v0.1.0

func (m *Info) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Info) XXX_Merge added in v0.1.0

func (m *Info) XXX_Merge(src proto.Message)

func (*Info) XXX_Size added in v0.1.0

func (m *Info) XXX_Size() int

func (*Info) XXX_Unmarshal added in v0.1.0

func (m *Info) XXX_Unmarshal(b []byte) error

type Metadata

type Metadata struct {
	Identifier           string                   `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"`
	Info                 *Info                    `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"`
	AdminMenuItems       []*MetadataAdminMenuItem `protobuf:"bytes,3,rep,name=admin_menu_items,json=adminMenuItems,proto3" json:"admin_menu_items,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (*Metadata) Descriptor added in v0.1.0

func (*Metadata) Descriptor() ([]byte, []int)

func (*Metadata) GetAdminMenuItems added in v0.1.0

func (m *Metadata) GetAdminMenuItems() []*MetadataAdminMenuItem

func (*Metadata) GetIdentifier added in v0.1.0

func (m *Metadata) GetIdentifier() string

func (*Metadata) GetInfo added in v0.1.0

func (m *Metadata) GetInfo() *Info

func (*Metadata) ProtoMessage added in v0.1.0

func (*Metadata) ProtoMessage()

func (*Metadata) Reset added in v0.1.0

func (m *Metadata) Reset()

func (*Metadata) String added in v0.1.0

func (m *Metadata) String() string

func (*Metadata) XXX_DiscardUnknown added in v0.1.0

func (m *Metadata) XXX_DiscardUnknown()

func (*Metadata) XXX_Marshal added in v0.1.0

func (m *Metadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Metadata) XXX_Merge added in v0.1.0

func (m *Metadata) XXX_Merge(src proto.Message)

func (*Metadata) XXX_Size added in v0.1.0

func (m *Metadata) XXX_Size() int

func (*Metadata) XXX_Unmarshal added in v0.1.0

func (m *Metadata) XXX_Unmarshal(b []byte) error

type MetadataAdminMenuItem added in v0.1.0

type MetadataAdminMenuItem struct {
	MenuName             string   `protobuf:"bytes,1,opt,name=menu_name,json=menuName,proto3" json:"menu_name,omitempty"`
	Endpoint             string   `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*MetadataAdminMenuItem) Descriptor added in v0.1.0

func (*MetadataAdminMenuItem) Descriptor() ([]byte, []int)

func (*MetadataAdminMenuItem) GetEndpoint added in v0.1.0

func (m *MetadataAdminMenuItem) GetEndpoint() string

func (*MetadataAdminMenuItem) GetMenuName added in v0.1.0

func (m *MetadataAdminMenuItem) GetMenuName() string

func (*MetadataAdminMenuItem) ProtoMessage added in v0.1.0

func (*MetadataAdminMenuItem) ProtoMessage()

func (*MetadataAdminMenuItem) Reset added in v0.1.0

func (m *MetadataAdminMenuItem) Reset()

func (*MetadataAdminMenuItem) String added in v0.1.0

func (m *MetadataAdminMenuItem) String() string

func (*MetadataAdminMenuItem) XXX_DiscardUnknown added in v0.1.0

func (m *MetadataAdminMenuItem) XXX_DiscardUnknown()

func (*MetadataAdminMenuItem) XXX_Marshal added in v0.1.0

func (m *MetadataAdminMenuItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MetadataAdminMenuItem) XXX_Merge added in v0.1.0

func (m *MetadataAdminMenuItem) XXX_Merge(src proto.Message)

func (*MetadataAdminMenuItem) XXX_Size added in v0.1.0

func (m *MetadataAdminMenuItem) XXX_Size() int

func (*MetadataAdminMenuItem) XXX_Unmarshal added in v0.1.0

func (m *MetadataAdminMenuItem) XXX_Unmarshal(b []byte) error

type Plugin

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

Plugin is HugoCMS Plugin which implements http.Handler.

func New

func New(Info Info, Identifier string) *Plugin

New creates new plugin.

func (*Plugin) APIRouter added in v0.0.3

func (p *Plugin) APIRouter() *mux.Router

APIRouter returns API router.

func (*Plugin) AdminAPIRouter added in v0.0.3

func (p *Plugin) AdminAPIRouter() *mux.Router

AdminAPIRouter returns admin API router.

func (*Plugin) AdminPageRouter added in v0.0.3

func (p *Plugin) AdminPageRouter() *mux.Router

AdminPageRouter returns admin page router.

func (*Plugin) HandleAPI

func (p *Plugin) HandleAPI(path string, handler http.Handler)

HandleAPI handles API handlers. Non logged in users can access these APIs.

func (*Plugin) HandleAdminAPI

func (p *Plugin) HandleAdminAPI(path string, handler http.Handler)

HandleAdminAPI handles admin only API handlers. Non logged in requests will be rejected.

func (*Plugin) HandleAdminPage

func (p *Plugin) HandleAdminPage(path, menuName string, handler http.Handler)

HandleAdminPage handles admin page handlers. menuName will be displayed on navigation bar. Handler should write HTML document.

func (*Plugin) ServeHTTP

func (p *Plugin) ServeHTTP(res http.ResponseWriter, req *http.Request)

ServeHTTP dispatches the requests to plugin.

Jump to

Keyboard shortcuts

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