generator

package
v0.21.0 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2025 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AttributeData

type AttributeData struct {
	Field  string // Go field name (e.g., "D", "Fill")
	Type   string // Attribute type ("string" or "bool")
	Attr   string // HTML attribute name (e.g., "d", "fill")
	GoType string // Go type ("string" or "bool")
}

AttributeData represents a single attribute for template rendering

type AttributesGenerator

type AttributesGenerator struct{}

AttributesGenerator generates centralized SVG attributes file

func NewAttributesGenerator

func NewAttributesGenerator() *AttributesGenerator

NewAttributesGenerator creates a new attributes generator

func (*AttributesGenerator) GenerateSource

func (g *AttributesGenerator) GenerateSource(attributes map[string]spec.Attribute) string

GenerateSource creates the source code for centralized SVG attributes file

type AttributesTemplateData

type AttributesTemplateData struct {
	Attributes []AttributeData
}

AttributesTemplateData holds data for template rendering

type GlobalAttributeData

type GlobalAttributeData struct {
	Field  string // Go field name (e.g., "Class")
	Type   string // Attribute type ("string" or "bool")
	Attr   string // HTML attribute name (e.g., "class")
	GoType string // Go type ("string" or "bool")
}

GlobalAttributeData represents a global attribute for template rendering

type GlobalGenerator

type GlobalGenerator struct{}

GlobalGenerator generates SVG global attributes file

func NewGlobalGenerator

func NewGlobalGenerator() *GlobalGenerator

NewGlobalGenerator creates a new global generator

func (*GlobalGenerator) GenerateSource

func (g *GlobalGenerator) GenerateSource(attributes []spec.Attribute) string

GenerateSource generates the Go source code for SVG global attributes

type GlobalTemplateData

type GlobalTemplateData struct {
	Attributes []GlobalAttributeData
}

GlobalTemplateData holds data for global template rendering

type TagAttributeData

type TagAttributeData struct {
	Field  string // Go field name (e.g., "Width")
	Type   string // Attribute type ("string" or "bool")
	Attr   string // HTML attribute name (e.g., "width")
	GoType string // Go type ("string" or "bool")
}

TagAttributeData represents attribute data for tag templates

type TagGenerator

type TagGenerator struct{}

TagGenerator generates individual SVG tag files

func NewTagGenerator

func NewTagGenerator() *TagGenerator

NewTagGenerator creates a new tag generator

func (*TagGenerator) GenerateSource

func (g *TagGenerator) GenerateSource(tagSpec spec.TagSpec) string

GenerateSource generates the Go source code for a single SVG tag

type TagTemplateData

type TagTemplateData struct {
	Name         string             // SVG element name (e.g., "rect", "circle")
	Title        string             // CamelCase version for function name (e.g., "Rect", "Circle")
	StructName   string             // Struct name (e.g., "RectAttrs")
	ArgInterface string             // Arg interface name (e.g., "RectArg")
	Void         bool               // Whether the element is self-closing
	Attributes   []TagAttributeData // Element-specific attributes
}

TagTemplateData holds data for tag template rendering

Jump to

Keyboard shortcuts

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