generator

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2026 License: GPL-3.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AnalyticsFuncMap

func AnalyticsFuncMap() template.FuncMap

AnalyticsFuncMap returns template functions for analytics rendering.

func BaseFuncMap

func BaseFuncMap() template.FuncMap

BaseFuncMap returns the common template functions used across all generators.

func BuildFooter

func BuildFooter(site *core.Site, version string) core.FooterConfig

BuildFooter creates a footer config with all auto-generated content. It starts with the user's config and adds: - Legal links group (if legal pages exist) - Version badge (unless HideVersion is true)

func ChangelogFuncMap

func ChangelogFuncMap() template.FuncMap

ChangelogFuncMap returns template functions specific to changelog pages.

func ExtendFuncMap

func ExtendFuncMap(additional template.FuncMap) template.FuncMap

ExtendFuncMap returns a new FuncMap that combines base functions with additional ones.

func KBFuncMap

func KBFuncMap() template.FuncMap

KBFuncMap returns template functions specific to KB pages.

func MCPFuncMap added in v1.5.0

func MCPFuncMap() template.FuncMap

MCPFuncMap returns template functions specific to MCP documentation

func OpenAPIFuncMap

func OpenAPIFuncMap() template.FuncMap

OpenAPIFuncMap returns template functions specific to OpenAPI pages.

func PortfolioFuncMap

func PortfolioFuncMap() template.FuncMap

PortfolioFuncMap returns template functions specific to portfolio pages.

func StatusFuncMap

func StatusFuncMap() template.FuncMap

StatusFuncMap returns template functions specific to status pages.

Types

type CategoryJSON

type CategoryJSON struct {
	Type    string   `json:"type"`
	Entries []string `json:"entries"`
}

CategoryJSON represents a change category in the JSON API

type ChangelogGenerator

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

ChangelogGenerator generates changelog HTML and related files

func NewChangelogGenerator

func NewChangelogGenerator(site *core.Site, themeFS embed.FS, version string) (*ChangelogGenerator, error)

NewChangelogGenerator creates a new changelog generator

func (*ChangelogGenerator) Generate

func (g *ChangelogGenerator) Generate() error

Generate generates all changelog files

type ChangelogJSON

type ChangelogJSON struct {
	Title       string        `json:"title"`
	Description string        `json:"description"`
	Releases    []ReleaseJSON `json:"releases"`
	LastUpdated time.Time     `json:"last_updated"`
}

ChangelogJSON represents the JSON API response for changelog

type ComponentJSON

type ComponentJSON struct {
	ID             string            `json:"id"`
	Name           string            `json:"name"`
	Description    string            `json:"description,omitempty"`
	Status         string            `json:"status"`
	Group          string            `json:"group,omitempty"`
	URL            string            `json:"url,omitempty"`
	HealthEndpoint string            `json:"health_endpoint,omitempty"`
	HealthInterval int               `json:"health_interval,omitempty"`
	Uptime         *UptimeConfigJSON `json:"uptime,omitempty"`
	UptimeData     *core.UptimeData  `json:"uptime_data,omitempty"`
}

ComponentJSON represents a component in the JSON API

type ContactGenerator

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

ContactGenerator generates contact page HTML

func NewContactGenerator

func NewContactGenerator(site *core.Site, themeFS embed.FS, version string) (*ContactGenerator, error)

NewContactGenerator creates a new contact generator

func (*ContactGenerator) Generate

func (g *ContactGenerator) Generate() error

Generate generates the contact page

type FaqGenerator

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

FaqGenerator generates the FAQ page HTML

func NewFaqGenerator

func NewFaqGenerator(site *core.Site, themeFS embed.FS, version string) (*FaqGenerator, error)

NewFaqGenerator creates a new FAQ generator

func (*FaqGenerator) Generate

func (g *FaqGenerator) Generate() error

Generate generates the FAQ page

type HTMLGenerator

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

HTMLGenerator generates HTML files from pages

func NewHTMLGenerator

func NewHTMLGenerator(site *core.Site, themeFS embed.FS, version string) (*HTMLGenerator, error)

NewHTMLGenerator creates a new HTML generator

func (*HTMLGenerator) Generate

func (g *HTMLGenerator) Generate() error

Generate generates HTML files for all pages

type I18nGenerator

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

I18nGenerator generates localized documentation output

func NewI18nGenerator

func NewI18nGenerator(site *core.Site, themeFS embed.FS, version string) (*I18nGenerator, error)

NewI18nGenerator creates a new i18n generator

func (*I18nGenerator) Generate

func (g *I18nGenerator) Generate() error

Generate generates localized documentation

type IncidentJSON

type IncidentJSON struct {
	ID                 string    `json:"id"`
	Title              string    `json:"title"`
	Status             string    `json:"status"`
	Severity           string    `json:"severity"`
	AffectedComponents []string  `json:"affected_components"`
	CreatedAt          time.Time `json:"created_at"`
	UpdatedAt          time.Time `json:"updated_at"`
	URL                string    `json:"url"`
}

IncidentJSON represents an incident in the JSON API

type KBGenerator

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

KBGenerator generates the Knowledge Base pages

func NewKBGenerator

func NewKBGenerator(site *core.Site, themeFS embed.FS, version string) (*KBGenerator, error)

NewKBGenerator creates a new Knowledge Base generator

func (*KBGenerator) Generate

func (g *KBGenerator) Generate() error

Generate generates all Knowledge Base pages

type LLMSGenerator

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

LLMSGenerator generates llms.txt and LLM-friendly markdown files

func NewLLMSGenerator

func NewLLMSGenerator(site *core.Site) *LLMSGenerator

NewLLMSGenerator creates a new LLMS generator

func (*LLMSGenerator) Generate

func (g *LLMSGenerator) Generate() error

Generate creates llms.txt (index), llms-full.txt (content), and companion .md files

type LandingGenerator

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

LandingGenerator generates landing page HTML

func NewLandingGenerator

func NewLandingGenerator(site *core.Site, themeFS embed.FS, version string) (*LandingGenerator, error)

NewLandingGenerator creates a new landing generator

func (*LandingGenerator) Generate

func (g *LandingGenerator) Generate() error

Generate generates the landing page

type LegalGenerator

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

LegalGenerator generates legal page HTML

func NewLegalGenerator

func NewLegalGenerator(site *core.Site, themeFS embed.FS, version string) (*LegalGenerator, error)

NewLegalGenerator creates a new legal generator

func (*LegalGenerator) Generate

func (g *LegalGenerator) Generate() error

Generate generates all legal pages

type LocaleInfoJSON

type LocaleInfoJSON struct {
	Code      string `json:"code"`
	Name      string `json:"name"`
	Direction string `json:"direction"`
	Flag      string `json:"flag,omitempty"`
	Active    bool   `json:"active"`
}

LocaleInfoJSON represents locale info in JSON output

type LocalesJSON

type LocalesJSON struct {
	Current           string           `json:"current"`
	Default           string           `json:"default"`
	HideDefaultLocale bool             `json:"hideDefaultLocale"`
	Locales           []LocaleInfoJSON `json:"locales"`
}

LocalesJSON is the structure for locales.json metadata file

type MCPGenerator added in v1.5.0

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

MCPGenerator generates static HTML from parsed MCP server manifests

func NewMCPGenerator added in v1.5.0

func NewMCPGenerator(site *core.Site, themeFS embed.FS, version string) (*MCPGenerator, error)

NewMCPGenerator creates a new MCP generator. Returns nil if MCP is disabled or no specs exist.

func (*MCPGenerator) Generate added in v1.5.0

func (g *MCPGenerator) Generate() error

Generate generates HTML files for all MCP specs

type MaintenanceJSON

type MaintenanceJSON struct {
	ID                 string    `json:"id"`
	Title              string    `json:"title"`
	Description        string    `json:"description,omitempty"`
	AffectedComponents []string  `json:"affected_components"`
	ScheduledStart     time.Time `json:"scheduled_start"`
	ScheduledEnd       time.Time `json:"scheduled_end"`
	Status             string    `json:"status"`
}

MaintenanceJSON represents maintenance in the JSON API

type OpenAPIGenerator

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

OpenAPIGenerator generates static HTML and JSON for OpenAPI specifications

func NewOpenAPIGenerator

func NewOpenAPIGenerator(site *core.Site, themeFS embed.FS, version string) (*OpenAPIGenerator, error)

NewOpenAPIGenerator creates a new OpenAPI generator

func (*OpenAPIGenerator) Generate

func (g *OpenAPIGenerator) Generate() error

Generate generates HTML and JSON files for all OpenAPI specifications

type PortfolioGenerator

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

PortfolioGenerator generates portfolio page HTML

func NewPortfolioGenerator

func NewPortfolioGenerator(site *core.Site, themeFS embed.FS, version string) (*PortfolioGenerator, error)

NewPortfolioGenerator creates a new portfolio generator

func (*PortfolioGenerator) Generate

func (g *PortfolioGenerator) Generate() error

Generate generates the portfolio pages

type PostingList

type PostingList []int

PostingList is a compact array: [pageID, score, pageID, score, ...] Section info removed to save space - we use page-level results

type ReleaseJSON

type ReleaseJSON struct {
	Version    string         `json:"version"`
	Date       string         `json:"date"`
	Title      string         `json:"title,omitempty"`
	Prerelease bool           `json:"prerelease,omitempty"`
	URL        string         `json:"url"`
	CompareURL string         `json:"compare_url,omitempty"`
	Categories []CategoryJSON `json:"categories,omitempty"`
}

ReleaseJSON represents a release in the JSON API

type RoadmapGenerator

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

RoadmapGenerator generates the roadmap page HTML

func NewRoadmapGenerator

func NewRoadmapGenerator(site *core.Site, themeFS embed.FS, version string) (*RoadmapGenerator, error)

NewRoadmapGenerator creates a new roadmap generator

func (*RoadmapGenerator) Generate

func (g *RoadmapGenerator) Generate() error

Generate generates the roadmap page

type RoadmapVersionGroup

type RoadmapVersionGroup struct {
	Version string
	Status  string // aggregate: "in_progress", "planned", or "shipped"
	Label   string // human-readable status label
	Items   []core.RoadmapItem
}

RoadmapVersionGroup holds items grouped by version for template rendering

type SearchGenerator

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

SearchGenerator generates search index JSON

func NewSearchGenerator

func NewSearchGenerator(site *core.Site) *SearchGenerator

NewSearchGenerator creates a new search generator

func (*SearchGenerator) Generate

func (g *SearchGenerator) Generate() error

Generate creates inverted index

type SearchIndex

type SearchIndex struct {
	Pages    []SearchPage           `json:"pages"`
	Sections []SearchSection        `json:"sections"`
	Index    map[string]PostingList `json:"idx"`
}

SearchIndex is the inverted index structure

type SearchManifest

type SearchManifest struct {
	Pages    []SearchPage    `json:"pages"`
	Sections []SearchSection `json:"sections"`
	Shards   []string        `json:"shards"` // List of shard prefixes (e.g., ["ab", "cd", ...])
}

SearchManifest is the lightweight manifest for sharded search

type SearchPage

type SearchPage struct {
	Title string `json:"t"`
	Desc  string `json:"d,omitempty"`
	URL   string `json:"u"`
}

SearchPage represents a page in the search index

type SearchSection

type SearchSection struct {
	PageID int    `json:"p"`
	Title  string `json:"t"`
	Anchor string `json:"a,omitempty"`
}

SearchSection represents a section within a page

type SearchShard

type SearchShard struct {
	Prefix string                 `json:"prefix"`
	Index  map[string]PostingList `json:"idx"`
}

SearchShard contains posting lists for terms with a specific prefix

type SitemapGenerator

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

SitemapGenerator generates sitemap.xml

func NewSitemapGenerator

func NewSitemapGenerator(site *core.Site) *SitemapGenerator

NewSitemapGenerator creates a new sitemap generator

func (*SitemapGenerator) Generate

func (g *SitemapGenerator) Generate() error

Generate creates sitemap.xml

type StatusGenerator

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

StatusGenerator generates status page HTML and related files

func NewStatusGenerator

func NewStatusGenerator(site *core.Site, themeFS embed.FS, version string) (*StatusGenerator, error)

NewStatusGenerator creates a new status generator

func (*StatusGenerator) Generate

func (g *StatusGenerator) Generate() error

Generate generates all status page files

type StatusJSON

type StatusJSON struct {
	OverallStatus        string            `json:"overall_status"`
	Components           []ComponentJSON   `json:"components"`
	ActiveIncidents      []IncidentJSON    `json:"active_incidents"`
	ScheduledMaintenance []MaintenanceJSON `json:"scheduled_maintenance"`
	LastUpdated          time.Time         `json:"last_updated"`
}

StatusJSON represents the JSON API response for status

type ThemeGenerator

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

ThemeGenerator generates custom theme CSS

func NewThemeGenerator

func NewThemeGenerator(site *core.Site) *ThemeGenerator

NewThemeGenerator creates a new theme generator

func (*ThemeGenerator) Generate

func (g *ThemeGenerator) Generate() error

Generate creates custom-theme.css if custom theme settings are configured

func (*ThemeGenerator) HasCustomTheme

func (g *ThemeGenerator) HasCustomTheme() bool

HasCustomTheme returns true if custom theme is configured

type URL

type URL struct {
	Loc        string  `xml:"loc"`
	LastMod    string  `xml:"lastmod,omitempty"`
	ChangeFreq string  `xml:"changefreq,omitempty"`
	Priority   float32 `xml:"priority,omitempty"`
}

URL represents a single URL in the sitemap

type URLSet

type URLSet struct {
	XMLName xml.Name `xml:"urlset"`
	XMLNS   string   `xml:"xmlns,attr"`
	URLs    []URL    `xml:"url"`
}

URLSet represents the root element of a sitemap

type UptimeConfigJSON

type UptimeConfigJSON struct {
	Mode       string  `json:"mode,omitempty"`
	Endpoint   string  `json:"endpoint,omitempty"`
	SLATarget  float64 `json:"sla_target,omitempty"`
	PeriodDays int     `json:"period_days,omitempty"`
}

UptimeConfigJSON represents uptime configuration in the JSON API

type VersionGenerator

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

VersionGenerator generates versioned documentation output

func NewVersionGenerator

func NewVersionGenerator(site *core.Site, themeFS embed.FS, version string) (*VersionGenerator, error)

NewVersionGenerator creates a new version generator

func (*VersionGenerator) Generate

func (g *VersionGenerator) Generate() error

Generate generates versioned documentation

type VersionInfoJSON

type VersionInfoJSON struct {
	Name   string `json:"name"`
	Label  string `json:"label"`
	Path   string `json:"path"`
	EOL    string `json:"eol,omitempty"`
	Active bool   `json:"active"`
}

VersionInfoJSON represents version info in JSON output

type VersionsJSON

type VersionsJSON struct {
	Current  string            `json:"current"`
	Default  string            `json:"default"`
	Versions []VersionInfoJSON `json:"versions"`
}

VersionsJSON is the structure for versions.json metadata file

type WaitlistGenerator

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

WaitlistGenerator generates the waitlist landing page HTML

func NewWaitlistGenerator

func NewWaitlistGenerator(site *core.Site, themeFS embed.FS, version string) (*WaitlistGenerator, error)

NewWaitlistGenerator creates a new waitlist generator

func (*WaitlistGenerator) Generate

func (g *WaitlistGenerator) Generate() error

Generate generates the waitlist page as index.html

Jump to

Keyboard shortcuts

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