UNPKG

@mdfriday/foundry

Version:

The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.

192 lines 5.66 kB
import { Page } from './page'; import { Publisher } from './publisher'; import { URL } from './url'; import { Ref } from './ref'; import { Language } from './language'; import { Navigation } from './navigation'; import { Page as ContentPage } from '../../content/type'; import { Author, Compiler, ConfigService, ContentService, FsService, LanguageService, SitemapService, Template, TranslationService } from '../type'; import { TaxonomyList } from "../../../domain/site/entity/taxonomies-builder"; import { Menus } from "../../../domain/site/valueobject/menu"; /** * Site - TypeScript equivalent of Go's Site entity * Main site management class */ export declare class Site { private configSvc; private contentSvc; private translationSvc; private languageSvc; private sitemap; private staticCopySvc; private publisher; private template; private author; private compiler; private url; private ref; private language; private navigation; private title; private home; get Title(): string; Pages(): Promise<Page[]>; get RegularPages(): Page[]; constructor(configSvc: ConfigService, contentSvc: ContentService, translationSvc: TranslationService, languageSvc: LanguageService, sitemap: SitemapService, staticCopySvc: FsService, publisher: Publisher, author: Author, compiler: Compiler, url: URL, ref: Ref, language: Language, navigation: Navigation, title: string); /** * Build site * TypeScript equivalent of Build method from Go */ build(template: Template): Promise<void>; /** * Build site with progress callbacks * TypeScript equivalent of Build method from Go with progress tracking */ buildWithProgress(template: Template, onProgress?: (progress: { currentPage: number; totalPages: number; }) => void): Promise<void>; /** * Setup site before rendering * TypeScript equivalent of setup method from Go */ private setup; /** * Render all pages * TypeScript equivalent of render method from Go */ render(): Promise<void>; /** * Render all pages with progress tracking * TypeScript equivalent of render method from Go with progress callbacks */ private renderWithProgress; /** * Render pages for current language * TypeScript equivalent of renderPages method from Go * 支持增量构建:根据环境变量判断是否只渲染 stale 页面 */ private renderPages; /** * Render pages for current language with progress tracking * TypeScript equivalent of renderPages method from Go with progress callbacks */ private renderPagesWithProgress; /** * Get page output (simplified implementation) * TypeScript equivalent of pageOutput method from Go */ private pageOutput; /** * Clear site cache (simplified implementation) */ private clearSiteCache; get Home(): Page | null; get Params(): Record<string, any>; get Taxonomies(): TaxonomyList; get Menus(): Menus; getTitle(): string; setTitle(title: string): void; /** * Get configuration service */ getConfigService(): ConfigService; /** * Get content service */ getContentService(): ContentService; /** * Get language service */ getLanguageService(): LanguageService; /** * Get base URL * Provides the base URL service without exposing internal URL object */ baseURL(): string; /** * Get URL handler */ getURL(): URL; /** * Get reference handler */ getRef(): Ref; /** * Get language handler */ getLanguage(): Language; get Language(): Language; /** * Get navigation handler */ getNavigation(): Navigation; /** * Get publisher */ getPublisher(): Publisher; /** * Get template */ getTemplate(): Template | null; /** * Get author info */ getAuthor(): Author; /** * Get compiler info */ getCompiler(): Compiler; /** * Get sitemap service */ getSitemap(): SitemapService; /** * Check if site is multi-language */ isMultipleLanguage(): boolean; /** * Get current language */ getCurrentLanguage(): string; /** * Get language prefix for URLs */ languagePrefix(): string; /** * Site page factory method - convert content page to site page */ sitePage(target: ContentPage): Promise<Page>; /** * Convert array of content pages to array of site pages * TypeScript equivalent of Go's sitePages method */ private sitePages; /** * Create site page from content page (synchronous version) * TypeScript equivalent of Go's site page creation */ sitePageSync(contentPage: ContentPage): Page; /** * Pre-generate menus for all languages * This ensures menus are cached before page rendering begins */ private generateNavigations; /** * Get page by path * TypeScript equivalent of Go's GetPage method * Made synchronous to match template function requirements */ GetPage(...ref: string[]): Page | null; /** * Copy static files to publish directory * This is a core business capability of the Site entity */ copyStaticFiles(): Promise<void>; /** * Create site weighted page from ordinal weight page * TypeScript equivalent of Go's siteWeightedPage method */ siteWeightedPage(ordinalWeightPage: any): Promise<any>; } //# sourceMappingURL=site.d.ts.map