Documentation
¶
Overview ¶
Package sdk defines the contract between the Gophenberg core and its plugins. It is the only Gophenberg package a plugin may import.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ContentReader ¶ added in v0.4.0
type ContentReader interface {
ListPublished(ctx context.Context, contentType string, limit int) ([]Item, error)
}
ContentReader gives plugins read access to published content.
type Deps ¶
type Deps struct {
DatabaseURL string
Content ContentReader
Getenv func(string) string
}
Deps carries the host-provided dependencies a plugin's Register function receives at registration.
type Item ¶ added in v0.4.0
type Item struct {
ID uuid.UUID
Type string
Path string
Slug string
Title string
Excerpt string
Content string
PublishedAt time.Time
UpdatedAt time.Time
}
Item is a published content item as plugins see it: the Content field holds Gutenberg-serialized block HTML, sanitized for public delivery.
type Migrator ¶
Migrator is implemented by plugins that own database schema, which the host migrates before starting any plugin.
type PublicPathProvider ¶
type PublicPathProvider = pluginkit.PublicPathProvider
PublicPathProvider is implemented by plugins declaring session-exempt public paths.
type RouteProvider ¶
type RouteProvider = pluginkit.RouteProvider
RouteProvider is implemented by plugins that expose HTTP endpoints under their own namespace.