UNPKG

@mdfriday/foundry

Version:

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

94 lines 2.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Config = void 0; exports.newConfig = newConfig; /** * Config entity that aggregates all configuration components * Matches the golang version structure */ class Config { constructor(configSourceFs, provider, root, dir, module, service, language, taxonomy) { this.configSourceFs = configSourceFs; this.provider = provider; this.root = root; this.dir = dir; this.module = module; this.service = service; this.language = language; this.taxonomy = taxonomy; } fs() { return this.configSourceFs; } getProvider() { return this.provider; } theme() { return this.root.defaultTheme(); } getDir() { return this.dir; } /** * Get Root entity */ getRoot() { return this.root; } /** * Get Module entity */ getModule() { return this.module; } /** * Get Service entity */ getService() { return this.service; } /** * Get Language entity (optional) */ getLanguage() { return this.language; } /** * Get Taxonomy entity (optional) */ getTaxonomy() { return this.taxonomy; } /** * Set Language entity */ setLanguage(language) { this.language = language; } /** * Set Taxonomy entity */ setTaxonomy(taxonomy) { this.taxonomy = taxonomy; } /** * Validate the configuration */ validate() { let valid = true; // Validate language if present if (this.language) { valid = valid && this.language.validate(); } // Add other validation logic as needed return valid; } } exports.Config = Config; /** * Creates a new Config instance */ function newConfig(configSourceFs, provider, root, dir, module, service, language, taxonomy) { return new Config(configSourceFs, provider, root, dir, module, service, language, taxonomy); } //# sourceMappingURL=config.js.map