@mdfriday/foundry
Version:
The core engine of MDFriday. Convert Markdown and shortcodes into fully themed static sites – Hugo-style, powered by TypeScript.
57 lines • 2.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefaultLanguageConfig = void 0;
exports.decodeLanguageConfig = decodeLanguageConfig;
exports.validateLanguageConfig = validateLanguageConfig;
/**
* Default language configuration
*/
exports.DefaultLanguageConfig = {
languageCode: 'en',
languageName: 'English',
title: '',
weight: 0,
contentDir: 'content',
disabled: false,
params: {}
};
/**
* Creates language configurations from provider data
*/
function decodeLanguageConfig(data) {
const configs = {};
if (data.languages && typeof data.languages === 'object') {
for (const [langCode, langData] of Object.entries(data.languages)) {
const langConfig = langData;
configs[langCode] = {
languageCode: langCode,
languageName: langConfig.languageName || langConfig.name || exports.DefaultLanguageConfig.languageName,
title: langConfig.title || exports.DefaultLanguageConfig.title,
weight: langConfig.weight !== undefined ? langConfig.weight : exports.DefaultLanguageConfig.weight,
contentDir: langConfig.contentDir || exports.DefaultLanguageConfig.contentDir,
disabled: langConfig.disabled !== undefined ? langConfig.disabled : exports.DefaultLanguageConfig.disabled,
params: langConfig.params || exports.DefaultLanguageConfig.params
};
}
}
else {
// If no languages configured, create default English config
configs['en'] = {
languageCode: 'en',
languageName: 'English',
title: data.title || '',
weight: 0,
contentDir: 'content',
disabled: false,
params: data.params || {}
};
}
return configs;
}
/**
* Validates language configuration
*/
function validateLanguageConfig(configs, defaultLang) {
return Object.prototype.hasOwnProperty.call(configs, defaultLang);
}
//# sourceMappingURL=language.js.map