meblog
Version:
A simple blog engine for personal blogging
51 lines (50 loc) • 1.62 kB
TypeScript
/// <reference types="node" />
import { Config } from './model';
import ConfigHolder from './ConfigHolder';
import { Arguments } from 'yargs';
import stream from 'stream';
export default class SiteGenerator extends ConfigHolder {
private dataSource;
private renderer;
private generator;
private eventEmitter;
private browserSync;
private args;
constructor(config: Config, args: Arguments);
private setupI18n;
private registerEvents;
private initRenderer;
get outputRelativeDirectory(): string;
get outputDirectory(): string;
getOutputDirectory(locale?: string): string;
get postsDirPath(): string;
private logOutputDir;
clean(): Promise<void>;
cleanCache(): Promise<void>;
cleanPosts(): Promise<void>;
loadData(): void;
private _renderTemplates;
renderTemplates(templateGlob: string, renderFn: (locale?: string) => stream.Transform): Promise<void>;
generatePages(): Promise<void>;
generatePosts(): Promise<void>;
generateTags(): Promise<void>;
generateTemplates(): Promise<void>;
generateRssFeed(): Promise<void>;
generateCss(): Promise<void>;
copyAssets(): Promise<void>;
reloadConfig(): void;
reloadBrowser(): void;
onServe(): Promise<void>;
private onUpdateMarkdownPost;
generateSamplePosts(): Promise<void>;
prod(): Promise<void>;
dev(): Promise<void>;
newDraft(): Promise<void>;
private runSeries;
build(): Promise<void>;
serve(): Promise<void>;
private wrap;
private registerTask;
initTasks(): void;
run(tasks: string[]): Promise<void>;
}