viewrender

package
v0.0.10 Latest Latest
Warning

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

Go to latest
Published: Sep 23, 2025 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetTheme added in v0.0.8

func GetTheme(c *gin.Context) string

GetTheme 从cookie中读取主题设置

func GlobalFunc added in v0.0.5

func GlobalFunc() template.FuncMap

func Reload

func Reload()

func Render

func Render(c *gin.Context, name string, templateData map[string]any)

func SafeRender added in v0.0.9

func SafeRender(c *gin.Context, name string, data map[string]any)

Types

type OpenGraphMeta added in v0.0.9

type OpenGraphMeta struct {
	Type        string `json:"type,omitempty"` // website, article, profile
	Title       string `json:"title,omitempty"`
	Description string `json:"description,omitempty"`
	Image       string `json:"image,omitempty"`
	ImageAlt    string `json:"image_alt,omitempty"`
	URL         string `json:"url,omitempty"`
	SiteName    string `json:"site_name,omitempty"`

	// 文章特定字段
	ArticleAuthor        string     `json:"article_author,omitempty"`
	ArticleSection       string     `json:"article_section,omitempty"`
	ArticleTag           []string   `json:"article_tag,omitempty"`
	ArticlePublishedTime *time.Time `json:"article_published_time,omitempty"`
	ArticleModifiedTime  *time.Time `json:"article_modified_time,omitempty"`
}

type PageMeta added in v0.0.9

type PageMeta struct {
	// 基础 SEO 信息
	Title       string `json:"title"`
	Description string `json:"description"`
	Keywords    string `json:"keywords"`
	Author      string `json:"author,omitempty"`

	// URL 相关
	CanonicalURL string `json:"canonical_url,omitempty"`
	AlternateURL string `json:"alternate_url,omitempty"`

	// Open Graph 协议
	OG OpenGraphMeta `json:"og"`

	// Twitter Card
	Twitter TwitterCardMeta `json:"twitter"`

	// 结构化数据
	SchemaOrgJSON template.JS `json:"schema_org_json,omitempty"`

	// 页面特定配置
	Favicon    string `json:"favicon,omitempty"`
	ThemeColor string `json:"theme_color,omitempty"`
}

type PageMetaBuilder added in v0.0.9

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

func NewPageMetaBuilder added in v0.0.9

func NewPageMetaBuilder() *PageMetaBuilder

func (*PageMetaBuilder) Build added in v0.0.9

func (b *PageMetaBuilder) Build() *PageMeta

Build 构建最终的 PageMeta

func (*PageMetaBuilder) SetArticle added in v0.0.9

func (b *PageMetaBuilder) SetArticle(title, desc, author string, categories []string, publishTime, modifyTime *time.Time) *PageMetaBuilder

SetArticle 文章特定设置

func (*PageMetaBuilder) SetCanonicalURL added in v0.0.9

func (b *PageMetaBuilder) SetCanonicalURL(url string) *PageMetaBuilder

func (*PageMetaBuilder) SetDescription added in v0.0.9

func (b *PageMetaBuilder) SetDescription(desc string) *PageMetaBuilder

func (*PageMetaBuilder) SetImage added in v0.0.9

func (b *PageMetaBuilder) SetImage(imageURL, imageAlt string) *PageMetaBuilder

SetImage 图片设置

func (*PageMetaBuilder) SetKeywords added in v0.0.9

func (b *PageMetaBuilder) SetKeywords(keywords string) *PageMetaBuilder

func (*PageMetaBuilder) SetPageType added in v0.0.9

func (b *PageMetaBuilder) SetPageType(pageType string) *PageMetaBuilder

SetPageType 页面类型设置

func (*PageMetaBuilder) SetSchemaOrg added in v0.0.9

func (b *PageMetaBuilder) SetSchemaOrg(jsonLD template.JS) *PageMetaBuilder

SetSchemaOrg 结构化数据设置

func (*PageMetaBuilder) SetTitle added in v0.0.9

func (b *PageMetaBuilder) SetTitle(title string) *PageMetaBuilder

SetTitle 基础信息设置

func (*PageMetaBuilder) SetUserProfile added in v0.0.9

func (b *PageMetaBuilder) SetUserProfile(username, bio string) *PageMetaBuilder

SetUserProfile 用户页面设置

type TmplData added in v0.0.9

type TmplData struct {
	IsProduction bool
	Theme        string
	Footer       pageConfig.FooterConfig
	SiteSetting  pageConfig.SiteSettingsConfig
	Data         map[string]any
}

type TwitterCardMeta added in v0.0.9

type TwitterCardMeta struct {
	Card        string `json:"card,omitempty"`    // summary, summary_large_image
	Site        string `json:"site,omitempty"`    // @username
	Creator     string `json:"creator,omitempty"` // @username
	Title       string `json:"title,omitempty"`
	Description string `json:"description,omitempty"`
	Image       string `json:"image,omitempty"`
	ImageAlt    string `json:"image_alt,omitempty"`
}

Jump to

Keyboard shortcuts

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