hugo-syndicate
Version:
Multi-provider content syndication tool for Hugo static sites. Currently supports dev.to and Qiita with extensible architecture for more providers. Works with Hugo source files, not published sites.
29 lines (22 loc) • 637 B
JavaScript
const DevToProvider = require("./devto/DevToProvider");
const QiitaProvider = require("./qiita/QiitaProvider");
const PROVIDERS = {
devto: DevToProvider,
qiita: QiitaProvider,
};
function createProvider(providerName, config) {
const Provider = PROVIDERS[providerName.toLowerCase()];
if (!Provider) {
throw new Error(`Unknown provider: ${providerName}. Available providers: ${Object.keys(PROVIDERS).join(", ")}`);
}
return new Provider(config);
}
function getAvailableProviders() {
return Object.keys(PROVIDERS);
}
module.exports = {
createProvider,
getAvailableProviders,
DevToProvider,
QiitaProvider,
};