builder

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2022 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package builder ...

Package builder ...

Package builder ...

Package builder ...

Package builder ...

Package builder ...

Package builder ...

Package builder ...

Package builder ...

Package builder ...

Package builder ...

Package builder ...

Index

Constants

View Source
const (
	Defaults         string = "defaults"
	Externals        string = "externals"
	Website          string = "website"
	Menu             string = "menu"
	InitMenu         string = "init_menu"
	DotEnv           string = "dotenv"
	Readme           string = "readme"
	License          string = "license"
	ThemeConfig      string = "theme_config"
	IndexPage        string = "index"
	IndexNoThemePage string = "index_notheme"
)

constants representing different file names.

View Source
const (
	// Blank represents the fontmatter-only template id used when generating the content file.
	Blank string = "blank"
	// Sample represents the sample-content template id used when generating the content file.
	Sample string = "sample"

	// Svelte set svelte as the language used to scaffold a new page
	Svelte string = "svelte"
	// Markdown set markdown as the language used to scaffold a new page
	Markdown string = "markdown"

	// API is a string for the 'api' folder.
	API string = "api"
	// APISingle is a string representing the api template file
	// to be used when creating a metadata of type 'single'.
	APISingle string = "api_single"
	// APIList is a string representing the api template file
	// to be used when creating a metadata of type 'list'.
	APIList string = "api_list"

	// Index is a string for the 'index' file.
	Index string = "index"
	// IndexEndpoint is a string for the 'index.ts' file.
	IndexEndpoint string = "indexendpoint"
	// Slug is a string for the 'slug' file.
	Slug string = "slug"
	// SlugEndpoint is a string for the 'slug' file.
	SlugEndpoint string = "slugendpoint"

	// Lib is a string for the 'lib' folder.
	Lib string = "lib"
	// LibSingle is a string representing the template id used
	// for the lib file when metadata's type is single.
	LibSingle string = "lib_single"
	// LibList is a string representing the template id used
	// for the lib file when metadata's type is list.
	LibList string = "lib_list"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Content

type Content struct {
	ContentType       string
	EmbeddedResources map[string]string
	PathToTplFile     string
	TemplateID        string
	TemplateData      *config.TemplateData
	Funcs             template.FuncMap
}

Content define the needed configs to run a Builder.

type Director added in v0.7.0

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

Director defines the order in which to execute the building steps.

func NewDirector

func NewDirector(b IFileContentBuilder) *Director

NewDirector create a director.

func (*Director) GetContent added in v0.7.0

func (d *Director) GetContent() Content

GetContent returns the Content struct used by the Builder.

func (*Director) SetBuilder added in v0.7.0

func (d *Director) SetBuilder(b IFileContentBuilder)

SetBuilder set the Builder to be used.

type IFileContentBuilder added in v0.7.0

type IFileContentBuilder interface {
	SetEmbeddedResources(res map[string]string)
	SetTemplateID(string)
	SetTemplateData(artifact *config.TemplateData)

	GetContent() Content
	// contains filtered or unexported methods
}

IFileContentBuilder declares building steps that are common to all types of builders.

func GetContentBuilder

func GetContentBuilder(contentType string) IFileContentBuilder

GetContentBuilder returns an concrete implementation for iFileContentBuilder.

type MenuContentBuilder struct {
	ContentType       string
	EmbeddedResources map[string]string
	PathToTplFile     string
	TemplateID        string
	TemplateData      *config.TemplateData
	Funcs             template.FuncMap
}

MenuContentBuilder represents the builder for the menu.

func NewMenuContentBuilder

func NewMenuContentBuilder() *MenuContentBuilder

NewMenuContentBuilder create a menuContentBuilder struct.

func (b *MenuContentBuilder) GetContent() Content

GetContent returns the full Content config needed by the Builder.

func (b *MenuContentBuilder) SetEmbeddedResources(res map[string]string)

SetEmbeddedResources set the map to relative embed FS.

func (b *MenuContentBuilder) SetTemplateData(artifactData *config.TemplateData)

SetTemplateData set the data used by the template.

func (b *MenuContentBuilder) SetTemplateID(id string)

SetTemplateID set the id for the template to be used.

type MetadataContentBuilder added in v0.7.0

type MetadataContentBuilder struct {
	ContentType       string
	EmbeddedResources map[string]string
	PathToTplFile     string
	TemplateID        string
	TemplateData      *config.TemplateData
	Funcs             template.FuncMap
}

MetadataContentBuilder represents the builder for the metadata artefact.

func NewMetadataContentBuilder

func NewMetadataContentBuilder() *MetadataContentBuilder

NewMetadataContentBuilder create a metadataContentBuilder struct.

func (*MetadataContentBuilder) GetContent added in v0.7.0

func (b *MetadataContentBuilder) GetContent() Content

GetContent returns the full Content config needed by the Builder.

func (*MetadataContentBuilder) SetEmbeddedResources added in v0.7.0

func (b *MetadataContentBuilder) SetEmbeddedResources(res map[string]string)

SetEmbeddedResources set the map to relative embed FS.

func (*MetadataContentBuilder) SetTemplateData added in v0.7.0

func (b *MetadataContentBuilder) SetTemplateData(artifactData *config.TemplateData)

SetTemplateData set the data used by the template

func (*MetadataContentBuilder) SetTemplateID added in v0.7.0

func (b *MetadataContentBuilder) SetTemplateID(id string)

SetTemplateID set the id for the template to be used.

type NoPContentBuilder added in v0.7.0

type NoPContentBuilder struct {
	ContentType       string
	EmbeddedResources map[string]string
	PathToTplFile     string
	TemplateID        string
	TemplateData      *config.TemplateData
	Funcs             template.FuncMap
}

NoPContentBuilder represents the builder for the no-page artefacts (sitemap and rss).

func NewNoPageContentBuilder

func NewNoPageContentBuilder() *NoPContentBuilder

NewNoPageContentBuilder create a NoPContentBuilder struct.

func (*NoPContentBuilder) GetContent added in v0.7.0

func (b *NoPContentBuilder) GetContent() Content

GetContent returns the full Content config needed by the Builder.

func (*NoPContentBuilder) SetEmbeddedResources added in v0.7.0

func (b *NoPContentBuilder) SetEmbeddedResources(res map[string]string)

SetEmbeddedResources set the map to relative embed FS.

func (*NoPContentBuilder) SetTemplateData added in v0.7.0

func (b *NoPContentBuilder) SetTemplateData(artifactData *config.TemplateData)

SetTemplateData set the data used by the template.

func (*NoPContentBuilder) SetTemplateID added in v0.7.0

func (b *NoPContentBuilder) SetTemplateID(id string)

SetTemplateID set the id for the template to be used.

type ProjectBuilder added in v0.7.0

type ProjectBuilder struct {
	ContentType       string
	EmbeddedResources map[string]string
	PathToTplFile     string
	TemplateID        string
	TemplateData      *config.TemplateData
	Funcs             template.FuncMap
}

ProjectBuilder represents the builder for the project.

func NewProjectBuilder

func NewProjectBuilder() *ProjectBuilder

NewProjectBuilder create a ProjectBuilder struct.

func (*ProjectBuilder) GetContent added in v0.7.0

func (b *ProjectBuilder) GetContent() Content

GetContent returns the full Content config needed by the Builder.

func (*ProjectBuilder) SetEmbeddedResources added in v0.7.0

func (b *ProjectBuilder) SetEmbeddedResources(res map[string]string)

SetEmbeddedResources set the map to relative embed FS.

func (*ProjectBuilder) SetTemplateData added in v0.7.0

func (b *ProjectBuilder) SetTemplateData(artifactData *config.TemplateData)

SetTemplateData set the data used by the template.

func (*ProjectBuilder) SetTemplateID added in v0.7.0

func (b *ProjectBuilder) SetTemplateID(id string)

SetTemplateID set the id for the template to be used.

type PublicPageContentBuilder added in v0.7.0

type PublicPageContentBuilder struct {
	ContentType       string
	EmbeddedResources map[string]string
	PathToTplFile     string
	TemplateID        string
	TemplateData      *config.TemplateData
	Funcs             template.FuncMap
}

PublicPageContentBuilder represents the builder for the public page artefact.

func NewPageContentBuilder

func NewPageContentBuilder() *PublicPageContentBuilder

NewPageContentBuilder create a PublicPageContentBuilder struct.

func (*PublicPageContentBuilder) GetContent added in v0.7.0

func (b *PublicPageContentBuilder) GetContent() Content

GetContent returns the full Content config needed by the Builder.

func (*PublicPageContentBuilder) SetEmbeddedResources added in v0.7.0

func (b *PublicPageContentBuilder) SetEmbeddedResources(res map[string]string)

SetEmbeddedResources set the map to relative embed FS.

func (*PublicPageContentBuilder) SetTemplateData added in v0.7.0

func (b *PublicPageContentBuilder) SetTemplateData(artifactData *config.TemplateData)

SetTemplateData set the data used by the template.

func (*PublicPageContentBuilder) SetTemplateID added in v0.7.0

func (b *PublicPageContentBuilder) SetTemplateID(id string)

SetTemplateID set the id for the template to be used.

type ResContentBuilder added in v0.7.0

type ResContentBuilder struct {
	ContentType       string
	EmbeddedResources map[string]string
	PathToTplFile     string
	TemplateID        string
	TemplateData      *config.TemplateData
	Funcs             template.FuncMap
}

ResContentBuilder represents the builder for the content artefact.

func NewResContentBuilder

func NewResContentBuilder() *ResContentBuilder

NewResContentBuilder create a ResContentBuilder struct.

func (*ResContentBuilder) GetContent added in v0.7.0

func (b *ResContentBuilder) GetContent() Content

GetContent returns the full Content config needed by the Builder.

func (*ResContentBuilder) SetEmbeddedResources added in v0.7.0

func (b *ResContentBuilder) SetEmbeddedResources(res map[string]string)

SetEmbeddedResources set the map to relative embed FS.

func (*ResContentBuilder) SetTemplateData added in v0.7.0

func (b *ResContentBuilder) SetTemplateData(artifactData *config.TemplateData)

SetTemplateData set the data used by the template.

func (*ResContentBuilder) SetTemplateID added in v0.7.0

func (b *ResContentBuilder) SetTemplateID(id string)

SetTemplateID set the id for the template to be used.

type ResourceContentBuilder added in v0.7.0

type ResourceContentBuilder struct {
	ContentType       string
	EmbeddedResources map[string]string
	PathToTplFile     string
	TemplateID        string
	TemplateData      *config.TemplateData
	Funcs             template.FuncMap
}

ResourceContentBuilder represents the builder for the resource artefact.

func NewResourceContentBuilder

func NewResourceContentBuilder() *ResourceContentBuilder

NewResourceContentBuilder create a ResourceContentBuilder struct.

func (*ResourceContentBuilder) GetContent added in v0.7.0

func (b *ResourceContentBuilder) GetContent() Content

GetContent returns the full Content config needed by the Builder.

func (*ResourceContentBuilder) SetEmbeddedResources added in v0.7.0

func (b *ResourceContentBuilder) SetEmbeddedResources(res map[string]string)

SetEmbeddedResources set the map to relative embed FS.

func (*ResourceContentBuilder) SetTemplateData added in v0.7.0

func (b *ResourceContentBuilder) SetTemplateData(artifactData *config.TemplateData)

SetTemplateData set the data used by the template.

func (*ResourceContentBuilder) SetTemplateID added in v0.7.0

func (b *ResourceContentBuilder) SetTemplateID(id string)

SetTemplateID set the id for the template to be used.

type ThemeBuilder added in v0.8.0

type ThemeBuilder struct {
	ContentType       string
	EmbeddedResources map[string]string
	PathToTplFile     string
	TemplateID        string
	TemplateData      *config.TemplateData
	Funcs             template.FuncMap
}

ThemeBuilder represents the builder for the project.

func NewThemeBuilder added in v0.8.0

func NewThemeBuilder() *ThemeBuilder

NewThemeBuilder create a ThemeBuilder struct.

func (*ThemeBuilder) GetContent added in v0.8.0

func (b *ThemeBuilder) GetContent() Content

GetContent returns the full Content config needed by the Builder.

func (*ThemeBuilder) SetEmbeddedResources added in v0.8.0

func (b *ThemeBuilder) SetEmbeddedResources(res map[string]string)

SetEmbeddedResources set the map to relative embed FS.

func (*ThemeBuilder) SetTemplateData added in v0.8.0

func (b *ThemeBuilder) SetTemplateData(artifactData *config.TemplateData)

SetTemplateData set the data used by the template.

func (*ThemeBuilder) SetTemplateID added in v0.8.0

func (b *ThemeBuilder) SetTemplateID(id string)

SetTemplateID set the id for the template to be used.

Jump to

Keyboard shortcuts

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