From e46c7d07aa7a0be7b4020f6ec80437658e52da86 Mon Sep 17 00:00:00 2001 From: K1ngfish3r Date: Wed, 24 Jan 2024 14:53:33 +0800 Subject: [PATCH] (fix src) Novel Updates (#719) * fixnu filter * Update plugins/english/novelupdates.ts Co-authored-by: nyagami * Update plugins/english/nobleMTL.ts Co-authored-by: nyagami * better commit * fix typo --------- Co-authored-by: nyagami --- .dist/K1ngfish3r/plugins.json | 982 ++++++++++++++++++++++++++++ .dist/K1ngfish3r/plugins.min.json | 1 + .js/plugins/english/nobleMTL.js | 61 +- .js/plugins/english/novelupdates.js | 200 +++--- plugins/english/nobleMTL.ts | 173 +---- plugins/english/novelupdates.ts | 192 +++--- 6 files changed, 1218 insertions(+), 391 deletions(-) create mode 100644 .dist/K1ngfish3r/plugins.json create mode 100644 .dist/K1ngfish3r/plugins.min.json diff --git a/.dist/K1ngfish3r/plugins.json b/.dist/K1ngfish3r/plugins.json new file mode 100644 index 0000000..8d9577f --- /dev/null +++ b/.dist/K1ngfish3r/plugins.json @@ -0,0 +1,982 @@ +{ + "العربية": [ + { + "id": "ar-mtl", + "name": "ArMTL[madara]", + "site": "https://ar-mtl.club/", + "lang": "العربية", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/arabic/ArMTL[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/armtl.png" + }, + { + "id": "arnovel", + "name": "ArNovel[madara]", + "site": "https://arnovel.me/", + "lang": "العربية", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/arabic/ArNovel[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/arnovel.png" + }, + { + "id": "hizomanga", + "name": "HizoManga[madara]", + "site": "https://hizomanga.com/", + "lang": "العربية", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/arabic/HizoManga[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/hizomanga.png" + }, + { + "id": "kol-novel", + "name": "Kol Novel[wpmangastream]", + "site": "https://kolnovel.com/", + "lang": "العربية", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/arabic/KolNovel[wpmangastream].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/wpmangastream/icons/kol-novel.png" + }, + { + "id": "kolnovel", + "name": "KolNovel", + "site": "https://kolnovel.lol/", + "lang": "العربية", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/arabic/kolnovel.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/wpmangastream/icons/kolnovel.png" + }, + { + "id": "novel4up", + "name": "Novel4Up[madara]", + "site": "https://novel4up.com/", + "lang": "العربية", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/arabic/Novel4Up[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/novel4up.png" + }, + { + "id": "riwyat", + "name": "Riwyat[madara]", + "site": "https://riwyat.com/", + "lang": "العربية", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/arabic/Riwyat[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/riwyat.png" + }, + { + "id": "teamxnovel", + "name": "TeamXNovel[madara]", + "site": "https://teamxnovel.com/", + "lang": "العربية", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/arabic/TeamXNovel[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/teamxnovel.png" + } + ], + "中文, 汉语, 漢語": [ + { + "id": "linovelib", + "name": "Linovelib", + "site": "https://www.bilinovel.com", + "lang": "中文, 汉语, 漢語", + "version": "1.0.1", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/chinese/linovelib.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/cn/linovelib/icon.png" + } + ], + "English": [ + { + "id": "1stkissnovel", + "name": "FirstKissNovel[madara]", + "site": "https://1stkissnovel.org/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/FirstKissNovel[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/firstkissnovel.png" + }, + { + "id": "anf.net", + "name": "AllNovelFull", + "site": "https://allnovelfull.net", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/allnovelfull.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/allnovelfull/icon.png" + }, + { + "id": "BLN.com", + "name": "BestLightNovel", + "site": "https://bestlightnovel.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/bestlightnovel.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/bestlightnovel/icon.png" + }, + { + "id": "boxnovel", + "name": "BoxNovel[madara]", + "site": "https://boxnovel.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/BoxNovel[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/boxnovel.png" + }, + { + "id": "clicknovel", + "name": "ClickNovel[madara]", + "site": "https://clicknovel.net/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/ClickNovel[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/clicknovel.png" + }, + { + "id": "comrademao", + "name": "Comrade Mao", + "site": "https://comrademao.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/comrademao.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/comrademao/icon.png" + }, + { + "id": "cratenovel", + "name": "CrateNovel[madara]", + "site": "https://cratenovel.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/CrateNovel[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/cratenovel.png" + }, + { + "id": "daonovel", + "name": "DaoNovel[madara]", + "site": "https://daonovel.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/DaoNovel[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/daonovel.png" + }, + { + "id": "DDL.com", + "name": "Divine Dao Library", + "site": "https://www.divinedaolibrary.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/divinedaolibrary.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/divinedaolibrary/icon.png" + }, + { + "id": "earlynovel", + "name": "Early Novel", + "site": "https://earlynovel.net/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/earlynovel.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/latestnovel.png" + }, + { + "id": "fanTLS", + "name": "Fans Translations[madara]", + "site": "https://fanstranslations.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/FansTranslations[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/fanstranslations.png" + }, + { + "id": "foxaholic", + "name": "Foxaholic", + "site": "https://www.foxaholic.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/foxaholic.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/foxaholic/icon.png" + }, + { + "id": "freenovel.me", + "name": "FreeNovelMe[madara]", + "site": "https://freenovel.me/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/FreeNovelMe[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/freenovelme.png" + }, + { + "id": "FWN.com", + "name": "Web NOVEL", + "site": "https://freewebnovel.com", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/freewebnovel.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/freewebnovel/icon.png" + }, + { + "id": "guavaread", + "name": "Guavaread[madara]", + "site": "https://guavaread.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/Guavaread[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/guavaread.png" + }, + { + "id": "lightnovelpub", + "name": "LightNovelPub", + "site": "https://www.lightnovelpub.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/lightnovelpub.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/lightnovelpub/icon.png" + }, + { + "id": "LightNovelUpdates", + "name": "Light Novel Updates", + "site": "https://www.lightnovelupdates.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/lightnovelupdates.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/lightnovelupdates/icon.png" + }, + { + "id": "lightnovelworld", + "name": "LightNovelWorld", + "site": "https://www.webnovelworld.org/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/lightnovelworld.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/lightnovelworld/icon.png" + }, + { + "id": "lnheaven", + "name": "LightNovelHeaven[madara]", + "site": "https://lightnovelheaven.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/LightNovelHeaven[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/lightnovelheaven.png" + }, + { + "id": "Ltnovel.com", + "name": "Ltnovel[readwn]", + "site": "https://www.ltnovel.com", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/Ltnovel[readwn].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/readwn/icons/ltnovel.png" + }, + { + "id": "lunarletters", + "name": "LunarLetters[madara]", + "site": "https://www.lunarletters.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/LunarLetters[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/lunarletters.png" + }, + { + "id": "mostnovel", + "name": "MostNovel[madara]", + "site": "https://mostnovel.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/MostNovel[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/mostnovel.png" + }, + { + "id": "mtl-novel", + "name": "MTL-Novel[madara]", + "site": "https://mtl-novel.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/MTLNovel[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/mtl-novel.png" + }, + { + "id": "mtlnovel", + "name": "MTL Novel", + "site": "https://www.mtlnovel.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/mtlnovel.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/mtlnovel/icon.png" + }, + { + "id": "mtlnovel.club", + "name": "MTLNovel.Club[madara]", + "site": "https://mtlnovel.club/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/MTLNovelClub[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/mtlnovel.club.png" + }, + { + "id": "mtlreader", + "name": "MTL Reader", + "site": "https://mtlreader.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/mtlreader.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/mtlreader/icon.png" + }, + { + "id": "mysticalmerries", + "name": "MysticalSeries[madara]", + "site": "https://mysticalmerries.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/MysticalSeries[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/mysticalseries.png" + }, + { + "id": "neosekaiTLS", + "name": "NeoSekai Translations[madara]", + "site": "https://www.neosekaitranslations.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/NeoSekaiTranslations[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/neosekaitranslations.png" + }, + { + "id": "NF.me", + "name": "NovelFullMe", + "site": "https://novelfull.me/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/NovelFullMe.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/novelfullme/icon.png" + }, + { + "id": "nitromanga", + "name": "Nitro Manga", + "site": "https://nitromanga.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/nitromanga.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/nitromanga/icon.png" + }, + { + "id": "NO.net", + "name": "novelsOnline", + "site": "https://novelsonline.net", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/NovelOnline.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/coverNotAvailable.jpg" + }, + { + "id": "noblemtl", + "name": "NobleMTL", + "site": "https://noblemtl.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/nobleMTL.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/noblemtl/icon.png" + }, + { + "id": "nocturneTLS", + "name": "Nocturne Translations[madara]", + "site": "https://nocturnetls.net/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/NocturneTranslations[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/nocturnetranslations.png" + }, + { + "id": "noobchanTL", + "name": "Noobchan Translation[madara]", + "site": "https://noobchan.xyz/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/NoobchanTranslation[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/noobchantranslation.png" + }, + { + "id": "novelbin", + "name": "Novel Bin", + "site": "https://novelmax.net/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/novelbin.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/novelbin/icon.png" + }, + { + "id": "novelfull", + "name": "NovelFull", + "site": "https://novelfull.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/novelfull.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/novelfull/icon.png" + }, + { + "id": "novelhall", + "name": "Novel Hall", + "site": "https://novelhall.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/novelhall.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/novelhall/icon.png" + }, + { + "id": "novelmultiverse", + "name": "NovelMultiverse[madara]", + "site": "https://www.novelmultiverse.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/NovelMultiverse[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/novelmultiverse.png" + }, + { + "id": "novelr18", + "name": "NovelR18[madara]", + "site": "https://novelr18.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/NovelR18[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/novelr18.png" + }, + { + "id": "novelroom", + "name": "Novelroom.net[madara]", + "site": "https://novelroom.net/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/Novelroomnet[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/novelroom.net.png" + }, + { + "id": "novelstic", + "name": "Novelstic[madara]", + "site": "https://novelstic.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/Novelstic[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/novelstic.png" + }, + { + "id": "novelTL", + "name": "NovelTranslate[madara]", + "site": "https://noveltranslate.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/NovelTranslate[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/noveltranslate.png" + }, + { + "id": "novelupdates", + "name": "Novel Updates", + "site": "https://www.novelupdates.com/", + "lang": "English", + "version": "0.5.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/novelupdates.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/novelupdates/icon.png" + }, + { + "id": "onlymtl", + "name": "OnlyMTL[madara]", + "site": "https://www.onlymtl.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/OnlyMTL[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/onlymtl.png" + }, + { + "id": "pandamtl", + "name": "PandaMTL", + "site": "https://pandamtl.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/pandaMTL.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/wordpress/icon.png" + }, + { + "id": "readwebnovels", + "name": "ReadWebNovels[madara]", + "site": "https://readwebnovels.net/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/ReadWebNovels[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/readwebnovels.png" + }, + { + "id": "sleeptTLS", + "name": "SleepyTranslations[madara]", + "site": "https://sleepytranslations.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/SleepyTranslations[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/sleepytranslations.png" + }, + { + "id": "sonicmtl", + "name": "SonicMTL[madara]", + "site": "https://www.sonicmtl.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/SonicMTL[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/sonicmtl.png" + }, + { + "id": "sugarbbscan", + "name": "Sugar Babies[madara]", + "site": "https://sugarbbscan.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/SugarBabies[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/sugarbabies.png" + }, + { + "id": "sweetEscapeTL", + "name": "Sweet Escape Translations[madara]", + "site": "https://sweetescapetranslations.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/SweetEscapeTranslations[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/sweetescapetranslations.png" + }, + { + "id": "webnovelover", + "name": "WebNovelLover[madara]", + "site": "https://www.webnovelover.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/WebNovelLover[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/webnovellover.png" + }, + { + "id": "wuxiacity", + "name": "Wuxiacity[readwn]", + "site": "https://www.wuxiacity.com", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/Wuxiacity[readwn].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/readwn/icons/wuxiacity.png" + }, + { + "id": "wuxiap", + "name": "Wuxiap[readwn]", + "site": "https://www.wuxiap.com", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/Wuxiap[readwn].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/readwn/icons/wuxiap.png" + }, + { + "id": "wuxiaworld", + "name": "Wuxia World", + "site": "https://www.wuxiaworld.com/", + "lang": "English", + "version": "0.5.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/wuxiaworld.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/wuxiaworld/icon.png" + }, + { + "id": "wuxiaworld.site", + "name": "WuxiaWorld.Site[madara]", + "site": "https://wuxiaworld.site/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/WuxiaWorldSite[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/wuxiaworld.site.png" + }, + { + "id": "zetroTL", + "name": "Zetro Translation[madara]", + "site": "https://zetrotranslation.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/ZetroTranslation[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/zetrotranslation.png" + }, + { + "id": "zinnovel", + "name": "ZinnNovel[madara]", + "site": "https://zinnovel.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/ZinnNovel[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/zinnnovel.png" + } + ], + "français, française": [ + { + "id": "chireads.com", + "name": "Chireads", + "site": "https://chireads.com", + "lang": "français, française", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/french/chireads.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/fr/chireads/icon.png" + }, + { + "id": "lightnovelfr", + "name": "Ligh Novel FR[wpmangastream]", + "site": "https://lightnovelfr.com/", + "lang": "français, française", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/french/LighNovelFR[wpmangastream].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/wpmangastream/icons/lightnovelfr.png" + }, + { + "id": "NDG.com", + "name": "NovelDeGlace", + "site": "https://noveldeglace.com/", + "lang": "français, française", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/french/noveldeglace.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/fr/noveldeglace/icon.png" + } + ], + "Bahasa Indonesia": [ + { + "id": "IDWN.id", + "name": "IndoWebNovel", + "site": "https://indowebnovel.id/id/", + "lang": "Bahasa Indonesia", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/indonesian/indowebnovel.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/id/indowebnovel/icon.png" + }, + { + "id": "meionovel", + "name": "MeioNovel[madara]", + "site": "https://meionovel.id/", + "lang": "Bahasa Indonesia", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/indonesian/MeioNovel[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/meionovel.png" + }, + { + "id": "morenovel", + "name": "MoreNovel[madara]", + "site": "https://morenovel.net/", + "lang": "Bahasa Indonesia", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/indonesian/MoreNovel[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/morenovel.png" + }, + { + "id": "novelringan.com", + "name": "NovelRingan", + "site": "https://novelringan.com/", + "lang": "Bahasa Indonesia", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/indonesian/novelringan.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/id/novelringan/icon.png" + }, + { + "id": "sakura.id", + "name": "SakuraNovel", + "site": "https://sakuranovel.id/", + "lang": "Bahasa Indonesia", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/indonesian/sakuranovel.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/id/sakuranovel/icon.png" + }, + { + "id": "wbnovel", + "name": "WBNovel[madara]", + "site": "https://wbnovel.com/", + "lang": "Bahasa Indonesia", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/indonesian/WBNovel[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/wbnovel.png" + } + ], + "日本語": [ + { + "id": "yomou.syosetu", + "name": "Syosetu", + "site": "https://yomou.syosetu.com/", + "lang": "日本語", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/japanese/Syosetu.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/jp/syosetu/icon.png" + } + ], + "한국어, 조선말": [ + { + "id": "agit.xyz", + "name": "Agitoon", + "site": "https://agit501.xyz/", + "lang": "한국어, 조선말", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/korean/Agitoon.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/kr/agitoon/agit.png" + } + ], + "Português": [ + { + "id": "lightnovelbrasil", + "name": "Light Novel Brasil", + "site": "https://lightnovelbrasil.com/", + "lang": "Português", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/portuguese/lightnovelbrasil.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/wpmangastream/icons/lightnovelbrasil.png" + } + ], + "русский язык": [ + { + "id": "AT", + "name": "Автор Тудей", + "site": "https://author.today", + "lang": "русский язык", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/authortoday.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/authortoday/icon.png" + }, + { + "id": "bookhamster", + "name": "Bookhamster[ifreedom]", + "site": "https://bookhamster.ru", + "lang": "русский язык", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/Bookhamster[ifreedom].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/ifreedom/icons/bookhamster.png" + }, + { + "id": "bookriver", + "name": "Bookriver", + "site": "https://bookriver.ru", + "lang": "русский язык", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/bookriver.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/bookriver/icon.png" + }, + { + "id": "erolate", + "name": "Erolate[rulate]", + "site": "https://erolate.com", + "lang": "русский язык", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/Erolate[rulate].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/rulate/icons/erolate.png" + }, + { + "id": "ficbook", + "name": "ficbook", + "site": "https://ficbook.net", + "lang": "русский язык", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/ficbook.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/ficbook/icon.png" + }, + { + "id": "freedlit.space", + "name": "LitSpace", + "site": "https://freedlit.space", + "lang": "русский язык", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/LitSpace.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/freedlit/icon.png" + }, + { + "id": "ifreedom", + "name": "Свободный Мир Ранобэ[ifreedom]", + "site": "https://ifreedom.su", + "lang": "русский язык", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/СвободныйМирРанобэ[ifreedom].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/ifreedom/icons/ifreedom.png" + }, + { + "id": "jaomix.ru", + "name": "Jaomix", + "site": "https://jaomix.ru", + "lang": "русский язык", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/jaomix.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/jaomix/icon.png" + }, + { + "id": "ReN", + "name": "Renovels", + "site": "https://renovels.org", + "lang": "русский язык", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/renovels.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/renovels/icon.png" + }, + { + "id": "RLIB", + "name": "RanobeLib", + "site": "https://ranobelib.me", + "lang": "русский язык", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/ranobelib.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/ranobelib/icon.png" + }, + { + "id": "RNBH.org", + "name": "RanobeHub", + "site": "https://ranobehub.org/", + "lang": "русский язык", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/ranobehub.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/ranobehub/icon.png" + }, + { + "id": "RNRF", + "name": "РанобэРФ", + "site": "https://ранобэ.рф", + "lang": "русский язык", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/ranoberf.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/ranoberf/icon.png" + }, + { + "id": "TL", + "name": "NovelTL", + "site": "https://novel.tl", + "lang": "русский язык", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/novelTL.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/noveltl/icon.png" + }, + { + "id": "tl.rulate", + "name": "Rulate[rulate]", + "site": "https://tl.rulate.ru", + "lang": "русский язык", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/Rulate[rulate].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/rulate/icons/rulate.png" + } + ], + "español, castellano": [ + { + "id": "awuxia.com", + "name": "ReinoWuxia", + "site": "http://www.reinowuxia.com/", + "lang": "español, castellano", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/spanish/novelawuxia.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/es/novelawuxia/icon.png" + }, + { + "id": "HasuTL", + "name": "Hasu Translations", + "site": "https://hasutl.wordpress.com/", + "lang": "español, castellano", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/spanish/hasutl.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/es/hasutl/icon.png" + }, + { + "id": "ligera.com", + "name": "Novelas Ligera", + "site": "https://novelasligera.com/", + "lang": "español, castellano", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/spanish/novelasligera.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/es/novelasligera/icon.png" + }, + { + "id": "oasisTL.wp", + "name": "Oasis Translations", + "site": "https://oasistranslations.wordpress.com/", + "lang": "español, castellano", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/spanish/oasistranslations.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/es/oasistranslations/icon.png" + }, + { + "id": "skynovels.net", + "name": "SkyNovels", + "site": "https://www.skynovels.net/", + "lang": "español, castellano", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/spanish/skynovels.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/es/skynovels/icon.png" + }, + { + "id": "tunovelaligera", + "name": "TuNovelaLigera", + "site": "https://tunovelaligera.com/", + "lang": "español, castellano", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/spanish/tunovelaligera.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/es/tunovelaligera/icon.png" + }, + { + "id": "yuukitls.com", + "name": "Yuuki Tls", + "site": "https://yuukitls.com/", + "lang": "español, castellano", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/spanish/yukitls.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/es/yuukitls/icon.png" + } + ], + "Türkçe": [ + { + "id": "epiknovel.com", + "name": "EpikNovel", + "site": "https://www.epiknovel.com/", + "lang": "Türkçe", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/turkish/epiknovel.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/tr/epiknovel/icon.png" + }, + { + "id": "lshnovel", + "name": "Liebe Schnee Hiver Novel", + "site": "https://lshnovel.com/", + "lang": "Türkçe", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/turkish/lshnovel.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/wpmangastream/icons/lshnovel.png" + }, + { + "id": "turkcelightnovels", + "name": "TurkceLightNovels[madara]", + "site": "https://turkcelightnovels.com/", + "lang": "Türkçe", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/turkish/TurkceLightNovels[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/turkcelightnovels.png" + }, + { + "id": "webnoveloku", + "name": "WebNovelOku [madara]", + "site": "https://www.webnoveloku.com/", + "lang": "Türkçe", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/turkish/WebNovelOku[madara].js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/webnoveloku.png" + } + ], + "Україна": [ + { + "id": "smakolykytl", + "name": "Смаколики", + "site": "https://smakolykytl.site/", + "lang": "Україна", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/ukraine/smakolykytl.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ua/smakolykytl/icon.png" + } + ], + "Tiếng Việt": [ + { + "id": "ln.hako", + "name": "Hako", + "site": "https://ln.hako.vn", + "lang": "Tiếng Việt", + "version": "1.0.1", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/vietnamese/LNHako.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/vi/hakolightnovel/icon.png" + }, + { + "id": "truyenfull", + "name": "Truyện Full", + "site": "https://truyenfull.vn", + "lang": "Tiếng Việt", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/vietnamese/truyenfull.js", + "iconUrl": "https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/vi/truyenfull/icon.png" + } + ] +} \ No newline at end of file diff --git a/.dist/K1ngfish3r/plugins.min.json b/.dist/K1ngfish3r/plugins.min.json new file mode 100644 index 0000000..6cd744e --- /dev/null +++ b/.dist/K1ngfish3r/plugins.min.json @@ -0,0 +1 @@ +{"العربية":[{"id":"ar-mtl","name":"ArMTL[madara]","site":"https://ar-mtl.club/","lang":"العربية","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/arabic/ArMTL[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/armtl.png"},{"id":"arnovel","name":"ArNovel[madara]","site":"https://arnovel.me/","lang":"العربية","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/arabic/ArNovel[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/arnovel.png"},{"id":"hizomanga","name":"HizoManga[madara]","site":"https://hizomanga.com/","lang":"العربية","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/arabic/HizoManga[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/hizomanga.png"},{"id":"kol-novel","name":"Kol Novel[wpmangastream]","site":"https://kolnovel.com/","lang":"العربية","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/arabic/KolNovel[wpmangastream].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/wpmangastream/icons/kol-novel.png"},{"id":"kolnovel","name":"KolNovel","site":"https://kolnovel.lol/","lang":"العربية","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/arabic/kolnovel.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/wpmangastream/icons/kolnovel.png"},{"id":"novel4up","name":"Novel4Up[madara]","site":"https://novel4up.com/","lang":"العربية","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/arabic/Novel4Up[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/novel4up.png"},{"id":"riwyat","name":"Riwyat[madara]","site":"https://riwyat.com/","lang":"العربية","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/arabic/Riwyat[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/riwyat.png"},{"id":"teamxnovel","name":"TeamXNovel[madara]","site":"https://teamxnovel.com/","lang":"العربية","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/arabic/TeamXNovel[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/teamxnovel.png"}],"中文, 汉语, 漢語":[{"id":"linovelib","name":"Linovelib","site":"https://www.bilinovel.com","lang":"中文, 汉语, 漢語","version":"1.0.1","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/chinese/linovelib.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/cn/linovelib/icon.png"}],"English":[{"id":"1stkissnovel","name":"FirstKissNovel[madara]","site":"https://1stkissnovel.org/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/FirstKissNovel[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/firstkissnovel.png"},{"id":"anf.net","name":"AllNovelFull","site":"https://allnovelfull.net","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/allnovelfull.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/allnovelfull/icon.png"},{"id":"BLN.com","name":"BestLightNovel","site":"https://bestlightnovel.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/bestlightnovel.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/bestlightnovel/icon.png"},{"id":"boxnovel","name":"BoxNovel[madara]","site":"https://boxnovel.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/BoxNovel[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/boxnovel.png"},{"id":"clicknovel","name":"ClickNovel[madara]","site":"https://clicknovel.net/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/ClickNovel[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/clicknovel.png"},{"id":"comrademao","name":"Comrade Mao","site":"https://comrademao.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/comrademao.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/comrademao/icon.png"},{"id":"cratenovel","name":"CrateNovel[madara]","site":"https://cratenovel.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/CrateNovel[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/cratenovel.png"},{"id":"daonovel","name":"DaoNovel[madara]","site":"https://daonovel.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/DaoNovel[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/daonovel.png"},{"id":"DDL.com","name":"Divine Dao Library","site":"https://www.divinedaolibrary.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/divinedaolibrary.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/divinedaolibrary/icon.png"},{"id":"earlynovel","name":"Early Novel","site":"https://earlynovel.net/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/earlynovel.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/latestnovel.png"},{"id":"fanTLS","name":"Fans Translations[madara]","site":"https://fanstranslations.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/FansTranslations[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/fanstranslations.png"},{"id":"foxaholic","name":"Foxaholic","site":"https://www.foxaholic.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/foxaholic.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/foxaholic/icon.png"},{"id":"freenovel.me","name":"FreeNovelMe[madara]","site":"https://freenovel.me/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/FreeNovelMe[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/freenovelme.png"},{"id":"FWN.com","name":"Web NOVEL","site":"https://freewebnovel.com","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/freewebnovel.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/freewebnovel/icon.png"},{"id":"guavaread","name":"Guavaread[madara]","site":"https://guavaread.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/Guavaread[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/guavaread.png"},{"id":"lightnovelpub","name":"LightNovelPub","site":"https://www.lightnovelpub.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/lightnovelpub.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/lightnovelpub/icon.png"},{"id":"LightNovelUpdates","name":"Light Novel Updates","site":"https://www.lightnovelupdates.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/lightnovelupdates.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/lightnovelupdates/icon.png"},{"id":"lightnovelworld","name":"LightNovelWorld","site":"https://www.webnovelworld.org/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/lightnovelworld.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/lightnovelworld/icon.png"},{"id":"lnheaven","name":"LightNovelHeaven[madara]","site":"https://lightnovelheaven.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/LightNovelHeaven[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/lightnovelheaven.png"},{"id":"Ltnovel.com","name":"Ltnovel[readwn]","site":"https://www.ltnovel.com","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/Ltnovel[readwn].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/readwn/icons/ltnovel.png"},{"id":"lunarletters","name":"LunarLetters[madara]","site":"https://www.lunarletters.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/LunarLetters[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/lunarletters.png"},{"id":"mostnovel","name":"MostNovel[madara]","site":"https://mostnovel.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/MostNovel[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/mostnovel.png"},{"id":"mtl-novel","name":"MTL-Novel[madara]","site":"https://mtl-novel.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/MTLNovel[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/mtl-novel.png"},{"id":"mtlnovel","name":"MTL Novel","site":"https://www.mtlnovel.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/mtlnovel.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/mtlnovel/icon.png"},{"id":"mtlnovel.club","name":"MTLNovel.Club[madara]","site":"https://mtlnovel.club/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/MTLNovelClub[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/mtlnovel.club.png"},{"id":"mtlreader","name":"MTL Reader","site":"https://mtlreader.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/mtlreader.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/mtlreader/icon.png"},{"id":"mysticalmerries","name":"MysticalSeries[madara]","site":"https://mysticalmerries.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/MysticalSeries[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/mysticalseries.png"},{"id":"neosekaiTLS","name":"NeoSekai Translations[madara]","site":"https://www.neosekaitranslations.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/NeoSekaiTranslations[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/neosekaitranslations.png"},{"id":"NF.me","name":"NovelFullMe","site":"https://novelfull.me/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/NovelFullMe.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/novelfullme/icon.png"},{"id":"nitromanga","name":"Nitro Manga","site":"https://nitromanga.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/nitromanga.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/nitromanga/icon.png"},{"id":"NO.net","name":"novelsOnline","site":"https://novelsonline.net","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/NovelOnline.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/coverNotAvailable.jpg"},{"id":"noblemtl","name":"NobleMTL","site":"https://noblemtl.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/nobleMTL.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/noblemtl/icon.png"},{"id":"nocturneTLS","name":"Nocturne Translations[madara]","site":"https://nocturnetls.net/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/NocturneTranslations[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/nocturnetranslations.png"},{"id":"noobchanTL","name":"Noobchan Translation[madara]","site":"https://noobchan.xyz/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/NoobchanTranslation[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/noobchantranslation.png"},{"id":"novelbin","name":"Novel Bin","site":"https://novelmax.net/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/novelbin.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/novelbin/icon.png"},{"id":"novelfull","name":"NovelFull","site":"https://novelfull.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/novelfull.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/novelfull/icon.png"},{"id":"novelhall","name":"Novel Hall","site":"https://novelhall.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/novelhall.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/novelhall/icon.png"},{"id":"novelmultiverse","name":"NovelMultiverse[madara]","site":"https://www.novelmultiverse.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/NovelMultiverse[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/novelmultiverse.png"},{"id":"novelr18","name":"NovelR18[madara]","site":"https://novelr18.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/NovelR18[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/novelr18.png"},{"id":"novelroom","name":"Novelroom.net[madara]","site":"https://novelroom.net/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/Novelroomnet[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/novelroom.net.png"},{"id":"novelstic","name":"Novelstic[madara]","site":"https://novelstic.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/Novelstic[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/novelstic.png"},{"id":"novelTL","name":"NovelTranslate[madara]","site":"https://noveltranslate.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/NovelTranslate[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/noveltranslate.png"},{"id":"novelupdates","name":"Novel Updates","site":"https://www.novelupdates.com/","lang":"English","version":"0.5.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/novelupdates.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/novelupdates/icon.png"},{"id":"onlymtl","name":"OnlyMTL[madara]","site":"https://www.onlymtl.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/OnlyMTL[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/onlymtl.png"},{"id":"pandamtl","name":"PandaMTL","site":"https://pandamtl.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/pandaMTL.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/wordpress/icon.png"},{"id":"readwebnovels","name":"ReadWebNovels[madara]","site":"https://readwebnovels.net/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/ReadWebNovels[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/readwebnovels.png"},{"id":"sleeptTLS","name":"SleepyTranslations[madara]","site":"https://sleepytranslations.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/SleepyTranslations[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/sleepytranslations.png"},{"id":"sonicmtl","name":"SonicMTL[madara]","site":"https://www.sonicmtl.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/SonicMTL[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/sonicmtl.png"},{"id":"sugarbbscan","name":"Sugar Babies[madara]","site":"https://sugarbbscan.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/SugarBabies[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/sugarbabies.png"},{"id":"sweetEscapeTL","name":"Sweet Escape Translations[madara]","site":"https://sweetescapetranslations.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/SweetEscapeTranslations[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/sweetescapetranslations.png"},{"id":"webnovelover","name":"WebNovelLover[madara]","site":"https://www.webnovelover.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/WebNovelLover[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/webnovellover.png"},{"id":"wuxiacity","name":"Wuxiacity[readwn]","site":"https://www.wuxiacity.com","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/Wuxiacity[readwn].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/readwn/icons/wuxiacity.png"},{"id":"wuxiap","name":"Wuxiap[readwn]","site":"https://www.wuxiap.com","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/Wuxiap[readwn].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/readwn/icons/wuxiap.png"},{"id":"wuxiaworld","name":"Wuxia World","site":"https://www.wuxiaworld.com/","lang":"English","version":"0.5.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/wuxiaworld.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/en/wuxiaworld/icon.png"},{"id":"wuxiaworld.site","name":"WuxiaWorld.Site[madara]","site":"https://wuxiaworld.site/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/WuxiaWorldSite[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/wuxiaworld.site.png"},{"id":"zetroTL","name":"Zetro Translation[madara]","site":"https://zetrotranslation.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/ZetroTranslation[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/zetrotranslation.png"},{"id":"zinnovel","name":"ZinnNovel[madara]","site":"https://zinnovel.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/english/ZinnNovel[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/zinnnovel.png"}],"français, française":[{"id":"chireads.com","name":"Chireads","site":"https://chireads.com","lang":"français, française","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/french/chireads.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/fr/chireads/icon.png"},{"id":"lightnovelfr","name":"Ligh Novel FR[wpmangastream]","site":"https://lightnovelfr.com/","lang":"français, française","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/french/LighNovelFR[wpmangastream].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/wpmangastream/icons/lightnovelfr.png"},{"id":"NDG.com","name":"NovelDeGlace","site":"https://noveldeglace.com/","lang":"français, française","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/french/noveldeglace.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/fr/noveldeglace/icon.png"}],"Bahasa Indonesia":[{"id":"IDWN.id","name":"IndoWebNovel","site":"https://indowebnovel.id/id/","lang":"Bahasa Indonesia","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/indonesian/indowebnovel.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/id/indowebnovel/icon.png"},{"id":"meionovel","name":"MeioNovel[madara]","site":"https://meionovel.id/","lang":"Bahasa Indonesia","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/indonesian/MeioNovel[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/meionovel.png"},{"id":"morenovel","name":"MoreNovel[madara]","site":"https://morenovel.net/","lang":"Bahasa Indonesia","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/indonesian/MoreNovel[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/morenovel.png"},{"id":"novelringan.com","name":"NovelRingan","site":"https://novelringan.com/","lang":"Bahasa Indonesia","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/indonesian/novelringan.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/id/novelringan/icon.png"},{"id":"sakura.id","name":"SakuraNovel","site":"https://sakuranovel.id/","lang":"Bahasa Indonesia","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/indonesian/sakuranovel.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/id/sakuranovel/icon.png"},{"id":"wbnovel","name":"WBNovel[madara]","site":"https://wbnovel.com/","lang":"Bahasa Indonesia","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/indonesian/WBNovel[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/wbnovel.png"}],"日本語":[{"id":"yomou.syosetu","name":"Syosetu","site":"https://yomou.syosetu.com/","lang":"日本語","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/japanese/Syosetu.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/jp/syosetu/icon.png"}],"한국어, 조선말":[{"id":"agit.xyz","name":"Agitoon","site":"https://agit501.xyz/","lang":"한국어, 조선말","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/korean/Agitoon.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/kr/agitoon/agit.png"}],"Português":[{"id":"lightnovelbrasil","name":"Light Novel Brasil","site":"https://lightnovelbrasil.com/","lang":"Português","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/portuguese/lightnovelbrasil.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/wpmangastream/icons/lightnovelbrasil.png"}],"русский язык":[{"id":"AT","name":"Автор Тудей","site":"https://author.today","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/authortoday.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/authortoday/icon.png"},{"id":"bookhamster","name":"Bookhamster[ifreedom]","site":"https://bookhamster.ru","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/Bookhamster[ifreedom].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/ifreedom/icons/bookhamster.png"},{"id":"bookriver","name":"Bookriver","site":"https://bookriver.ru","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/bookriver.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/bookriver/icon.png"},{"id":"erolate","name":"Erolate[rulate]","site":"https://erolate.com","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/Erolate[rulate].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/rulate/icons/erolate.png"},{"id":"ficbook","name":"ficbook","site":"https://ficbook.net","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/ficbook.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/ficbook/icon.png"},{"id":"freedlit.space","name":"LitSpace","site":"https://freedlit.space","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/LitSpace.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/freedlit/icon.png"},{"id":"ifreedom","name":"Свободный Мир Ранобэ[ifreedom]","site":"https://ifreedom.su","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/СвободныйМирРанобэ[ifreedom].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/ifreedom/icons/ifreedom.png"},{"id":"jaomix.ru","name":"Jaomix","site":"https://jaomix.ru","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/jaomix.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/jaomix/icon.png"},{"id":"ReN","name":"Renovels","site":"https://renovels.org","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/renovels.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/renovels/icon.png"},{"id":"RLIB","name":"RanobeLib","site":"https://ranobelib.me","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/ranobelib.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/ranobelib/icon.png"},{"id":"RNBH.org","name":"RanobeHub","site":"https://ranobehub.org/","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/ranobehub.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/ranobehub/icon.png"},{"id":"RNRF","name":"РанобэРФ","site":"https://ранобэ.рф","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/ranoberf.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/ranoberf/icon.png"},{"id":"TL","name":"NovelTL","site":"https://novel.tl","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/novelTL.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ru/noveltl/icon.png"},{"id":"tl.rulate","name":"Rulate[rulate]","site":"https://tl.rulate.ru","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/russian/Rulate[rulate].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/rulate/icons/rulate.png"}],"español, castellano":[{"id":"awuxia.com","name":"ReinoWuxia","site":"http://www.reinowuxia.com/","lang":"español, castellano","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/spanish/novelawuxia.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/es/novelawuxia/icon.png"},{"id":"HasuTL","name":"Hasu Translations","site":"https://hasutl.wordpress.com/","lang":"español, castellano","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/spanish/hasutl.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/es/hasutl/icon.png"},{"id":"ligera.com","name":"Novelas Ligera","site":"https://novelasligera.com/","lang":"español, castellano","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/spanish/novelasligera.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/es/novelasligera/icon.png"},{"id":"oasisTL.wp","name":"Oasis Translations","site":"https://oasistranslations.wordpress.com/","lang":"español, castellano","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/spanish/oasistranslations.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/es/oasistranslations/icon.png"},{"id":"skynovels.net","name":"SkyNovels","site":"https://www.skynovels.net/","lang":"español, castellano","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/spanish/skynovels.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/es/skynovels/icon.png"},{"id":"tunovelaligera","name":"TuNovelaLigera","site":"https://tunovelaligera.com/","lang":"español, castellano","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/spanish/tunovelaligera.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/es/tunovelaligera/icon.png"},{"id":"yuukitls.com","name":"Yuuki Tls","site":"https://yuukitls.com/","lang":"español, castellano","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/spanish/yukitls.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/es/yuukitls/icon.png"}],"Türkçe":[{"id":"epiknovel.com","name":"EpikNovel","site":"https://www.epiknovel.com/","lang":"Türkçe","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/turkish/epiknovel.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/tr/epiknovel/icon.png"},{"id":"lshnovel","name":"Liebe Schnee Hiver Novel","site":"https://lshnovel.com/","lang":"Türkçe","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/turkish/lshnovel.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/wpmangastream/icons/lshnovel.png"},{"id":"turkcelightnovels","name":"TurkceLightNovels[madara]","site":"https://turkcelightnovels.com/","lang":"Türkçe","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/turkish/TurkceLightNovels[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/turkcelightnovels.png"},{"id":"webnoveloku","name":"WebNovelOku [madara]","site":"https://www.webnoveloku.com/","lang":"Türkçe","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/turkish/WebNovelOku[madara].js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/multisrc/madara/icons/webnoveloku.png"}],"Україна":[{"id":"smakolykytl","name":"Смаколики","site":"https://smakolykytl.site/","lang":"Україна","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/ukraine/smakolykytl.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/ua/smakolykytl/icon.png"}],"Tiếng Việt":[{"id":"ln.hako","name":"Hako","site":"https://ln.hako.vn","lang":"Tiếng Việt","version":"1.0.1","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/vietnamese/LNHako.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/vi/hakolightnovel/icon.png"},{"id":"truyenfull","name":"Truyện Full","site":"https://truyenfull.vn","lang":"Tiếng Việt","version":"1.0.0","url":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/.js/plugins/vietnamese/truyenfull.js","iconUrl":"https://raw.githubusercontent.com/K1ngfish3r/lnreader-sources/master/icons/src/vi/truyenfull/icon.png"}]} \ No newline at end of file diff --git a/.js/plugins/english/nobleMTL.js b/.js/plugins/english/nobleMTL.js index 2a9271a..26daf1b 100644 --- a/.js/plugins/english/nobleMTL.js +++ b/.js/plugins/english/nobleMTL.js @@ -49,7 +49,6 @@ var NobleMTL = /** @class */ (function () { this.filters = { order: { label: "Sort By", - type: filterInputs_1.FilterTypes.Picker, options: [ { label: "Default", value: "" }, { label: "A-Z", value: "title" }, @@ -58,6 +57,7 @@ var NobleMTL = /** @class */ (function () { { label: "Latest Added", value: "latest" }, { label: "Popular", value: "popular" }, ], + type: filterInputs_1.FilterTypes.Picker, value: "", }, status: { @@ -86,7 +86,6 @@ var NobleMTL = /** @class */ (function () { }, genres: { label: "Genres", - value: [], options: [ { label: "A.I", value: "a.i" }, { label: "Academy", value: "academy" }, @@ -176,13 +175,32 @@ var NobleMTL = /** @class */ (function () { { label: "Yuri", value: "yuri" }, ], type: filterInputs_1.FilterTypes.CheckboxGroup, + value: [], }, }; } + NobleMTL.prototype.parseNovels = function (loadedCheerio) { + var novels = []; + loadedCheerio("article.bs").each(function () { + var novelName = loadedCheerio(this).find(".ntitle").text().trim(); + var image = loadedCheerio(this).find("img"); + var novelCover = image.attr("data-src") || image.attr("src"); + var novelUrl = loadedCheerio(this).find("a").attr("href"); + if (!novelUrl) + return; + var novel = { + name: novelName, + cover: novelCover, + url: novelUrl, + }; + novels.push(novel); + }); + return novels; + }; NobleMTL.prototype.popularNovels = function (pageNo, _a) { var filters = _a.filters; return __awaiter(this, void 0, void 0, function () { - var link, headers, body, loadedCheerio, novels; + var link, headers, body, loadedCheerio; return __generator(this, function (_b) { switch (_b.label) { case 0: @@ -200,22 +218,7 @@ var NobleMTL = /** @class */ (function () { case 1: body = _b.sent(); loadedCheerio = (0, cheerio_1.load)(body); - novels = []; - loadedCheerio("article.bs").each(function () { - var novelName = loadedCheerio(this).find(".ntitle").text().trim(); - var image = loadedCheerio(this).find("img"); - var novelCover = image.attr("data-src") || image.attr("src"); - var novelUrl = loadedCheerio(this).find("a").attr("href"); - if (!novelUrl) - return; - var novel = { - name: novelName, - cover: novelCover, - url: novelUrl, - }; - novels.push(novel); - }); - return [2 /*return*/, novels]; + return [2 /*return*/, this.parseNovels(loadedCheerio)]; } }); }); @@ -318,11 +321,11 @@ var NobleMTL = /** @class */ (function () { }; NobleMTL.prototype.searchNovels = function (searchTerm, pageNo) { return __awaiter(this, void 0, void 0, function () { - var url, headers, result, body, loadedCheerio, novels; + var url, headers, result, body, loadedCheerio; return __generator(this, function (_a) { switch (_a.label) { case 0: - url = "".concat(this.site, "?s=").concat(searchTerm); + url = "".concat(this.site, "page/").concat(pageNo, "/?s=").concat(searchTerm); headers = new Headers(); return [4 /*yield*/, (0, fetch_1.fetchApi)(url, { headers: headers })]; case 1: @@ -331,20 +334,7 @@ var NobleMTL = /** @class */ (function () { case 2: body = _a.sent(); loadedCheerio = (0, cheerio_1.load)(body); - novels = []; - loadedCheerio("article.bs").each(function () { - var novelName = loadedCheerio(this).find(".ntitle").text().trim(); - var novelCover = loadedCheerio(this).find("img").attr("src"); - var novelUrl = loadedCheerio(this).find("a").attr("href"); - if (!novelUrl) - return; - novels.push({ - name: novelName, - url: novelUrl, - cover: novelCover, - }); - }); - return [2 /*return*/, novels]; + return [2 /*return*/, this.parseNovels(loadedCheerio)]; } }); }); @@ -361,5 +351,4 @@ var NobleMTL = /** @class */ (function () { }; return NobleMTL; }()); -var Noble = new NobleMTL(); exports.default = new NobleMTL(); diff --git a/.js/plugins/english/novelupdates.js b/.js/plugins/english/novelupdates.js index f102ff2..5efebfe 100644 --- a/.js/plugins/english/novelupdates.js +++ b/.js/plugins/english/novelupdates.js @@ -46,11 +46,10 @@ var NovelUpdates = /** @class */ (function () { this.version = "0.5.0"; this.icon = "src/en/novelupdates/icon.png"; this.site = "https://www.novelupdates.com/"; - this.baseUrl = this.site; this.filters = { sort: { label: "Sort Results By", - type: filterInputs_1.FilterTypes.Picker, + value: "sdate", options: [ { label: "Last Updated", value: "sdate" }, { label: "Rating", value: "srate" }, @@ -61,31 +60,33 @@ var NovelUpdates = /** @class */ (function () { { label: "Readers", value: "sread" }, { label: "Frequency", value: "sfrel" }, ], - value: "sdate", + type: filterInputs_1.FilterTypes.Picker, }, order: { label: "Order", - type: filterInputs_1.FilterTypes.Picker, + value: "desc", options: [ { label: "Descending", value: "desc" }, { label: "Ascending", value: "asc" }, ], - value: "asc" + type: filterInputs_1.FilterTypes.Picker, }, storyStatus: { label: "Story Status (Translation)", - type: filterInputs_1.FilterTypes.Picker, + value: "", options: [ { label: "All", value: "" }, { label: "Completed", value: "2" }, { label: "Ongoing", value: "3" }, { label: "Hiatus", value: "4" }, ], - value: "" + type: filterInputs_1.FilterTypes.Picker, }, language: { label: "Language", + value: [], options: [ + { label: "None", value: "" }, { label: "Chinese", value: "495" }, { label: "Filipino", value: "9181" }, { label: "Indonesian", value: "9179" }, @@ -96,23 +97,25 @@ var NovelUpdates = /** @class */ (function () { { label: "Thai", value: "9954" }, { label: "Vietnamese", value: "9177" }, ], - type: filterInputs_1.FilterTypes.Picker, - value: "" + type: filterInputs_1.FilterTypes.CheckboxGroup, }, novelType: { label: "Novel Type", - type: filterInputs_1.FilterTypes.CheckboxGroup, value: [], options: [ { label: "Light Novel", value: "2443" }, { label: "Published Novel", value: "26874" }, { label: "Web Novel", value: "2444" }, - ] + ], + type: filterInputs_1.FilterTypes.CheckboxGroup, }, genres: { label: "Genres", - type: filterInputs_1.FilterTypes.CheckboxGroup, - value: [], + type: filterInputs_1.FilterTypes.ExcludableCheckboxGroup, + value: { + include: [], + exclude: [], + }, options: [ { label: "Action", value: "8" }, { label: "Adult", value: "280" }, @@ -149,84 +152,84 @@ var NovelUpdates = /** @class */ (function () { { label: "Xuanhuan", value: "3954" }, { label: "Yaoi", value: "560" }, { label: "Yuri", value: "922" }, - ] - } + ], + }, + genre_operator: { + label: "Genre (AND/OR)", + value: "and", + options: [ + { label: "AND", value: "and" }, + { label: "OR", value: "or" }, + ], + type: filterInputs_1.FilterTypes.Picker, + }, }; } - NovelUpdates.prototype.getPopularNovelsUrl = function (page, _a) { - var _b, _c, _d; - var showLatestNovels = _a.showLatestNovels, filters = _a.filters; - var url = "".concat(this.baseUrl).concat(filters - ? "series-finder" - : showLatestNovels - ? "latest-series" - : "series-ranking", "/"); - if (!filters) { - url += "?rank=week"; - } - else { - url += "?sf=1"; - } - if (filters) { - if (Array.isArray(filters.novelType) && ((_b = filters.novelType) === null || _b === void 0 ? void 0 : _b.length)) { - url += "&nt=" + (filters === null || filters === void 0 ? void 0 : filters.novelType.join(",")); - } - if (Array.isArray(filters.genres) && ((_c = filters.genres) === null || _c === void 0 ? void 0 : _c.length)) { - url += "&gi=" + (filters === null || filters === void 0 ? void 0 : filters.genres.join(",")) + "&mgi=and"; - } - if (Array.isArray(filters.language) && ((_d = filters.language) === null || _d === void 0 ? void 0 : _d.length)) { - url += "&org=" + (filters === null || filters === void 0 ? void 0 : filters.language.join(",")); - } - if (filters.storyStatus) { - url += "&ss=" + (filters === null || filters === void 0 ? void 0 : filters.storyStatus); - } - } - if (!(filters === null || filters === void 0 ? void 0 : filters.sort)) { - url += "&sort=" + "sdate"; - } - else { - url += "&sort=" + (filters === null || filters === void 0 ? void 0 : filters.sort); - } - if (!(filters === null || filters === void 0 ? void 0 : filters.order)) { - url += "&order=" + "desc"; - } - else { - url += "&order=" + (filters === null || filters === void 0 ? void 0 : filters.order); - } - return url; + NovelUpdates.prototype.parseNovels = function (loadedCheerio) { + var novels = []; + loadedCheerio("div.search_main_box_nu").each(function (idx, ele) { + var novelCover = loadedCheerio(ele).find("img").attr("src"); + var novelName = loadedCheerio(ele).find(".search_title > a").text(); + var novelUrl = loadedCheerio(ele) + .find(".search_title > a") + .attr("href"); + if (!novelUrl) + return; + var novel = { + name: novelName, + cover: novelCover, + url: novelUrl, + }; + novels.push(novel); + }); + return novels; }; - NovelUpdates.prototype.popularNovels = function (pageNo, _a) { + NovelUpdates.prototype.popularNovels = function (page, _a) { + var _b, _c, _d, _e, _f, _g; var showLatestNovels = _a.showLatestNovels, filters = _a.filters; return __awaiter(this, void 0, void 0, function () { - var url, result, body, loadedCheerio, novels; - return __generator(this, function (_b) { - switch (_b.label) { + var link, headers, body, loadedCheerio; + return __generator(this, function (_h) { + switch (_h.label) { case 0: - url = this.getPopularNovelsUrl(pageNo, { showLatestNovels: showLatestNovels, filters: filters }); - return [4 /*yield*/, (0, fetch_1.fetchApi)(url)]; + link = "".concat(this.site); + if (filters.language.value.length || + filters.novelType.value.length || + ((_b = filters.genres.value.include) === null || _b === void 0 ? void 0 : _b.length) || + ((_c = filters.genres.value.exclude) === null || _c === void 0 ? void 0 : _c.length) || + filters.storyStatus.value.length) { + link += "series-finder/?sf=1"; + } + else if (showLatestNovels) { + link += "latest-series/?st=1"; + } + else { + link += "series-ranking/?rank=week"; + } + ; + if (filters.language.value.length) + link += '&org=' + filters.language.value.join(','); + if (filters.novelType.value.length) + link += '&nt=' + filters.novelType.value.join(','); + if ((_d = filters.genres.value.include) === null || _d === void 0 ? void 0 : _d.length) + link += '&gi=' + filters.genres.value.include.join(','); + if ((_e = filters.genres.value.exclude) === null || _e === void 0 ? void 0 : _e.length) + link += '&ge=' + filters.genres.value.exclude.join(','); + if (((_f = filters.genres.value.include) === null || _f === void 0 ? void 0 : _f.length) || ((_g = filters.genres.value.exclude) === null || _g === void 0 ? void 0 : _g.length)) + link += '&mgi=' + filters.genre_operator.value; + if (filters.storyStatus.value.length) + link += '&ss=' + filters.storyStatus.value; + link += '&sort=' + filters.sort.value; + link += '&order=' + filters.order.value; + link += '&pg=' + page; + headers = new Headers(); + return [4 /*yield*/, (0, fetch_1.fetchApi)(link, { headers: headers }).then(function (result) { + return result.text(); + })]; case 1: - result = _b.sent(); - return [4 /*yield*/, result.text()]; - case 2: - body = _b.sent(); + body = _h.sent(); loadedCheerio = (0, cheerio_1.load)(body); - novels = []; - loadedCheerio("div.search_main_box_nu").each(function (idx, ele) { - var novelCover = loadedCheerio(ele).find("img").attr("src"); - var novelName = loadedCheerio(ele).find(".search_title > a").text(); - var novelUrl = loadedCheerio(ele) - .find(".search_title > a") - .attr("href"); - if (!novelUrl) - return; - var novel = { - name: novelName, - cover: novelCover, - url: novelUrl, - }; - novels.push(novel); - }); - return [2 /*return*/, novels]; + return [2 /*return*/, this.parseNovels(loadedCheerio)]; } }); }); @@ -269,7 +272,7 @@ var NovelUpdates = /** @class */ (function () { formData.append("action", "nd_getchapters"); formData.append("mygrr", "0"); formData.append("mypostid", novelId); - link = "https://www.novelupdates.com/wp-admin/admin-ajax.php"; + link = "".concat(this.site, "wp-admin/admin-ajax.php"); return [4 /*yield*/, (0, fetch_1.fetchApi)(link, { method: "POST", body: formData, @@ -422,39 +425,22 @@ var NovelUpdates = /** @class */ (function () { }); }); }; - NovelUpdates.prototype.searchNovels = function (searchTerm, pageNo) { + NovelUpdates.prototype.searchNovels = function (searchTerm, page) { return __awaiter(this, void 0, void 0, function () { - var url, result, body, loadedCheerio, novels; + var url, headers, result, body, loadedCheerio; return __generator(this, function (_a) { switch (_a.label) { case 0: - url = "https://www.novelupdates.com/?s=" + - searchTerm + - "&post_type=seriesplans"; - return [4 /*yield*/, (0, fetch_1.fetchApi)(url)]; + url = "".concat(this.site, "page/").concat(page, "/?s=").concat(searchTerm, "&post_type=seriesplans"); + headers = new Headers(); + return [4 /*yield*/, (0, fetch_1.fetchApi)(url, { headers: headers })]; case 1: result = _a.sent(); return [4 /*yield*/, result.text()]; case 2: body = _a.sent(); loadedCheerio = (0, cheerio_1.load)(body); - novels = []; - loadedCheerio("div.search_main_box_nu").each(function () { - var _a; - var novelCover = loadedCheerio(this).find("img").attr("src"); - var novelName = loadedCheerio(this).find(".search_title > a").text(); - var novelUrl = (_a = loadedCheerio(this) - .find(".search_title > a") - .attr("href")) === null || _a === void 0 ? void 0 : _a.split("/")[4]; - if (!novelUrl) - return; - novels.push({ - name: novelName, - url: novelUrl, - cover: novelCover, - }); - }); - return [2 /*return*/, novels]; + return [2 /*return*/, this.parseNovels(loadedCheerio)]; } }); }); diff --git a/plugins/english/nobleMTL.ts b/plugins/english/nobleMTL.ts index 0cc29ba..cd46bfe 100644 --- a/plugins/english/nobleMTL.ts +++ b/plugins/english/nobleMTL.ts @@ -1,4 +1,4 @@ -import { load as parseHTML } from "cheerio"; +import { CheerioAPI, load as parseHTML } from "cheerio"; import { fetchApi, fetchFile } from "@libs/fetch"; import { FilterTypes, Filters } from "@libs/filterInputs"; import { Plugin } from "@typings/plugin"; @@ -9,7 +9,29 @@ class NobleMTL implements Plugin.PluginBase { icon = "src/en/noblemtl/icon.png"; site = "https://noblemtl.com/"; version = "1.0.0"; - + + parseNovels(loadedCheerio: CheerioAPI) { + const novels: Plugin.NovelItem[] = []; + + loadedCheerio("article.bs").each(function () { + const novelName = loadedCheerio(this).find(".ntitle").text().trim(); + let image = loadedCheerio(this).find("img"); + const novelCover = image.attr("data-src") || image.attr("src"); + const novelUrl = loadedCheerio(this).find("a").attr("href"); + + if (!novelUrl) return; + const novel = { + name: novelName, + cover: novelCover, + url: novelUrl, + }; + + novels.push(novel); + }); + + return novels; + } + async popularNovels( pageNo: number, { filters }: Plugin.PopularNovelsOptions @@ -32,28 +54,7 @@ class NobleMTL implements Plugin.PluginBase { ); const loadedCheerio = parseHTML(body); - - const novels: Plugin.NovelItem[] = []; - - loadedCheerio("article.bs").each(function () { - const novelName = loadedCheerio(this).find(".ntitle").text().trim(); - let image = loadedCheerio(this).find("img"); - const novelCover = image.attr("data-src") || image.attr("src"); - - const novelUrl = loadedCheerio(this).find("a").attr("href"); - - if (!novelUrl) return; - - const novel = { - name: novelName, - cover: novelCover, - url: novelUrl, - }; - - novels.push(novel); - }); - - return novels; + return this.parseNovels(loadedCheerio); } async parseNovelAndChapters(novelUrl: string): Promise { @@ -150,32 +151,17 @@ class NobleMTL implements Plugin.PluginBase { async searchNovels( searchTerm: string, - pageNo?: number | undefined + pageNo: number ): Promise { - const url = `${this.site}?s=${searchTerm}`; + const url = `${this.site}page/${pageNo}/?s=${searchTerm}`; const headers = new Headers(); const result = await fetchApi(url, { headers }); const body = await result.text(); const loadedCheerio = parseHTML(body); - - const novels: Plugin.NovelItem[] = []; - - loadedCheerio("article.bs").each(function () { - const novelName = loadedCheerio(this).find(".ntitle").text().trim(); - const novelCover = loadedCheerio(this).find("img").attr("src"); - const novelUrl = loadedCheerio(this).find("a").attr("href"); - if (!novelUrl) return; - - novels.push({ - name: novelName, - url: novelUrl, - cover: novelCover, - }); - }); - - return novels; + return this.parseNovels(loadedCheerio); } + async fetchImage(url: string): Promise { return await fetchFile(url); } @@ -183,20 +169,15 @@ class NobleMTL implements Plugin.PluginBase { filters = { order: { label: "Sort By", - type: FilterTypes.Picker, options: [ { label: "Default", value: "" }, - { label: "A-Z", value: "title" }, - { label: "Z-A", value: "titlereverse" }, - { label: "Latest Update", value: "update" }, - { label: "Latest Added", value: "latest" }, - { label: "Popular", value: "popular" }, ], + type: FilterTypes.Picker, value: "", }, @@ -204,11 +185,8 @@ class NobleMTL implements Plugin.PluginBase { label: "Status", options: [ { label: "All", value: "" }, - { label: "Ongoing", value: "ongoing" }, - { label: "Hiatus", value: "hiatus" }, - { label: "Completed", value: "completed" }, ], type: FilterTypes.Picker, @@ -218,15 +196,10 @@ class NobleMTL implements Plugin.PluginBase { label: "Type", options: [ { label: "Chinese novel", value: "chinese-novel" }, - { label: "habyeol", value: "habyeol" }, - { label: "korean novel", value: "korean-novel" }, - { label: "Web Novel", value: "web-novel" }, - { label: "삼심", value: "%ec%82%bc%ec%8b%ac" }, - { label: "호곡", value: "%ed%98%b8%ea%b3%a1" }, ], type: FilterTypes.CheckboxGroup, @@ -234,182 +207,98 @@ class NobleMTL implements Plugin.PluginBase { }, genres: { label: "Genres", - value: [], options: [ { label: "A.I", value: "a.i" }, - { label: "Academy", value: "academy" }, - { label: "Action", value: "action" }, - { label: "Adult", value: "adult" }, - { label: "Adventure", value: "adventure" }, - { label: "Alternative History", value: "alternative-history" }, - { label: "Another World", value: "another-world" }, - { label: "Apocalypse", value: "apocalypse" }, - { label: "Bromance", value: "bromance" }, - { label: "Comedy", value: "comedy" }, - { label: "Dark fantasy", value: "dark-fantasy" }, - { label: "Demons", value: "demons" }, - { label: "Drama", value: "drama" }, - { label: "Dystopia", value: "dystopia" }, - { label: "Ecchi", value: "ecchi" }, - { label: "Entertainment", value: "entertainment" }, - { label: "Exhaustion", value: "exhaustion" }, - { label: "Fanfiction", value: "fanfiction" }, - { label: "fantasy", value: "fantasy" }, - { label: "finance", value: "finance" }, - { label: "Full color", value: "full-color" }, - { label: "Game", value: "game" }, - { label: "Gender Bender", value: "gender-bender" }, - { label: "Genius", value: "genius" }, - { label: "Harem", value: "harem" }, - { label: "Hero", value: "hero" }, - { label: "Historical", value: "historical" }, - { label: "Hunter", value: "hunter" }, - { label: "korean novel", value: "korean-novel" }, - { label: "Light Novel", value: "light-novel" }, - { label: "List Adventure Manga Genres", value: "list-adventure-manga-genres", }, - { label: "Long Strip", value: "long-strip" }, - { label: "Love comedy", value: "love-comedy" }, - { label: "magic", value: "magic" }, - { label: "Manhua", value: "manhua" }, - { label: "Martial Arts", value: "martial-arts" }, - { label: "Mature", value: "mature" }, - { label: "Medieval", value: "medieval" }, - { label: "Misunderstanding", value: "misunderstanding" }, - { label: "Modern", value: "modern" }, - { label: "modern fantasy", value: "modern-fantasy" }, - { label: "music", value: "music" }, - { label: "Mystery", value: "mystery" }, - { label: "Necromancy", value: "necromancy" }, - { label: "No Romance", value: "no-romance" }, - { label: "NTL", value: "ntl" }, - { label: "o", value: "o" }, - { label: "Obsession", value: "obsession" }, - { label: "Politics", value: "politics" }, - { label: "Possession", value: "possession" }, - { label: "Programming", value: "programming" }, - { label: "Psychological", value: "psychological" }, - { label: "Pure Love", value: "pure-love" }, - { label: "Redemption", value: "redemption" }, - { label: "Regression", value: "regression" }, - { label: "Regret", value: "regret" }, - { label: "Reincarnation", value: "reincarnation" }, - { label: "Revenge", value: "revenge" }, - { label: "Romance", value: "romance" }, - { label: "Romance Fanrasy", value: "romance-fanrasy" }, - { label: "Salvation", value: "salvation" }, - { label: "School Life", value: "school-life" }, - { label: "Sci-fi", value: "sci-fi" }, - { label: "Science fiction", value: "science-fiction" }, - { label: "Seinen", value: "seinen" }, - { label: "Shounen", value: "shounen" }, - { label: "Slice of Life", value: "slice-of-life" }, - { label: "Soft yandere", value: "soft-yandere" }, - { label: "Sports", value: "sports" }, - { label: "Supernatural", value: "supernatural" }, - { label: "Survival", value: "survival" }, - { label: "system", value: "system" }, - { label: "Time limit", value: "time-limit" }, - { label: "Tragedy", value: "tragedy" }, - { label: "Transmigration", value: "transmigration" }, - { label: "TS", value: "ts" }, - { label: "Tsundere", value: "tsundere" }, - { label: "Unique", value: "unique" }, - { label: "Wholesome", value: "wholesome" }, - { label: "Wuxia", value: "wuxia" }, - { label: "Xuanhuan", value: "xuanhuan" }, - { label: "Yandere", value: "yandere" }, - { label: "Yuri", value: "yuri" }, ], type: FilterTypes.CheckboxGroup, + value: [], }, } satisfies Filters; } -const Noble = new NobleMTL(); - export default new NobleMTL(); diff --git a/plugins/english/novelupdates.ts b/plugins/english/novelupdates.ts index 1765645..bc89ad9 100644 --- a/plugins/english/novelupdates.ts +++ b/plugins/english/novelupdates.ts @@ -1,4 +1,4 @@ -import { load as parseHTML } from "cheerio"; +import { CheerioAPI, load as parseHTML } from "cheerio"; import { fetchApi, fetchFile } from "@libs/fetch"; import { Filters, FilterTypes } from "@libs/filterInputs"; import { Plugin } from "@typings/plugin"; @@ -9,66 +9,8 @@ class NovelUpdates implements Plugin.PluginBase { version = "0.5.0"; icon = "src/en/novelupdates/icon.png"; site = "https://www.novelupdates.com/"; - baseUrl = this.site; - - getPopularNovelsUrl( - page: number, - { showLatestNovels, filters }: Plugin.PopularNovelsOptions - ) { - let url = `${this.baseUrl}${filters - ? "series-finder" - : showLatestNovels - ? "latest-series" - : "series-ranking" - }/`; - - if (!filters) { - url += "?rank=week"; - } else { - url += "?sf=1"; - } - - if (filters) { - if (Array.isArray(filters.novelType) && filters.novelType?.length) { - url += "&nt=" + filters?.novelType.join(","); - } - - if (Array.isArray(filters.genres) && filters.genres?.length) { - url += "&gi=" + filters?.genres.join(",") + "&mgi=and"; - } - - if (Array.isArray(filters.language) && filters.language?.length) { - url += "&org=" + filters?.language.join(","); - } - - if (filters.storyStatus) { - url += "&ss=" + filters?.storyStatus; - } - } - - if (!filters?.sort) { - url += "&sort=" + "sdate"; - } else { - url += "&sort=" + filters?.sort; - } - - if (!filters?.order) { - url += "&order=" + "desc"; - } else { - url += "&order=" + filters?.order; - } - - return url; - } - - async popularNovels(pageNo: number, { showLatestNovels, filters }: Plugin.PopularNovelsOptions): Promise { - const url = this.getPopularNovelsUrl(pageNo, { showLatestNovels, filters }); - - const result = await fetchApi(url); - const body = await result.text(); - - const loadedCheerio = parseHTML(body); + parseNovels(loadedCheerio: CheerioAPI){ const novels: Plugin.NovelItem[] = []; loadedCheerio("div.search_main_box_nu").each((idx, ele) => { @@ -91,9 +33,56 @@ class NovelUpdates implements Plugin.PluginBase { return novels; } + + async popularNovels(page: number, { showLatestNovels, filters }: Plugin.PopularNovelsOptions): Promise { + let link = `${this.site}`; + if (filters.language.value.length || + filters.novelType.value.length || + filters.genres.value.include?.length || + filters.genres.value.exclude?.length || + filters.storyStatus.value.length ){ + link += "series-finder/?sf=1" + } else if (showLatestNovels){ + link += "latest-series/?st=1" + } else { + link += "series-ranking/?rank=week" + }; + + if (filters.language.value.length) + link += '&org=' + filters.language.value.join(','); + + if (filters.novelType.value.length) + link += '&nt=' + filters.novelType.value.join(','); + + if (filters.genres.value.include?.length) + link += '&gi=' + filters.genres.value.include.join(','); + + if (filters.genres.value.exclude?.length) + link += '&ge=' + filters.genres.value.exclude.join(','); + + if (filters.genres.value.include?.length || filters.genres.value.exclude?.length) + link += '&mgi=' + filters.genre_operator.value; + + if (filters.storyStatus.value.length) + link += '&ss=' + filters.storyStatus.value; + + link += '&sort=' + filters.sort.value; + + link += '&order=' + filters.order.value; + + link += '&pg=' + page; + + const headers = new Headers(); + const body = await fetchApi(link, { headers }).then((result) => + result.text() + ); + + const loadedCheerio = parseHTML(body); + return this.parseNovels(loadedCheerio); + } + async parseNovelAndChapters(novelUrl: string): Promise { const url = novelUrl; - const result = await fetchApi(url); const body = await result.text(); @@ -134,7 +123,7 @@ class NovelUpdates implements Plugin.PluginBase { formData.append("mygrr", "0"); formData.append("mypostid", novelId); - let link = "https://www.novelupdates.com/wp-admin/admin-ajax.php"; + let link = `${this.site}wp-admin/admin-ajax.php`; const text = await fetchApi( link, @@ -317,45 +306,24 @@ class NovelUpdates implements Plugin.PluginBase { return chapterText; } - async searchNovels(searchTerm: string, pageNo: number): Promise { - const url = - "https://www.novelupdates.com/?s=" + - searchTerm + - "&post_type=seriesplans"; - - const result = await fetchApi(url); + async searchNovels(searchTerm: string, page: number): Promise { + const url =`${this.site}page/${page}/?s=${searchTerm}&post_type=seriesplans`; + const headers = new Headers(); + const result = await fetchApi(url, { headers }); const body = await result.text(); const loadedCheerio = parseHTML(body); - - let novels: Plugin.NovelItem[] = []; - - loadedCheerio("div.search_main_box_nu").each(function () { - const novelCover = loadedCheerio(this).find("img").attr("src"); - const novelName = loadedCheerio(this).find(".search_title > a").text(); - const novelUrl = loadedCheerio(this) - .find(".search_title > a") - .attr("href") - ?.split("/")[4]; - - if (!novelUrl) return; - - novels.push({ - name: novelName, - url: novelUrl, - cover: novelCover, - }); - }); - return novels; + return this.parseNovels(loadedCheerio); } + fetchImage(url: string): Promise { return fetchFile(url); } - filters: Filters = { + filters = { sort: { label: "Sort Results By", - type: FilterTypes.Picker, + value: "sdate", options: [ { label: "Last Updated", value: "sdate" }, { label: "Rating", value: "srate" }, @@ -366,31 +334,33 @@ class NovelUpdates implements Plugin.PluginBase { { label: "Readers", value: "sread" }, { label: "Frequency", value: "sfrel" }, ], - value: "sdate", + type: FilterTypes.Picker, }, order: { label: "Order", - type: FilterTypes.Picker, + value: "desc", options: [ { label: "Descending", value: "desc" }, { label: "Ascending", value: "asc" }, ], - value: "asc" + type: FilterTypes.Picker, }, storyStatus: { label: "Story Status (Translation)", - type: FilterTypes.Picker, + value: "", options: [ { label: "All", value: "" }, { label: "Completed", value: "2" }, { label: "Ongoing", value: "3" }, { label: "Hiatus", value: "4" }, ], - value: "" + type: FilterTypes.Picker, }, language: { label: "Language", + value: [], options: [ + { label: "None", value: "" }, { label: "Chinese", value: "495" }, { label: "Filipino", value: "9181" }, { label: "Indonesian", value: "9179" }, @@ -401,23 +371,25 @@ class NovelUpdates implements Plugin.PluginBase { { label: "Thai", value: "9954" }, { label: "Vietnamese", value: "9177" }, ], - type: FilterTypes.Picker, - value: "" + type: FilterTypes.CheckboxGroup, }, novelType: { label: "Novel Type", - type: FilterTypes.CheckboxGroup, value: [], options: [ { label: "Light Novel", value: "2443" }, { label: "Published Novel", value: "26874" }, { label: "Web Novel", value: "2444" }, - ] + ], + type: FilterTypes.CheckboxGroup, }, genres: { label: "Genres", - type: FilterTypes.CheckboxGroup, - value: [], + type: FilterTypes.ExcludableCheckboxGroup, + value: { + include: [], + exclude: [], + }, options: [ { label: "Action", value: "8" }, { label: "Adult", value: "280" }, @@ -454,10 +426,18 @@ class NovelUpdates implements Plugin.PluginBase { { label: "Xuanhuan", value: "3954" }, { label: "Yaoi", value: "560" }, { label: "Yuri", value: "922" }, - ] - } - } - + ], + }, + genre_operator: { + label: "Genre (AND/OR)", + value: "and", + options: [ + { label: "AND", value: "and" }, + { label: "OR", value: "or" }, + ], + type: FilterTypes.Picker, + }, + } satisfies Filters; } export default new NovelUpdates();