UNPKG

@mdfriday/foundry

Version:

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

73 lines 2.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DefaultServiceConfig = void 0; exports.decodeServiceConfig = decodeServiceConfig; /** * Default service configuration */ exports.DefaultServiceConfig = { disqus: { disable: false, shortname: '' }, googleAnalytics: { disable: false, respectDoNotTrack: false, id: '' }, rss: { limit: 0 } }; /** * Creates a service configuration from provider data */ function decodeServiceConfig(data) { const config = { disqus: { ...exports.DefaultServiceConfig.disqus }, googleAnalytics: { ...exports.DefaultServiceConfig.googleAnalytics }, rss: { ...exports.DefaultServiceConfig.rss } }; // Handle privacy settings if (data.privacy) { if (data.privacy.disqus) { config.disqus.disable = data.privacy.disqus.disable !== undefined ? data.privacy.disqus.disable : config.disqus.disable; } if (data.privacy.googleAnalytics) { config.googleAnalytics.disable = data.privacy.googleAnalytics.disable !== undefined ? data.privacy.googleAnalytics.disable : config.googleAnalytics.disable; config.googleAnalytics.respectDoNotTrack = data.privacy.googleAnalytics.respectDoNotTrack !== undefined ? data.privacy.googleAnalytics.respectDoNotTrack : config.googleAnalytics.respectDoNotTrack; } } // Handle services settings if (data.services) { if (data.services.disqus) { config.disqus.shortname = data.services.disqus.shortname || config.disqus.shortname; } if (data.services.googleAnalytics) { config.googleAnalytics.id = data.services.googleAnalytics.id || config.googleAnalytics.id; } if (data.services.rss) { config.rss.limit = data.services.rss.limit !== undefined ? data.services.rss.limit : config.rss.limit; } } // Keep backwards compatibility if (!config.googleAnalytics.id && data.googleanalytics) { config.googleAnalytics.id = data.googleanalytics; } if (!config.disqus.shortname && data.disqusshortname) { config.disqus.shortname = data.disqusshortname; } if (!config.rss.limit && data.rssLimit) { config.rss.limit = data.rssLimit; } return config; } //# sourceMappingURL=service.js.map