Phase 3: Organization Public Profile Page - Pinned repositories with groups - Public members display with roles - API endpoints for pinned repos and groups Phase 4: Gitea Pages Foundation - Landing page templates (simple, docs, product, portfolio) - Custom domain support with verification - YAML configuration parser (.gitea/landing.yaml) - Repository settings UI for pages Phase 5: Enhanced Wiki System with V2 API - Full CRUD operations via v2 API - Full-text search with WikiIndex table - Link graph visualization - Wiki health metrics (orphaned, dead links, outdated) - Designed for external AI plugin integration - Developer guide for .NET integration 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
48 lines
1.6 KiB
Go
48 lines
1.6 KiB
Go
// Copyright 2026 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package structs
|
|
|
|
import "time"
|
|
|
|
// PagesConfig represents the pages configuration for a repository
|
|
type PagesConfig struct {
|
|
Enabled bool `json:"enabled"`
|
|
Template string `json:"template"`
|
|
Subdomain string `json:"subdomain,omitempty"`
|
|
URL string `json:"url,omitempty"`
|
|
}
|
|
|
|
// PagesDomain represents a custom domain for Gitea Pages
|
|
type PagesDomain struct {
|
|
ID int64 `json:"id"`
|
|
Domain string `json:"domain"`
|
|
Verified bool `json:"verified"`
|
|
VerificationToken string `json:"verification_token,omitempty"`
|
|
SSLStatus string `json:"ssl_status"`
|
|
SSLCertExpiry time.Time `json:"ssl_cert_expiry,omitempty"`
|
|
Created time.Time `json:"created_at"`
|
|
Verified_At time.Time `json:"verified_at,omitempty"`
|
|
}
|
|
|
|
// CreatePagesConfigOption options for creating/updating pages config
|
|
type CreatePagesConfigOption struct {
|
|
// Whether pages is enabled
|
|
Enabled bool `json:"enabled"`
|
|
// Template to use (simple, documentation, product, portfolio)
|
|
Template string `json:"template" binding:"In(simple,documentation,product,portfolio)"`
|
|
}
|
|
|
|
// AddPagesDomainOption options for adding a custom domain
|
|
type AddPagesDomainOption struct {
|
|
// The custom domain to add
|
|
// required: true
|
|
Domain string `json:"domain" binding:"Required"`
|
|
}
|
|
|
|
// PagesInfo represents the full pages information for a repository
|
|
type PagesInfo struct {
|
|
Config *PagesConfig `json:"config"`
|
|
Domains []*PagesDomain `json:"domains,omitempty"`
|
|
}
|