@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
TypeScript
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