UNPKG

@mdfriday/foundry

Version:

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

44 lines 1.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NavigationFactory = void 0; exports.createNavigationFactory = createNavigationFactory; const navigation_1 = require("../entity/navigation"); const menu_builder_1 = require("../entity/menu-builder"); const taxonomies_builder_1 = require("../entity/taxonomies-builder"); const log_1 = require("../../../../pkg/log"); // Create domain-specific logger for navigation factory operations const log = (0, log_1.getDomainLogger)('site', { component: 'navigation-factory' }); class NavigationFactory { constructor(langService, contentService) { this.langService = langService; this.contentService = contentService; } /** * Create a Navigation entity with menu building capabilities */ createNavigation() { try { // Create navigation entity const navigation = (0, navigation_1.newNavigation)(this.langService); // Create and set menu builder const menuBuilder = new menu_builder_1.MenuBuilder(this.contentService); navigation.setMenuBuilder(menuBuilder); // Initialize taxonomies const taxonomiesBuilder = new taxonomies_builder_1.TaxonomiesBuilder(this.contentService); navigation.setTaxonomiesBuilder(taxonomiesBuilder); return navigation; } catch (error) { log.error(`Failed to create Navigation entity: ${error}`); throw error; } } } exports.NavigationFactory = NavigationFactory; /** * Create navigation factory instance */ function createNavigationFactory(langService, contentService) { return new NavigationFactory(langService, contentService); } //# sourceMappingURL=navigation-factory.js.map