feat: add rezerowebnovelfr (#2248)
chore: reorder plugins alphabetically
This commit is contained in:
@@ -0,0 +1,246 @@
|
||||
import { CheerioAPI, load } from 'cheerio';
|
||||
import { fetchApi } from '@libs/fetch';
|
||||
import { Plugin } from '@/types/plugin';
|
||||
import { NovelStatus } from '@libs/novelStatus';
|
||||
|
||||
const NOVEL_METADATA: Record<string, { name: string; summary: string }> = {
|
||||
'/histoire-principale/': {
|
||||
name: 'Re:Zero - Histoire Principale',
|
||||
summary: 'Histoire principale de Re:Zero traduite en français.',
|
||||
},
|
||||
'/histoires-annexes/': {
|
||||
name: 'Re:Zero - Histoires Annexes',
|
||||
summary:
|
||||
'Histoires annexes (Side Stories) de Re:Zero traduites en français.',
|
||||
},
|
||||
'/if-stories/': {
|
||||
name: 'Re:Zero - IF Stories',
|
||||
summary:
|
||||
'Histoires alternatives (IF Stories) de Re:Zero traduites en français.',
|
||||
},
|
||||
};
|
||||
|
||||
const NOVEL_COVER =
|
||||
'https://rezerowebnovelfr.wordpress.com/wp-content/uploads/2021/03/sans-titre-1.png';
|
||||
|
||||
function toRoman(num: number): string {
|
||||
const romanMap: [number, string][] = [
|
||||
[100, 'C'],
|
||||
[90, 'XC'],
|
||||
[50, 'L'],
|
||||
[40, 'XL'],
|
||||
[10, 'X'],
|
||||
[9, 'IX'],
|
||||
[5, 'V'],
|
||||
[4, 'IV'],
|
||||
[1, 'I'],
|
||||
];
|
||||
let roman = '';
|
||||
let n = num;
|
||||
for (const [value, symbol] of romanMap) {
|
||||
while (n >= value) {
|
||||
roman += symbol;
|
||||
n -= value;
|
||||
}
|
||||
}
|
||||
return roman;
|
||||
}
|
||||
|
||||
function getArcRomanPrefix(matchStr: string): string {
|
||||
const num = parseInt(matchStr, 10);
|
||||
if (isNaN(num)) {
|
||||
return matchStr.toUpperCase();
|
||||
}
|
||||
return toRoman(num);
|
||||
}
|
||||
|
||||
class ReZeroWebNovelFrPlugin implements Plugin.PluginBase {
|
||||
id = 'rezerowebnovelfr';
|
||||
name = 'Re:Zero Web Novel FR';
|
||||
icon = 'src/fr/rezerowebnovelfr/icon.png';
|
||||
site = 'https://rezerowebnovelfr.wordpress.com';
|
||||
version = '1.0.0';
|
||||
|
||||
async getCheerio(url: string): Promise<CheerioAPI> {
|
||||
const r = await fetchApi(url, {
|
||||
headers: { 'Accept-Encoding': 'deflate' },
|
||||
});
|
||||
const body = await r.text();
|
||||
const $ = load(body);
|
||||
return $;
|
||||
}
|
||||
|
||||
async popularNovels(pageNo: number): Promise<Plugin.NovelItem[]> {
|
||||
if (pageNo > 1) return [];
|
||||
|
||||
return Object.entries(NOVEL_METADATA).map(([path, meta]) => ({
|
||||
name: meta.name,
|
||||
cover: NOVEL_COVER,
|
||||
path: path,
|
||||
}));
|
||||
}
|
||||
|
||||
async parseNovel(novelPath: string): Promise<Plugin.SourceNovel> {
|
||||
const novel: Plugin.SourceNovel = {
|
||||
path: novelPath,
|
||||
name: 'Sans titre',
|
||||
};
|
||||
|
||||
const $ = await this.getCheerio(this.site + novelPath);
|
||||
novel.name = $('h1.entry-title').text().trim();
|
||||
novel.author = 'Tappei Nagatsuki';
|
||||
novel.status = NovelStatus.Ongoing;
|
||||
|
||||
const meta = NOVEL_METADATA[novelPath];
|
||||
if (meta) {
|
||||
novel.name = meta.name;
|
||||
novel.cover = NOVEL_COVER;
|
||||
novel.summary = meta.summary;
|
||||
}
|
||||
|
||||
const chapters: Plugin.ChapterItem[] = [];
|
||||
|
||||
const tryAddChapter = (
|
||||
href: string | undefined,
|
||||
name: string,
|
||||
prefix = '',
|
||||
) => {
|
||||
if (!href || !href.includes(this.site)) return;
|
||||
const cleanHref = href.split('?')[0];
|
||||
const dateMatch = cleanHref.match(/\/(\d{4})\/(\d{2})\/(\d{2})\//);
|
||||
if (dateMatch && name) {
|
||||
const path = cleanHref.replace(this.site, '');
|
||||
if (!chapters.some(c => c.path === path)) {
|
||||
const releaseDate = `${dateMatch[1]}-${dateMatch[2]}-${dateMatch[3]}`;
|
||||
let cleanName = name;
|
||||
if (novelPath === '/if-stories/') {
|
||||
cleanName = name
|
||||
.replace(/^(Lire|lire|LIRE|LIRE LE)\s+/i, '')
|
||||
.trim();
|
||||
}
|
||||
chapters.push({
|
||||
name: prefix + cleanName,
|
||||
path,
|
||||
releaseTime: releaseDate,
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
if (novelPath === '/histoire-principale/') {
|
||||
const arcUrls: string[] = [];
|
||||
$('.entry-content .wp-block-button a').each((i, el) => {
|
||||
const href = $(el).attr('href');
|
||||
if (href && href.includes(this.site)) {
|
||||
arcUrls.push(href);
|
||||
}
|
||||
});
|
||||
|
||||
const pages = await Promise.all(
|
||||
arcUrls.map(async arcUrl => {
|
||||
try {
|
||||
const page$ = await this.getCheerio(arcUrl);
|
||||
return { page$, arcUrl };
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
}),
|
||||
);
|
||||
|
||||
for (const result of pages) {
|
||||
if (!result) continue;
|
||||
const { page$, arcUrl } = result;
|
||||
|
||||
// Extract arc designation from URL, e.g. "arc-viii-vincent-vollachia" -> "Arc VIII"
|
||||
const arcMatch = arcUrl
|
||||
.replace(this.site, '')
|
||||
.match(/^\/arc-([^-/]+)/i);
|
||||
const arcPrefix = arcMatch
|
||||
? `Arc ${getArcRomanPrefix(arcMatch[1])} - `
|
||||
: '';
|
||||
|
||||
page$('div.entry-content ul li a, div.entry-content ol li a').each(
|
||||
(i, el) => {
|
||||
const href = page$(el).attr('href');
|
||||
const name = page$(el).text().trim();
|
||||
tryAddChapter(href, name, arcPrefix);
|
||||
},
|
||||
);
|
||||
}
|
||||
} else if (novelPath === '/histoires-annexes/') {
|
||||
// All arcs are on a single page; h2 elements mark each arc section.
|
||||
let currentArcPrefix = '';
|
||||
const children = $('div.entry-content').children().toArray();
|
||||
for (const el of children) {
|
||||
if (el.type !== 'tag') continue;
|
||||
const tag = el.tagName.toLowerCase();
|
||||
if (tag === 'h2') {
|
||||
// Extract arc number, e.g. "Arc 1 - Memory Snow" or "ARC I" -> "Arc I - "
|
||||
const h2Text = $(el).text().trim();
|
||||
const arcMatch = h2Text.match(/arc\s+([ivxlcdm]+|\d+)/i);
|
||||
currentArcPrefix = arcMatch
|
||||
? `Arc ${getArcRomanPrefix(arcMatch[1])} - `
|
||||
: `${h2Text} - `;
|
||||
} else {
|
||||
$(el)
|
||||
.find('a')
|
||||
.each((_j, a) => {
|
||||
const href = $(a).attr('href');
|
||||
const name = $(a).text().trim();
|
||||
tryAddChapter(href, name, currentArcPrefix);
|
||||
});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$('.entry-content a').each((i, el) => {
|
||||
const href = $(el).attr('href');
|
||||
const name = $(el).text().trim();
|
||||
tryAddChapter(href, name);
|
||||
});
|
||||
}
|
||||
|
||||
novel.chapters = chapters;
|
||||
return novel;
|
||||
}
|
||||
|
||||
async parseChapter(chapterPath: string): Promise<string> {
|
||||
const $ = await this.getCheerio(this.site + chapterPath);
|
||||
|
||||
// Remove ads, social sharing widgets, like widgets
|
||||
$(
|
||||
'div.entry-content .sharedaddy, div.entry-content .wpcnt, div.entry-content #jp-post-flair, div.entry-content div[id^="atatags-"]',
|
||||
).remove();
|
||||
|
||||
const title = $('h1.entry-title').html() || '';
|
||||
const chapter = $('div.entry-content').html() || '';
|
||||
return title + chapter;
|
||||
}
|
||||
|
||||
async searchNovels(
|
||||
searchTerm: string,
|
||||
pageNo: number,
|
||||
): Promise<Plugin.NovelItem[]> {
|
||||
if (pageNo !== 1) return [];
|
||||
|
||||
const popularNovels = this.popularNovels(1);
|
||||
|
||||
const novels = (await popularNovels).filter(novel =>
|
||||
novel.name
|
||||
.toLowerCase()
|
||||
.normalize('NFD')
|
||||
.replace(/[\u0300-\u036f]/g, '')
|
||||
.trim()
|
||||
.includes(
|
||||
searchTerm
|
||||
.toLowerCase()
|
||||
.normalize('NFD')
|
||||
.replace(/[\u0300-\u036f]/g, '')
|
||||
.trim(),
|
||||
),
|
||||
);
|
||||
|
||||
return novels;
|
||||
}
|
||||
}
|
||||
|
||||
export default new ReZeroWebNovelFrPlugin();
|
||||
+240
-238
@@ -1,253 +1,254 @@
|
||||
import { Plugin } from '@/types/plugin';
|
||||
import p_0 from '@plugins/arabic/ArNovel[madara]';
|
||||
import p_1 from '@plugins/arabic/Azora[madara]';
|
||||
import p_2 from '@plugins/arabic/FreeKolNovel[lightnovelwp]';
|
||||
import p_3 from '@plugins/arabic/HizoManga[madara]';
|
||||
import p_4 from '@plugins/arabic/KolNovel[lightnovelwp]';
|
||||
import p_5 from '@plugins/arabic/Markazriwayat[madara]';
|
||||
import p_6 from '@plugins/arabic/Novel4Up[madara]';
|
||||
import p_7 from '@plugins/arabic/NovelsParadise[lightnovelwp]';
|
||||
import p_8 from '@plugins/arabic/Olaoecyou[madara]';
|
||||
import p_9 from '@plugins/arabic/Riwyat[madara]';
|
||||
import p_10 from '@plugins/arabic/dilartube';
|
||||
import p_11 from '@plugins/arabic/rewayatclub';
|
||||
import p_2 from '@plugins/arabic/dilartube';
|
||||
import p_3 from '@plugins/arabic/FreeKolNovel[lightnovelwp]';
|
||||
import p_4 from '@plugins/arabic/HizoManga[madara]';
|
||||
import p_5 from '@plugins/arabic/KolNovel[lightnovelwp]';
|
||||
import p_6 from '@plugins/arabic/Markazriwayat[madara]';
|
||||
import p_7 from '@plugins/arabic/Novel4Up[madara]';
|
||||
import p_8 from '@plugins/arabic/NovelsParadise[lightnovelwp]';
|
||||
import p_9 from '@plugins/arabic/Olaoecyou[madara]';
|
||||
import p_10 from '@plugins/arabic/rewayatclub';
|
||||
import p_11 from '@plugins/arabic/Riwyat[madara]';
|
||||
import p_12 from '@plugins/arabic/sunovels';
|
||||
import p_13 from '@plugins/chinese/69shu';
|
||||
import p_14 from '@plugins/chinese/Quanben';
|
||||
import p_15 from '@plugins/chinese/ixdzs8';
|
||||
import p_16 from '@plugins/chinese/linovel';
|
||||
import p_17 from '@plugins/chinese/linovelib';
|
||||
import p_18 from '@plugins/chinese/linovelib_tw';
|
||||
import p_19 from '@plugins/chinese/novel543';
|
||||
import p_14 from '@plugins/chinese/ixdzs8';
|
||||
import p_15 from '@plugins/chinese/linovel';
|
||||
import p_16 from '@plugins/chinese/linovelib';
|
||||
import p_17 from '@plugins/chinese/linovelib_tw';
|
||||
import p_18 from '@plugins/chinese/novel543';
|
||||
import p_19 from '@plugins/chinese/Quanben';
|
||||
import p_20 from '@plugins/english/AllNovelFull[readnovelfull]';
|
||||
import p_21 from '@plugins/english/AllNovel[readnovelfull]';
|
||||
import p_22 from '@plugins/english/ArcaneTranslations[lightnovelwp]';
|
||||
import p_23 from '@plugins/english/BelleReservoir[madara]';
|
||||
import p_24 from '@plugins/english/BoxNovel[madara]';
|
||||
import p_25 from '@plugins/english/CPUnovel[lightnovelwp]';
|
||||
import p_22 from '@plugins/english/ao3';
|
||||
import p_23 from '@plugins/english/ArcaneTranslations[lightnovelwp]';
|
||||
import p_24 from '@plugins/english/BelleReservoir[madara]';
|
||||
import p_25 from '@plugins/english/BoxNovel[madara]';
|
||||
import p_26 from '@plugins/english/CherryMistCafe[fictioneer]';
|
||||
import p_27 from '@plugins/english/CitrusAurora[madara]';
|
||||
import p_28 from '@plugins/english/CoralBoutique[madara]';
|
||||
import p_29 from '@plugins/english/DaoNovel[madara]';
|
||||
import p_30 from '@plugins/english/DaoTranslate[lightnovelwp]';
|
||||
import p_31 from '@plugins/english/DaoistQuest[fictioneer]';
|
||||
import p_32 from '@plugins/english/DearestRosalie[fictioneer]';
|
||||
import p_33 from '@plugins/english/DragonTea[madara]';
|
||||
import p_34 from '@plugins/english/Dragonholic[madara]';
|
||||
import p_35 from '@plugins/english/DuskBlossoms[madara]';
|
||||
import p_36 from '@plugins/english/ElloTL[lightnovelwp]';
|
||||
import p_37 from '@plugins/english/Eternalune[madara]';
|
||||
import p_38 from '@plugins/english/EtudeTranslations[madara]';
|
||||
import p_39 from '@plugins/english/FanNovel[readwn]';
|
||||
import p_40 from '@plugins/english/FansMTL[readwn]';
|
||||
import p_41 from '@plugins/english/FansTranslations[madara]';
|
||||
import p_42 from '@plugins/english/FirstKissNovel[madara]';
|
||||
import p_43 from '@plugins/english/Foxaholic[madara]';
|
||||
import p_44 from '@plugins/english/FreeWebNovel[readnovelfull]';
|
||||
import p_45 from '@plugins/english/GalaxyTranslations[madara]';
|
||||
import p_46 from '@plugins/english/Guavaread[madara]';
|
||||
import p_47 from '@plugins/english/HiraethTranslation[madara]';
|
||||
import p_48 from '@plugins/english/HotNovelPub[hotnovelpub]';
|
||||
import p_49 from '@plugins/english/Ippotranslations[lightnovelwp]';
|
||||
import p_50 from '@plugins/english/KDTNovels[lightnovelwp]';
|
||||
import p_51 from '@plugins/english/KeopiTranslations[lightnovelwp]';
|
||||
import p_52 from '@plugins/english/KnoxT[lightnovelwp]';
|
||||
import p_53 from '@plugins/english/LazyGirlTranslations[lightnovelwp]';
|
||||
import p_54 from '@plugins/english/LibRead[readnovelfull]';
|
||||
import p_55 from '@plugins/english/LightNovelCave[lightnovelworld]';
|
||||
import p_56 from '@plugins/english/LightNovelHeaven[madara]';
|
||||
import p_57 from '@plugins/english/LightNovelPlus[readnovelfull]';
|
||||
import p_58 from '@plugins/english/LightNovelPubVip[lightnovelworld]';
|
||||
import p_59 from '@plugins/english/LightNovelUpdates[madara]';
|
||||
import p_60 from '@plugins/english/LilyontheValley[fictioneer]';
|
||||
import p_61 from '@plugins/english/Ltnovel[readwn]';
|
||||
import p_62 from '@plugins/english/LulloBox[madara]';
|
||||
import p_63 from '@plugins/english/LunarLetters[madara]';
|
||||
import p_64 from '@plugins/english/MTLNovel[madara]';
|
||||
import p_65 from '@plugins/english/MTLNovel[mtlnovel]';
|
||||
import p_66 from '@plugins/english/Meownovel[madara]';
|
||||
import p_67 from '@plugins/english/MoonlightNovels[lightnovelwp]';
|
||||
import p_68 from '@plugins/english/MostNovel[madara]';
|
||||
import p_69 from '@plugins/english/MysticalSeries[madara]';
|
||||
import p_70 from '@plugins/english/NeoSekaiTranslations[madara]';
|
||||
import p_71 from '@plugins/english/NitroManga[madara]';
|
||||
import p_72 from '@plugins/english/NobleMTL[lightnovelwp]';
|
||||
import p_73 from '@plugins/english/NoiceTranslations[madara]';
|
||||
import p_74 from '@plugins/english/NovelBin[readnovelfull]';
|
||||
import p_75 from '@plugins/english/NovelCool[novelcool]';
|
||||
import p_76 from '@plugins/english/NovelFull[readnovelfull]';
|
||||
import p_77 from '@plugins/english/NovelLib[fictioneer]';
|
||||
import p_78 from '@plugins/english/NovelMultiverse[madara]';
|
||||
import p_79 from '@plugins/english/NovelNinja[madara]';
|
||||
import p_80 from '@plugins/english/NovelOnline';
|
||||
import p_81 from '@plugins/english/NovelTranslate[madara]';
|
||||
import p_82 from '@plugins/english/NovelsKnight[lightnovelwp]';
|
||||
import p_83 from '@plugins/english/PandaMachineTranslations[lightnovelwp]';
|
||||
import p_84 from '@plugins/english/PastelTales[madara]';
|
||||
import p_85 from '@plugins/english/PenguinSquad[fictioneer]';
|
||||
import p_86 from '@plugins/english/Prizma[fictioneer]';
|
||||
import p_87 from '@plugins/english/Ranobes[ranobes]';
|
||||
import p_88 from '@plugins/english/Ranovel[madara]';
|
||||
import p_89 from '@plugins/english/ReadFanfic[madara]';
|
||||
import p_90 from '@plugins/english/ReadNovelFull[readnovelfull]';
|
||||
import p_91 from '@plugins/english/RequiemTranslations[lightnovelwp]';
|
||||
import p_92 from '@plugins/english/SalmonLatte[madara]';
|
||||
import p_93 from '@plugins/english/SleepyTranslations[madara]';
|
||||
import p_94 from '@plugins/english/SonicMTL[madara]';
|
||||
import p_95 from '@plugins/english/SrankManga[madara]';
|
||||
import p_96 from '@plugins/english/StorySeedling';
|
||||
import p_97 from '@plugins/english/SweetEscape[madara]';
|
||||
import p_98 from '@plugins/english/SystemTranslation[lightnovelwp]';
|
||||
import p_99 from '@plugins/english/TranslatinOtaku[madara]';
|
||||
import p_100 from '@plugins/english/TranslationWeaver[lightnovelwp]';
|
||||
import p_101 from '@plugins/english/UniversalNovel[lightnovelwp]';
|
||||
import p_102 from '@plugins/english/VandyTranslate[lightnovelwp]';
|
||||
import p_103 from '@plugins/english/VioletLily[madara]';
|
||||
import p_104 from '@plugins/english/WebNovelLover[madara]';
|
||||
import p_105 from '@plugins/english/WebNovelPub[lightnovelworld]';
|
||||
import p_106 from '@plugins/english/WebNovelTranslation[madara]';
|
||||
import p_107 from '@plugins/english/WhiteMoonlightNovels[lightnovelwp]';
|
||||
import p_108 from '@plugins/english/WooksTeahouse[madara]';
|
||||
import p_109 from '@plugins/english/WordExcerpt[madara]';
|
||||
import p_110 from '@plugins/english/WuxiaSpace[readwn]';
|
||||
import p_111 from '@plugins/english/WuxiaV[readwn]';
|
||||
import p_112 from '@plugins/english/WuxiaWorldSite[madara]';
|
||||
import p_113 from '@plugins/english/Wuxiabox[readwn]';
|
||||
import p_114 from '@plugins/english/Wuxiafox[readwn]';
|
||||
import p_115 from '@plugins/english/ZetroTranslation[madara]';
|
||||
import p_116 from '@plugins/english/ao3';
|
||||
import p_117 from '@plugins/english/chrysanthemumgarden';
|
||||
import p_118 from '@plugins/english/crimsonscrolls';
|
||||
import p_119 from '@plugins/english/divinedaolibrary';
|
||||
import p_120 from '@plugins/english/dreambigtl';
|
||||
import p_121 from '@plugins/english/faqwikius';
|
||||
import p_122 from '@plugins/english/fenrirrealm';
|
||||
import p_123 from '@plugins/english/fictionzone';
|
||||
import p_124 from '@plugins/english/foxteller';
|
||||
import p_125 from '@plugins/english/genesis';
|
||||
import p_126 from '@plugins/english/indraTranslations';
|
||||
import p_127 from '@plugins/english/inkitt';
|
||||
import p_128 from '@plugins/english/inoveltranslation';
|
||||
import p_129 from '@plugins/english/leafstudio';
|
||||
import p_130 from '@plugins/english/lightnoveltranslation';
|
||||
import p_131 from '@plugins/english/lnmtl';
|
||||
import p_132 from '@plugins/english/lnori';
|
||||
import p_133 from '@plugins/english/mvlempyr';
|
||||
import p_134 from '@plugins/english/novelbuddy';
|
||||
import p_135 from '@plugins/english/novelfire';
|
||||
import p_136 from '@plugins/english/novelhall';
|
||||
import p_137 from '@plugins/english/novelhi';
|
||||
import p_138 from '@plugins/english/novelight';
|
||||
import p_139 from '@plugins/english/novelrest';
|
||||
import p_140 from '@plugins/english/novelupdates';
|
||||
import p_141 from '@plugins/english/pawread';
|
||||
import p_142 from '@plugins/english/rainofsnow';
|
||||
import p_143 from '@plugins/english/readfrom';
|
||||
import p_144 from '@plugins/english/relibrary';
|
||||
import p_145 from '@plugins/english/royalroad';
|
||||
import p_146 from '@plugins/english/scribblehub';
|
||||
import p_147 from '@plugins/english/vynovel';
|
||||
import p_148 from '@plugins/english/wct';
|
||||
import p_149 from '@plugins/english/webnovel';
|
||||
import p_150 from '@plugins/english/wtrlab';
|
||||
import p_151 from '@plugins/english/wuxiaworld';
|
||||
import p_152 from '@plugins/french/LighNovelFR[lightnovelwp]';
|
||||
import p_153 from '@plugins/french/MTLNovel(FR)[mtlnovel]';
|
||||
import p_154 from '@plugins/french/MassNovel[madara]';
|
||||
import p_155 from '@plugins/french/WorldNovel[madara]';
|
||||
import p_156 from '@plugins/french/chireads';
|
||||
import p_157 from '@plugins/french/harkeneliwood';
|
||||
import p_158 from '@plugins/french/kisswood';
|
||||
import p_159 from '@plugins/french/noveldeglace';
|
||||
import p_160 from '@plugins/french/novelfrance';
|
||||
import p_161 from '@plugins/french/novhell';
|
||||
import p_27 from '@plugins/english/chrysanthemumgarden';
|
||||
import p_28 from '@plugins/english/CitrusAurora[madara]';
|
||||
import p_29 from '@plugins/english/CoralBoutique[madara]';
|
||||
import p_30 from '@plugins/english/CPUnovel[lightnovelwp]';
|
||||
import p_31 from '@plugins/english/crimsonscrolls';
|
||||
import p_32 from '@plugins/english/DaoistQuest[fictioneer]';
|
||||
import p_33 from '@plugins/english/DaoNovel[madara]';
|
||||
import p_34 from '@plugins/english/DaoTranslate[lightnovelwp]';
|
||||
import p_35 from '@plugins/english/DearestRosalie[fictioneer]';
|
||||
import p_36 from '@plugins/english/divinedaolibrary';
|
||||
import p_37 from '@plugins/english/Dragonholic[madara]';
|
||||
import p_38 from '@plugins/english/DragonTea[madara]';
|
||||
import p_39 from '@plugins/english/dreambigtl';
|
||||
import p_40 from '@plugins/english/DuskBlossoms[madara]';
|
||||
import p_41 from '@plugins/english/ElloTL[lightnovelwp]';
|
||||
import p_42 from '@plugins/english/Eternalune[madara]';
|
||||
import p_43 from '@plugins/english/EtudeTranslations[madara]';
|
||||
import p_44 from '@plugins/english/FanNovel[readwn]';
|
||||
import p_45 from '@plugins/english/FansMTL[readwn]';
|
||||
import p_46 from '@plugins/english/FansTranslations[madara]';
|
||||
import p_47 from '@plugins/english/faqwikius';
|
||||
import p_48 from '@plugins/english/fenrirrealm';
|
||||
import p_49 from '@plugins/english/fictionzone';
|
||||
import p_50 from '@plugins/english/FirstKissNovel[madara]';
|
||||
import p_51 from '@plugins/english/Foxaholic[madara]';
|
||||
import p_52 from '@plugins/english/foxteller';
|
||||
import p_53 from '@plugins/english/FreeWebNovel[readnovelfull]';
|
||||
import p_54 from '@plugins/english/GalaxyTranslations[madara]';
|
||||
import p_55 from '@plugins/english/genesis';
|
||||
import p_56 from '@plugins/english/Guavaread[madara]';
|
||||
import p_57 from '@plugins/english/HiraethTranslation[madara]';
|
||||
import p_58 from '@plugins/english/HotNovelPub[hotnovelpub]';
|
||||
import p_59 from '@plugins/english/indraTranslations';
|
||||
import p_60 from '@plugins/english/inkitt';
|
||||
import p_61 from '@plugins/english/inoveltranslation';
|
||||
import p_62 from '@plugins/english/Ippotranslations[lightnovelwp]';
|
||||
import p_63 from '@plugins/english/KDTNovels[lightnovelwp]';
|
||||
import p_64 from '@plugins/english/KeopiTranslations[lightnovelwp]';
|
||||
import p_65 from '@plugins/english/KnoxT[lightnovelwp]';
|
||||
import p_66 from '@plugins/english/LazyGirlTranslations[lightnovelwp]';
|
||||
import p_67 from '@plugins/english/leafstudio';
|
||||
import p_68 from '@plugins/english/LibRead[readnovelfull]';
|
||||
import p_69 from '@plugins/english/LightNovelCave[lightnovelworld]';
|
||||
import p_70 from '@plugins/english/LightNovelHeaven[madara]';
|
||||
import p_71 from '@plugins/english/LightNovelPlus[readnovelfull]';
|
||||
import p_72 from '@plugins/english/LightNovelPubVip[lightnovelworld]';
|
||||
import p_73 from '@plugins/english/lightnoveltranslation';
|
||||
import p_74 from '@plugins/english/LightNovelUpdates[madara]';
|
||||
import p_75 from '@plugins/english/LilyontheValley[fictioneer]';
|
||||
import p_76 from '@plugins/english/lnmtl';
|
||||
import p_77 from '@plugins/english/lnori';
|
||||
import p_78 from '@plugins/english/Ltnovel[readwn]';
|
||||
import p_79 from '@plugins/english/LulloBox[madara]';
|
||||
import p_80 from '@plugins/english/LunarLetters[madara]';
|
||||
import p_81 from '@plugins/english/Meownovel[madara]';
|
||||
import p_82 from '@plugins/english/MoonlightNovels[lightnovelwp]';
|
||||
import p_83 from '@plugins/english/MostNovel[madara]';
|
||||
import p_84 from '@plugins/english/MTLNovel[madara]';
|
||||
import p_85 from '@plugins/english/MTLNovel[mtlnovel]';
|
||||
import p_86 from '@plugins/english/mvlempyr';
|
||||
import p_87 from '@plugins/english/MysticalSeries[madara]';
|
||||
import p_88 from '@plugins/english/NeoSekaiTranslations[madara]';
|
||||
import p_89 from '@plugins/english/NitroManga[madara]';
|
||||
import p_90 from '@plugins/english/NobleMTL[lightnovelwp]';
|
||||
import p_91 from '@plugins/english/NoiceTranslations[madara]';
|
||||
import p_92 from '@plugins/english/NovelBin[readnovelfull]';
|
||||
import p_93 from '@plugins/english/novelbuddy';
|
||||
import p_94 from '@plugins/english/NovelCool[novelcool]';
|
||||
import p_95 from '@plugins/english/novelfire';
|
||||
import p_96 from '@plugins/english/NovelFull[readnovelfull]';
|
||||
import p_97 from '@plugins/english/novelhall';
|
||||
import p_98 from '@plugins/english/novelhi';
|
||||
import p_99 from '@plugins/english/novelight';
|
||||
import p_100 from '@plugins/english/NovelLib[fictioneer]';
|
||||
import p_101 from '@plugins/english/NovelMultiverse[madara]';
|
||||
import p_102 from '@plugins/english/NovelNinja[madara]';
|
||||
import p_103 from '@plugins/english/NovelOnline';
|
||||
import p_104 from '@plugins/english/novelrest';
|
||||
import p_105 from '@plugins/english/NovelsKnight[lightnovelwp]';
|
||||
import p_106 from '@plugins/english/NovelTranslate[madara]';
|
||||
import p_107 from '@plugins/english/novelupdates';
|
||||
import p_108 from '@plugins/english/PandaMachineTranslations[lightnovelwp]';
|
||||
import p_109 from '@plugins/english/PastelTales[madara]';
|
||||
import p_110 from '@plugins/english/pawread';
|
||||
import p_111 from '@plugins/english/PenguinSquad[fictioneer]';
|
||||
import p_112 from '@plugins/english/Prizma[fictioneer]';
|
||||
import p_113 from '@plugins/english/rainofsnow';
|
||||
import p_114 from '@plugins/english/Ranobes[ranobes]';
|
||||
import p_115 from '@plugins/english/Ranovel[madara]';
|
||||
import p_116 from '@plugins/english/ReadFanfic[madara]';
|
||||
import p_117 from '@plugins/english/readfrom';
|
||||
import p_118 from '@plugins/english/ReadNovelFull[readnovelfull]';
|
||||
import p_119 from '@plugins/english/relibrary';
|
||||
import p_120 from '@plugins/english/RequiemTranslations[lightnovelwp]';
|
||||
import p_121 from '@plugins/english/royalroad';
|
||||
import p_122 from '@plugins/english/SalmonLatte[madara]';
|
||||
import p_123 from '@plugins/english/scribblehub';
|
||||
import p_124 from '@plugins/english/SleepyTranslations[madara]';
|
||||
import p_125 from '@plugins/english/SonicMTL[madara]';
|
||||
import p_126 from '@plugins/english/SrankManga[madara]';
|
||||
import p_127 from '@plugins/english/StorySeedling';
|
||||
import p_128 from '@plugins/english/SweetEscape[madara]';
|
||||
import p_129 from '@plugins/english/SystemTranslation[lightnovelwp]';
|
||||
import p_130 from '@plugins/english/TranslatinOtaku[madara]';
|
||||
import p_131 from '@plugins/english/TranslationWeaver[lightnovelwp]';
|
||||
import p_132 from '@plugins/english/UniversalNovel[lightnovelwp]';
|
||||
import p_133 from '@plugins/english/VandyTranslate[lightnovelwp]';
|
||||
import p_134 from '@plugins/english/VioletLily[madara]';
|
||||
import p_135 from '@plugins/english/vynovel';
|
||||
import p_136 from '@plugins/english/wct';
|
||||
import p_137 from '@plugins/english/webnovel';
|
||||
import p_138 from '@plugins/english/WebNovelLover[madara]';
|
||||
import p_139 from '@plugins/english/WebNovelPub[lightnovelworld]';
|
||||
import p_140 from '@plugins/english/WebNovelTranslation[madara]';
|
||||
import p_141 from '@plugins/english/WhiteMoonlightNovels[lightnovelwp]';
|
||||
import p_142 from '@plugins/english/WooksTeahouse[madara]';
|
||||
import p_143 from '@plugins/english/WordExcerpt[madara]';
|
||||
import p_144 from '@plugins/english/wtrlab';
|
||||
import p_145 from '@plugins/english/Wuxiabox[readwn]';
|
||||
import p_146 from '@plugins/english/Wuxiafox[readwn]';
|
||||
import p_147 from '@plugins/english/WuxiaSpace[readwn]';
|
||||
import p_148 from '@plugins/english/WuxiaV[readwn]';
|
||||
import p_149 from '@plugins/english/wuxiaworld';
|
||||
import p_150 from '@plugins/english/WuxiaWorldSite[madara]';
|
||||
import p_151 from '@plugins/english/ZetroTranslation[madara]';
|
||||
import p_152 from '@plugins/french/chireads';
|
||||
import p_153 from '@plugins/french/harkeneliwood';
|
||||
import p_154 from '@plugins/french/kisswood';
|
||||
import p_155 from '@plugins/french/LighNovelFR[lightnovelwp]';
|
||||
import p_156 from '@plugins/french/MassNovel[madara]';
|
||||
import p_157 from '@plugins/french/MTLNovel(FR)[mtlnovel]';
|
||||
import p_158 from '@plugins/french/noveldeglace';
|
||||
import p_159 from '@plugins/french/novelfrance';
|
||||
import p_160 from '@plugins/french/novhell';
|
||||
import p_161 from '@plugins/french/rezerowebnovelfr';
|
||||
import p_162 from '@plugins/french/warriorlegendtrad';
|
||||
import p_163 from '@plugins/french/wuxialnscantrad';
|
||||
import p_164 from '@plugins/french/xiaowaz';
|
||||
import p_165 from '@plugins/indonesian/BacaLightNovel[lightnovelwp]';
|
||||
import p_166 from '@plugins/indonesian/MTLNovel(ID)[mtlnovel]';
|
||||
import p_167 from '@plugins/indonesian/MeioNovel[madara]';
|
||||
import p_168 from '@plugins/indonesian/NovelBookID[madara]';
|
||||
import p_169 from '@plugins/indonesian/SekteNovel[lightnovelwp]';
|
||||
import p_170 from '@plugins/indonesian/Vanovel[madara]';
|
||||
import p_171 from '@plugins/indonesian/WBNovel[madara]';
|
||||
import p_172 from '@plugins/indonesian/indowebnovel';
|
||||
import p_173 from '@plugins/indonesian/sakuranovel';
|
||||
import p_174 from '@plugins/japanese/Syosetu';
|
||||
import p_163 from '@plugins/french/WorldNovel[madara]';
|
||||
import p_164 from '@plugins/french/wuxialnscantrad';
|
||||
import p_165 from '@plugins/french/xiaowaz';
|
||||
import p_166 from '@plugins/indonesian/BacaLightNovel[lightnovelwp]';
|
||||
import p_167 from '@plugins/indonesian/indowebnovel';
|
||||
import p_168 from '@plugins/indonesian/MeioNovel[madara]';
|
||||
import p_169 from '@plugins/indonesian/MTLNovel(ID)[mtlnovel]';
|
||||
import p_170 from '@plugins/indonesian/NovelBookID[madara]';
|
||||
import p_171 from '@plugins/indonesian/sakuranovel';
|
||||
import p_172 from '@plugins/indonesian/SekteNovel[lightnovelwp]';
|
||||
import p_173 from '@plugins/indonesian/Vanovel[madara]';
|
||||
import p_174 from '@plugins/indonesian/WBNovel[madara]';
|
||||
import p_175 from '@plugins/japanese/kakuyomu';
|
||||
import p_176 from '@plugins/korean/Agitoon';
|
||||
import p_177 from '@plugins/korean/FortuneEternal[madara]';
|
||||
import p_178 from '@plugins/multi/komga';
|
||||
import p_179 from '@plugins/polish/novelki';
|
||||
import p_180 from '@plugins/portuguese/BetterNovels[lightnovelwp]';
|
||||
import p_181 from '@plugins/portuguese/CentralNovel[lightnovelwp]';
|
||||
import p_182 from '@plugins/portuguese/Kiniga[madara]';
|
||||
import p_183 from '@plugins/portuguese/LaNovels[hotnovelpub]';
|
||||
import p_184 from '@plugins/portuguese/LightNovelBrasil[lightnovelwp]';
|
||||
import p_185 from '@plugins/portuguese/MTLNovel(PT)[mtlnovel]';
|
||||
import p_186 from '@plugins/portuguese/blogdoamonnovels';
|
||||
import p_187 from '@plugins/portuguese/illusia';
|
||||
import p_188 from '@plugins/portuguese/novelmania';
|
||||
import p_189 from '@plugins/portuguese/tsundoku';
|
||||
import p_190 from '@plugins/russian/Bllate[rulate]';
|
||||
import p_191 from '@plugins/russian/Bookhamster[ifreedom]';
|
||||
import p_192 from '@plugins/russian/Erolate[rulate]';
|
||||
import p_193 from '@plugins/russian/EzNovels[hotnovelpub]';
|
||||
import p_194 from '@plugins/russian/MTLNovel(RU)[mtlnovel]';
|
||||
import p_195 from '@plugins/russian/NovelCool(RU)[novelcool]';
|
||||
import p_196 from '@plugins/russian/Ranobes(RU)[ranobes]';
|
||||
import p_197 from '@plugins/russian/Rulate[rulate]';
|
||||
import p_198 from '@plugins/russian/authortoday';
|
||||
import p_199 from '@plugins/russian/bookriver';
|
||||
import p_200 from '@plugins/russian/ficbook';
|
||||
import p_201 from '@plugins/russian/jaomix';
|
||||
import p_202 from '@plugins/russian/neobook';
|
||||
import p_203 from '@plugins/russian/novelTL';
|
||||
import p_204 from '@plugins/russian/ranobehub';
|
||||
import p_205 from '@plugins/russian/ranobelib';
|
||||
import p_206 from '@plugins/russian/ranoberf';
|
||||
import p_176 from '@plugins/japanese/Syosetu';
|
||||
import p_177 from '@plugins/korean/Agitoon';
|
||||
import p_178 from '@plugins/korean/FortuneEternal[madara]';
|
||||
import p_179 from '@plugins/multi/komga';
|
||||
import p_180 from '@plugins/polish/novelki';
|
||||
import p_181 from '@plugins/portuguese/BetterNovels[lightnovelwp]';
|
||||
import p_182 from '@plugins/portuguese/blogdoamonnovels';
|
||||
import p_183 from '@plugins/portuguese/CentralNovel[lightnovelwp]';
|
||||
import p_184 from '@plugins/portuguese/illusia';
|
||||
import p_185 from '@plugins/portuguese/Kiniga[madara]';
|
||||
import p_186 from '@plugins/portuguese/LaNovels[hotnovelpub]';
|
||||
import p_187 from '@plugins/portuguese/LightNovelBrasil[lightnovelwp]';
|
||||
import p_188 from '@plugins/portuguese/MTLNovel(PT)[mtlnovel]';
|
||||
import p_189 from '@plugins/portuguese/novelmania';
|
||||
import p_190 from '@plugins/portuguese/tsundoku';
|
||||
import p_191 from '@plugins/russian/authortoday';
|
||||
import p_192 from '@plugins/russian/Bllate[rulate]';
|
||||
import p_193 from '@plugins/russian/Bookhamster[ifreedom]';
|
||||
import p_194 from '@plugins/russian/bookriver';
|
||||
import p_195 from '@plugins/russian/Erolate[rulate]';
|
||||
import p_196 from '@plugins/russian/EzNovels[hotnovelpub]';
|
||||
import p_197 from '@plugins/russian/ficbook';
|
||||
import p_198 from '@plugins/russian/jaomix';
|
||||
import p_199 from '@plugins/russian/MTLNovel(RU)[mtlnovel]';
|
||||
import p_200 from '@plugins/russian/neobook';
|
||||
import p_201 from '@plugins/russian/NovelCool(RU)[novelcool]';
|
||||
import p_202 from '@plugins/russian/novelTL';
|
||||
import p_203 from '@plugins/russian/ranobehub';
|
||||
import p_204 from '@plugins/russian/ranobelib';
|
||||
import p_205 from '@plugins/russian/ranoberf';
|
||||
import p_206 from '@plugins/russian/Ranobes(RU)[ranobes]';
|
||||
import p_207 from '@plugins/russian/renovels';
|
||||
import p_208 from '@plugins/russian/topliba';
|
||||
import p_209 from '@plugins/russian/zelluloza';
|
||||
import p_210 from '@plugins/russian/СвободныйМирРанобэ[ifreedom]';
|
||||
import p_211 from '@plugins/spanish/AllNovelRead[lightnovelwp]';
|
||||
import p_212 from '@plugins/spanish/AnimesHoy12[madara]';
|
||||
import p_213 from '@plugins/spanish/LightNovelDaily[hotnovelpub]';
|
||||
import p_214 from '@plugins/spanish/MTLNovel(ES)[mtlnovel]';
|
||||
import p_215 from '@plugins/spanish/NOVA';
|
||||
import p_216 from '@plugins/spanish/PanchoTranslations[madara]';
|
||||
import p_217 from '@plugins/spanish/TC&Sega[lightnovelwp]';
|
||||
import p_218 from '@plugins/spanish/TraduccionesAmistosas[madara]';
|
||||
import p_219 from '@plugins/spanish/hasutl';
|
||||
import p_220 from '@plugins/spanish/novelasligera';
|
||||
import p_221 from '@plugins/spanish/novelawuxia';
|
||||
import p_222 from '@plugins/spanish/novelyra';
|
||||
import p_223 from '@plugins/spanish/oasistranslations';
|
||||
import p_224 from '@plugins/spanish/skynovels';
|
||||
import p_225 from '@plugins/spanish/tunovelaligera';
|
||||
import p_226 from '@plugins/spanish/yukitls';
|
||||
import p_227 from '@plugins/thai/NovelLucky[madara]';
|
||||
import p_228 from '@plugins/thai/NovelPDF[madara]';
|
||||
import p_229 from '@plugins/turkish/ArazNovel[madara]';
|
||||
import p_230 from '@plugins/turkish/EKTAPLAR[madara]';
|
||||
import p_231 from '@plugins/turkish/KodeksLibrary[lightnovelwp]';
|
||||
import p_232 from '@plugins/turkish/MangaTR';
|
||||
import p_233 from '@plugins/turkish/NABSCANS[madara]';
|
||||
import p_234 from '@plugins/turkish/Namevt[lightnovelwp]';
|
||||
import p_235 from '@plugins/turkish/NovelTR[lightnovelwp]';
|
||||
import p_236 from '@plugins/turkish/Noveloku[madara]';
|
||||
import p_237 from '@plugins/turkish/RagnarScans[madara]';
|
||||
import p_238 from '@plugins/turkish/ThNovels[hotnovelpub]';
|
||||
import p_239 from '@plugins/turkish/TurkceLightNovels[madara]';
|
||||
import p_240 from '@plugins/turkish/WebNovelOku[madara]';
|
||||
import p_241 from '@plugins/turkish/epiknovel';
|
||||
import p_242 from '@plugins/turkish/kakikata[madara]';
|
||||
import p_243 from '@plugins/ukrainian/bakainua';
|
||||
import p_244 from '@plugins/ukrainian/smakolykytl';
|
||||
import p_245 from '@plugins/vietnamese/LNHako';
|
||||
import p_208 from '@plugins/russian/Rulate[rulate]';
|
||||
import p_209 from '@plugins/russian/topliba';
|
||||
import p_210 from '@plugins/russian/zelluloza';
|
||||
import p_211 from '@plugins/russian/СвободныйМирРанобэ[ifreedom]';
|
||||
import p_212 from '@plugins/spanish/AllNovelRead[lightnovelwp]';
|
||||
import p_213 from '@plugins/spanish/AnimesHoy12[madara]';
|
||||
import p_214 from '@plugins/spanish/hasutl';
|
||||
import p_215 from '@plugins/spanish/LightNovelDaily[hotnovelpub]';
|
||||
import p_216 from '@plugins/spanish/MTLNovel(ES)[mtlnovel]';
|
||||
import p_217 from '@plugins/spanish/NOVA';
|
||||
import p_218 from '@plugins/spanish/novelasligera';
|
||||
import p_219 from '@plugins/spanish/novelawuxia';
|
||||
import p_220 from '@plugins/spanish/novelyra';
|
||||
import p_221 from '@plugins/spanish/oasistranslations';
|
||||
import p_222 from '@plugins/spanish/PanchoTranslations[madara]';
|
||||
import p_223 from '@plugins/spanish/skynovels';
|
||||
import p_224 from '@plugins/spanish/TC&Sega[lightnovelwp]';
|
||||
import p_225 from '@plugins/spanish/TraduccionesAmistosas[madara]';
|
||||
import p_226 from '@plugins/spanish/tunovelaligera';
|
||||
import p_227 from '@plugins/spanish/yukitls';
|
||||
import p_228 from '@plugins/thai/NovelLucky[madara]';
|
||||
import p_229 from '@plugins/thai/NovelPDF[madara]';
|
||||
import p_230 from '@plugins/turkish/ArazNovel[madara]';
|
||||
import p_231 from '@plugins/turkish/EKTAPLAR[madara]';
|
||||
import p_232 from '@plugins/turkish/epiknovel';
|
||||
import p_233 from '@plugins/turkish/kakikata[madara]';
|
||||
import p_234 from '@plugins/turkish/KodeksLibrary[lightnovelwp]';
|
||||
import p_235 from '@plugins/turkish/MangaTR';
|
||||
import p_236 from '@plugins/turkish/NABSCANS[madara]';
|
||||
import p_237 from '@plugins/turkish/Namevt[lightnovelwp]';
|
||||
import p_238 from '@plugins/turkish/Noveloku[madara]';
|
||||
import p_239 from '@plugins/turkish/NovelTR[lightnovelwp]';
|
||||
import p_240 from '@plugins/turkish/RagnarScans[madara]';
|
||||
import p_241 from '@plugins/turkish/ThNovels[hotnovelpub]';
|
||||
import p_242 from '@plugins/turkish/TurkceLightNovels[madara]';
|
||||
import p_243 from '@plugins/turkish/WebNovelOku[madara]';
|
||||
import p_244 from '@plugins/ukrainian/bakainua';
|
||||
import p_245 from '@plugins/ukrainian/smakolykytl';
|
||||
import p_246 from '@plugins/vietnamese/lightnovelvn';
|
||||
import p_247 from '@plugins/vietnamese/nettruyen';
|
||||
import p_248 from '@plugins/vietnamese/truyenss';
|
||||
import p_247 from '@plugins/vietnamese/LNHako';
|
||||
import p_248 from '@plugins/vietnamese/nettruyen';
|
||||
import p_249 from '@plugins/vietnamese/truyenss';
|
||||
|
||||
const PLUGINS: Plugin.PluginBase[] = [
|
||||
p_0,
|
||||
@@ -499,5 +500,6 @@ const PLUGINS: Plugin.PluginBase[] = [
|
||||
p_246,
|
||||
p_247,
|
||||
p_248,
|
||||
p_249,
|
||||
];
|
||||
export default PLUGINS;
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
Reference in New Issue
Block a user