Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LoadDataFiles ¶
LoadDataFiles loads all data files from the data/ directory. Supports .yaml, .yml, .json. Returns a nested map matching the directory structure. e.g., data/books.yaml → map["books"]
Types ¶
type Page ¶
type Page struct {
// Frontmatter fields
Title string `yaml:"title"`
Date string `yaml:"date"`
PublishDate string `yaml:"publishDate"`
ExpiryDate string `yaml:"expiryDate"`
Lastmod string `yaml:"lastmod"`
Draft bool `yaml:"draft"`
Hidden bool `yaml:"hidden"`
Type string `yaml:"type"`
Slug string `yaml:"slug"`
Tags []string `yaml:"tags"`
Keywords []string `yaml:"keywords"`
Description string `yaml:"description"`
Author string `yaml:"author"`
Image string `yaml:"image"`
FeaturedImage string `yaml:"featured_image"`
// Hugo build directives
Build config.BuildConfig `yaml:"build"`
Cascade config.CascadeConfig `yaml:"cascade"`
Sitemap config.SitemapPageConfig `yaml:"sitemap"`
// Computed fields (populated during loading)
FilePath string
RelPath string // relative to content/ e.g. "posts/2020/08/2601.md"
URL string // e.g. "/posts/2020/08/2601/"
Section string // e.g. "posts", "books", "gallery"
Kind string // "page", "section", "home", "taxonomy", "term"
Content template.HTML
Summary template.HTML
Plain string
WordCount int
ReadingTime int
DateParsed time.Time
PublishDateParsed time.Time
ExpiryDateParsed time.Time
LastmodParsed time.Time
Weight int
// Raw markdown body (before rendering)
RawContent string
// Tree structure
Parent *Page
Pages []*Page
RegularPages []*Page
RegularPagesRecursive []*Page // all descendant regular pages, recursively
Sections []*Page // immediate child section pages
}
Page represents a single content page.
type Site ¶
type Site struct {
Title string
BaseURL string
Language string
Params map[string]interface{}
Menus map[string][]config.MenuItem
Pages []*Page
RegularPages []*Page
Data map[string]interface{}
Taxonomies map[string]Taxonomy
Config *config.Config
// Section index pages
Sections map[string]*Page
// TaxonomyOriginalCase maps plural (e.g. "tags") → {urlized-key → originalcased-name}.
// Used to recover display casing for term-page titles (e.g. FANFAN) while
// keeping the urlized key (e.g. fanfan) for filesystem paths and URL paths.
TaxonomyOriginalCase map[string]map[string]string
}
Site holds all site-wide data.
Click to show internal directories.
Click to hide internal directories.