Files
lnreader-plugins/scripts/multisrc/lightnovelworld/generator.ts
T
nyagami 886e6474f2 Multisrc added (#911)
* create lightnovelworld multisrc

* fix: change lightnovelworld id to webnovelworld

* added lightnovelworld

* added lightnovelpubvip

* added lightnovelcave

* added wuxiaspace
2024-04-27 18:55:55 +07:00

41 lines
1.1 KiB
TypeScript

import { ScrpitGeneratorFunction } from '../generate';
import { LightNovelWorldMetadata } from './template';
import list from './sources.json';
import { readFileSync } from 'fs';
import path from 'path';
export const generateAll: ScrpitGeneratorFunction = function (name) {
return list.map((source: LightNovelWorldMetadata) => {
let filters: any = {};
try {
filters = require(`./filters/${source.id}`);
source.filters = filters.filters;
} catch (e) {}
console.log(
`[${name}] Generating: ${source.id}${' '.repeat(20 - source.id.length)} ${source.filters ? '🔎with filters🔍' : '🚫no filters🚫'}`,
);
return generator(source);
});
};
const generator = function generator(source: LightNovelWorldMetadata) {
const LightNovelWPTemplate = readFileSync(
path.join(__dirname, 'template.ts'),
{
encoding: 'utf-8',
},
);
const pluginScript = `
${LightNovelWPTemplate}
const plugin = new LightNovelWorld(${JSON.stringify(source)});
export default plugin;
`.trim();
return {
lang: source.options?.lang || 'English',
filename: source.sourceName,
pluginScript,
};
};