Documentation
¶
Index ¶
- func GetTheme(c *gin.Context) string
- func GlobalFunc() template.FuncMap
- func Reload()
- func Render(c *gin.Context, name string, templateData map[string]any)
- func SafeRender(c *gin.Context, name string, data map[string]any)
- type OpenGraphMeta
- type PageMeta
- type PageMetaBuilder
- func (b *PageMetaBuilder) Build() *PageMeta
- func (b *PageMetaBuilder) SetArticle(title, desc, author string, categories []string, ...) *PageMetaBuilder
- func (b *PageMetaBuilder) SetCanonicalURL(url string) *PageMetaBuilder
- func (b *PageMetaBuilder) SetDescription(desc string) *PageMetaBuilder
- func (b *PageMetaBuilder) SetImage(imageURL, imageAlt string) *PageMetaBuilder
- func (b *PageMetaBuilder) SetKeywords(keywords string) *PageMetaBuilder
- func (b *PageMetaBuilder) SetPageType(pageType string) *PageMetaBuilder
- func (b *PageMetaBuilder) SetSchemaOrg(jsonLD template.JS) *PageMetaBuilder
- func (b *PageMetaBuilder) SetTitle(title string) *PageMetaBuilder
- func (b *PageMetaBuilder) SetUserProfile(username, bio string) *PageMetaBuilder
- type TmplData
- type TwitterCardMeta
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GlobalFunc ¶ added in v0.0.5
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
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"`
}
Click to show internal directories.
Click to hide internal directories.