Documentation
¶
Index ¶
- func HashConfig(content []byte) string
- func IsValidTemplate(name string) bool
- func TemplateDisplayNames() map[string]string
- func ValidTemplates() []string
- type AdvancedConfig
- type AnalyticsConfig
- type BrandConfig
- type CTAButton
- type CTASectionConfig
- type FeatureConfig
- type FooterConfig
- type FooterLink
- type HeroConfig
- type LandingConfig
- type PricingConfig
- type PricingPlanConfig
- type SEOConfig
- type SocialLink
- type SocialProofConfig
- type StatConfig
- type TestimonialConfig
- type ThemeConfig
- type UmamiConfig
- type ValuePropConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HashConfig ¶
HashConfig returns a SHA256 hash of the config content for change detection
func IsValidTemplate ¶
IsValidTemplate checks if a template name is valid
func TemplateDisplayNames ¶
TemplateDisplayNames returns a map of template names to display names
Types ¶
type AdvancedConfig ¶
type AdvancedConfig struct {
CustomCSS string `yaml:"custom_css,omitempty"`
CustomHead string `yaml:"custom_head,omitempty"`
Redirects map[string]string `yaml:"redirects,omitempty"`
PublicReleases bool `yaml:"public_releases,omitempty"`
}
AdvancedConfig represents advanced settings
type AnalyticsConfig ¶
type AnalyticsConfig struct {
Plausible string `yaml:"plausible,omitempty"`
Umami UmamiConfig `yaml:"umami,omitempty"`
GoogleAnalytics string `yaml:"google_analytics,omitempty"`
}
AnalyticsConfig represents analytics settings
type BrandConfig ¶
type BrandConfig struct {
Name string `yaml:"name,omitempty"`
LogoURL string `yaml:"logo_url,omitempty"`
Tagline string `yaml:"tagline,omitempty"`
}
BrandConfig represents brand/identity settings
type CTAButton ¶
type CTAButton struct {
Label string `yaml:"label,omitempty"`
URL string `yaml:"url,omitempty"`
Variant string `yaml:"variant,omitempty"` // primary, secondary, outline, text
}
CTAButton represents a call-to-action button
type CTASectionConfig ¶
type CTASectionConfig struct {
Headline string `yaml:"headline,omitempty"`
Subheadline string `yaml:"subheadline,omitempty"`
Button CTAButton `yaml:"button,omitempty"`
}
CTASectionConfig represents the final CTA section
type FeatureConfig ¶
type FeatureConfig struct {
Title string `yaml:"title,omitempty"`
Description string `yaml:"description,omitempty"`
Icon string `yaml:"icon,omitempty"`
ImageURL string `yaml:"image_url,omitempty"`
}
FeatureConfig represents a single feature item
type HeroConfig ¶
type HeroConfig struct {
Headline string `yaml:"headline,omitempty"`
Subheadline string `yaml:"subheadline,omitempty"`
PrimaryCTA CTAButton `yaml:"primary_cta,omitempty"`
SecondaryCTA CTAButton `yaml:"secondary_cta,omitempty"`
ImageURL string `yaml:"image_url,omitempty"`
CodeExample string `yaml:"code_example,omitempty"`
VideoURL string `yaml:"video_url,omitempty"`
}
HeroConfig represents hero section settings
type LandingConfig ¶
type LandingConfig struct {
Enabled bool `yaml:"enabled"`
PublicLanding bool `yaml:"public_landing"`
Template string `yaml:"template"` // open-source-hero, minimalist-docs, saas-conversion, bold-marketing
// Custom domain (optional)
Domain string `yaml:"domain,omitempty"`
// Brand configuration
Brand BrandConfig `yaml:"brand,omitempty"`
// Hero section
Hero HeroConfig `yaml:"hero,omitempty"`
// Stats/metrics
Stats []StatConfig `yaml:"stats,omitempty"`
// Value propositions
ValueProps []ValuePropConfig `yaml:"value_props,omitempty"`
// Features
Features []FeatureConfig `yaml:"features,omitempty"`
// Social proof
SocialProof SocialProofConfig `yaml:"social_proof,omitempty"`
// Pricing (for saas-conversion template)
Pricing PricingConfig `yaml:"pricing,omitempty"`
// CTA section
CTASection CTASectionConfig `yaml:"cta_section,omitempty"`
Footer FooterConfig `yaml:"footer,omitempty"`
// Theme customization
Theme ThemeConfig `yaml:"theme,omitempty"`
// SEO & Social
SEO SEOConfig `yaml:"seo,omitempty"`
// Analytics
Analytics AnalyticsConfig `yaml:"analytics,omitempty"`
// Advanced settings
Advanced AdvancedConfig `yaml:"advanced,omitempty"`
}
LandingConfig represents the parsed .gitea/landing.yaml configuration
func DefaultConfig ¶
func DefaultConfig() *LandingConfig
DefaultConfig returns a default landing page configuration
func ParseLandingConfig ¶
func ParseLandingConfig(content []byte) (*LandingConfig, error)
ParseLandingConfig parses a landing.yaml file content
type PricingConfig ¶
type PricingConfig struct {
Headline string `yaml:"headline,omitempty"`
Subheadline string `yaml:"subheadline,omitempty"`
Plans []PricingPlanConfig `yaml:"plans,omitempty"`
}
PricingConfig represents pricing section
type PricingPlanConfig ¶
type PricingPlanConfig struct {
Name string `yaml:"name,omitempty"`
Price string `yaml:"price,omitempty"`
Period string `yaml:"period,omitempty"`
Features []string `yaml:"features,omitempty"`
CTA string `yaml:"cta,omitempty"`
Featured bool `yaml:"featured,omitempty"`
}
PricingPlanConfig represents a pricing plan
type SEOConfig ¶
type SEOConfig struct {
Title string `yaml:"title,omitempty"`
Description string `yaml:"description,omitempty"`
Keywords []string `yaml:"keywords,omitempty"`
OGImage string `yaml:"og_image,omitempty"`
TwitterCard string `yaml:"twitter_card,omitempty"`
TwitterSite string `yaml:"twitter_site,omitempty"`
}
SEOConfig represents SEO and social sharing settings
type SocialLink ¶
type SocialLink struct {
Platform string `yaml:"platform,omitempty"` // twitter, github, discord, linkedin, youtube
URL string `yaml:"url,omitempty"`
}
SocialLink represents a social media link
type SocialProofConfig ¶
type SocialProofConfig struct {
Logos []string `yaml:"logos,omitempty"`
Testimonial TestimonialConfig `yaml:"testimonial,omitempty"`
Testimonials []TestimonialConfig `yaml:"testimonials,omitempty"`
}
SocialProofConfig represents social proof section
type StatConfig ¶
type StatConfig struct {
Value string `yaml:"value,omitempty"`
Label string `yaml:"label,omitempty"`
}
StatConfig represents a single stat/metric
type TestimonialConfig ¶
type TestimonialConfig struct {
Quote string `yaml:"quote,omitempty"`
Author string `yaml:"author,omitempty"`
Role string `yaml:"role,omitempty"`
Avatar string `yaml:"avatar,omitempty"`
}
TestimonialConfig represents a testimonial
type ThemeConfig ¶
type ThemeConfig struct {
PrimaryColor string `yaml:"primary_color,omitempty"`
AccentColor string `yaml:"accent_color,omitempty"`
Mode string `yaml:"mode,omitempty"` // light, dark, auto
}
ThemeConfig represents theme customization
Source Files
¶
- config.go