From 6bc3900d30f3047a4ca2a50ef03171a9a305c221 Mon Sep 17 00:00:00 2001 From: nyagami Date: Tue, 16 May 2023 22:39:22 +0700 Subject: [PATCH] feat: Github Actions to Avoid PR Conflicts (#497) * remove .env file * remove dotenv, move json dir * fix: create dir if not exists * test actions * fix: specific branch * test double commit * fix: only add dist dir * cleanup * test push without updating json * test actions without plugins diff * plugins: update json files for new plugins (#7) * test without config.json * plugins: update json files for new plugins (#8) * fix: ordering in Win is not the same as Linux * plugins: update json files for new plugins (#10) * test no update * test: create PR if there're changes * fix: wrong path * test: if there're changes * fix: wrong operator * fix: assign boolean to github output * plugins: update json files for new plugins (#13) * clean up and update README * clean up * last cleant up xD --- .env | 3 - .github/workflows/updatejson.yml | 57 ++++++ .gitignore | 2 + README.md | 79 ++++++--- api/plugins.js | 9 +- dist/LNReader/plugins.json | 287 +++++++++++++++++++++++++++++++ dist/LNReader/plugins.min.json | 1 + index.js | 2 +- package-lock.json | 14 -- package.json | 3 +- plugins/plugins.json | 287 ------------------------------- plugins/plugins.min.json | 1 - plugins/vietnamese/LNHako.js | 2 +- scripts/json_plugins.js | 21 ++- 14 files changed, 419 insertions(+), 349 deletions(-) delete mode 100644 .env create mode 100644 .github/workflows/updatejson.yml create mode 100644 dist/LNReader/plugins.json create mode 100644 dist/LNReader/plugins.min.json delete mode 100644 plugins/plugins.json delete mode 100644 plugins/plugins.min.json diff --git a/.env b/.env deleted file mode 100644 index b78a910..0000000 --- a/.env +++ /dev/null @@ -1,3 +0,0 @@ -GITHUB_USERNAME='nyagami' -GITHUB_REPOSITORY='plugins' -GITHUB_BRANCH='main' \ No newline at end of file diff --git a/.github/workflows/updatejson.yml b/.github/workflows/updatejson.yml new file mode 100644 index 0000000..bcec4e8 --- /dev/null +++ b/.github/workflows/updatejson.yml @@ -0,0 +1,57 @@ +name: Update json files + +on: + push: + branches: + - plugins + +jobs: + updatejson: + if: github.repository == 'LNReader/lnreader-sources' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: '16' + - name: Install dependencies + run: npm install + + - name: Clean up current dist + run: | + rm -rf dist + mkdir dist + cat > config.json << EOF + { + "githubUsername": "LNReader", + "githubRepository": "lnreader-sources", + "githubBranch": "plugins" + } + EOF + + - name: Update json files + id: json + run: | + node scripts/json_plugins.js + changes="$(git diff)" + if [ "$changes" ] + then + changes=1 + else + changes="" + fi + echo "json-diff=$changes" >> $GITHUB_OUTPUT + + - name: Create pull request + if: ${{ steps.json.outputs.json-diff }} + uses: peter-evans/create-pull-request@v4 + with: + token: ${{ secrets.REPO_SCOPED_TOKEN }} + author: rajarsheechatterjee + committer: rajarsheechatterjee + commit-message: 'plugins: update json files for new plugins' + title: Update json files + labels: enhancement + body: Auto-generated PR for updating json files + branch: update-json + delete-branch: true diff --git a/.gitignore b/.gitignore index 6c02cb0..572c3ce 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ node_modules/**/* .vscode +.env +config.json diff --git a/README.md b/README.md index 5d4dd33..17f1a07 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,13 @@ - + # LNReader Plugins

- GitHub issues by-label - GitHub issues by-label + +GitHub issues by-label + +GitHub issues by-label +

Repository to host plugins and related issues, and requests for [LNReader](https://github.com/LNReader/lnreader). @@ -12,47 +15,71 @@ Repository to host plugins and related issues, and requests for [LNReader](https ## Contributing 1. Please use this [template](./template.js) or [template.min](./template.min.js) + 2. Choose your language in [./plugins](./plugins) + + If your language doenst exist, please request us. We will add it soon. + 3. Write your scripts + + See example: [Hako](./plugins/vietnamese/LNHako.js) + ## Test your script + We use expressjs to make an UI web for testing. + 1. Installing - ``` - npm install - ``` + +``` +npm install +``` + 2. Running - ``` - nodemon index.js - ``` - + Then open http://localhost:3000 + +``` +nodemon index.js +``` + ++ Then open http://localhost:3000 + 3. Testing - + Find you plugin - + Check if all functions of your plugin work properly -#### No need to reload webpage after changing your plugin script. + ++ Find you plugin + ++ Check if all functions of your plugin work properly + +#### No need to reload webpage after changing your plugin script. + - One more thing: you can use [cheerio_space](./cheerio_space) to build functions without requesting to the site. + ---------- - If you want to test plugin in app side, remember to config these things. +If you want to test plugin in app side, remember to config these things. in [.env](./.env) + +1. Create `config.json` file in root dir +2. Add your github infomation. Here is an example. +```json +{ + "githubUsername": "LNReader", + "githubRepository": "lnreader-sources", + "githubBranch": "plugins" +} ``` -GITHUB_USERNAME='nyagami' -GITHUB_REPOSITORY='plugins' -GITHUB_BRANCH='main' +3. Just commit and push it. And you will see your own json files in github folk: dist/`username`/ + +also in [pluginManager.ts](https://github.com/LNReader/lnreader/blob/plugins/src/plugins/pluginManager.ts) (app repo) + +```ts +const githubUsername = 'LNReader'; +const githubRepository = 'lnreader-sources'; +const githubBranch = 'plugins'; ``` -in [pluginManager.ts](https://github.com/nyagami/lnreader/blob/install_sources/src/plugins/pluginManager.ts) -```ts -const fetchPlugins = async () => { - const availablePlugins: Record> = await fetch( - 'https://raw.githubusercontent.com/nyagami/plugins/main/plugins/plugins.min.json', - ).then(res => res.json()); - return availablePlugins; -}; -``` +- Note: You dont have to remove your own json files when creating a PR. ---------- + The developer of this application does not have any affiliation with the content providers available. diff --git a/api/plugins.js b/api/plugins.js index a020c3f..ea2e8a4 100644 --- a/api/plugins.js +++ b/api/plugins.js @@ -3,11 +3,6 @@ const languages = require('@libs/languages'); const path = require('path') const root = path.dirname(require.main.filename); -const githubIconsLink = 'https://raw.githubusercontent.com/nyagami/plugins/main/icons'; -const githubIconSuffix = '?raw=true'; -const githubPluginsLink = 'https://raw.githubusercontent.com/nyagami/plugins/main/plugins'; -const githubPluginSuffix = '?newtest=true'; - const all_plugins = () => { const res = {} for (let language in languages) { //language with English name @@ -19,10 +14,8 @@ const all_plugins = () => { if(plugin.startsWith('.')) return; const requirePath = `@plugins/${language.toLowerCase()}/${plugin.split('.')[0]}` const instance = require(requirePath); - const { id, name, lang, version, icon, description } = instance; + const { id, name, lang, version, description } = instance; const info = { id, name, lang, version, description } // lang: language with native name - info.url = `${githubPluginsLink}/${language.toLowerCase()}/${plugin}${githubPluginSuffix}`; - info.iconUrl = `${githubIconsLink}/${icon}${githubIconSuffix}`; info.requirePath = requirePath; res[lang].push(info); }); diff --git a/dist/LNReader/plugins.json b/dist/LNReader/plugins.json new file mode 100644 index 0000000..1851e63 --- /dev/null +++ b/dist/LNReader/plugins.json @@ -0,0 +1,287 @@ +{ + "中文, 汉语, 漢語": [], + "English": [ + { + "id": "ANF.com", + "name": "AllNovelFull", + "site": "https://allnovelfull.com", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/english/allnovelfull.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/english/bestlightnovel.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/en/bestlightnovel/icon.png" + }, + { + "id": "comrademao", + "name": "Comrade Mao", + "site": "https://comrademao.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/english/comrademao.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/en/comrademao/icon.png" + }, + { + "id": "DDL.com", + "name": "Divine Dao Library", + "site": "https://www.divinedaolibrary.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/english/divinedaolibrary.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/en/divinedaolibrary/icon.png" + }, + { + "id": "foxaholic", + "name": "Foxaholic", + "site": "https://www.foxaholic.com/", + "lang": "English", + "version": "1.0.0", + "description": "Digging Pits", + "url": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/english/foxaholic.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/en/foxaholic/icon.png" + }, + { + "id": "FWN.com", + "name": "Web NOVEL", + "site": "https://freewebnovel.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/english/freewebnovel.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/en/freewebnovel/icon.png" + }, + { + "id": "LNR.org", + "name": "LightNovelReader", + "site": "https://lightnovelreader.org", + "lang": "English", + "version": "1.0.0", + "description": "This is description for plugin", + "url": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/english/LightNovelReader.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/en/lightnovelreader/icon.png" + }, + { + "id": "NF.me", + "name": "NovelFull.me", + "site": "https://novelfull.me/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/english/NovelFullMe.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/en/novelfullme/icon.png" + }, + { + "id": "NO.net", + "name": "novelsOnline", + "site": "https://novelsonline.net", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/english/NovelOnline.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/coverNotAvailable.jpg" + }, + { + "id": "novelpub.com", + "name": "NovelPub", + "site": "https://www.novelpub.com/", + "lang": "English", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/english/novelpub.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/en/novelpub/icon.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/LNReader/lnreader-sources/plugins/plugins/french/chireads.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/fr/chireads/icon.png" + }, + { + "id": "NDG.com", + "name": "NovelDeGlace", + "site": "https://noveldeglace.com/", + "lang": "français, française", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/french/noveldeglace.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/indonesian/indowebnovel.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/id/indowebnovel/icon.png" + }, + { + "id": "novelringan.com", + "name": "NovelRingan", + "site": "https://novelringan.com/", + "lang": "Bahasa Indonesia", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/indonesian/novelringan.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/indonesian/sakuranovel.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/id/sakuranovel/icon.png" + } + ], + "日本語": [ + { + "id": "yomou.syosetu", + "name": "Syosetu", + "site": "https://yomou.syosetu.com/", + "lang": "日本語", + "version": "1.0.0", + "description": "小説を読もう!は「小説家になろう」に投稿された", + "url": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/japanese/Syosetu.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/korean/Agitoon.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/kr/agitoon/agit.png" + } + ], + "Português": [], + "русский язык": [ + { + "id": "jaomix.ru", + "name": "Jaomix", + "site": "https://jaomix.ru", + "lang": "русский язык", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/russian/jaomix.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/ru/jaomix/icon.png" + }, + { + "id": "RNBH.org", + "name": "RanobeHub", + "site": "https://ranobehub.org/", + "lang": "русский язык", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/russian/ranobehub.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/ru/ranobehub/icon.png" + }, + { + "id": "RNRF", + "name": "РанобэРФ", + "site": "https://ранобэ.рф", + "lang": "русский язык", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/russian/ranoberf.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/ru/ranoberf/icon.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/LNReader/lnreader-sources/plugins/plugins/spanish/novelawuxia.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/spanish/hasutl.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/spanish/novelasligera.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/spanish/oasistranslations.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/spanish/skynovels.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/es/skynovels/icon.png" + }, + { + "id": "TNL.com", + "name": "TuNovelaLigera", + "site": "https://tunovelaligera.com/", + "lang": "español, castellano", + "version": "1.0.0", + "url": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/spanish/tunovelaligera.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/spanish/yukitls.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/turkish/epiknovel.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/tr/epiknovel/icon.png" + } + ], + "Tiếng Việt": [ + { + "id": "ln.hako", + "name": "Hako", + "site": "https://ln.hako.vn", + "lang": "Tiếng Việt", + "version": "1.0.0", + "description": "Hầm trú ẩn Hako", + "url": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/vietnamese/LNHako.js", + "iconUrl": "https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/vi/hakolightnovel/icon.png" + } + ] +} \ No newline at end of file diff --git a/dist/LNReader/plugins.min.json b/dist/LNReader/plugins.min.json new file mode 100644 index 0000000..fed6368 --- /dev/null +++ b/dist/LNReader/plugins.min.json @@ -0,0 +1 @@ +{"中文, 汉语, 漢語":[],"English":[{"id":"ANF.com","name":"AllNovelFull","site":"https://allnovelfull.com","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/english/allnovelfull.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/english/bestlightnovel.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/en/bestlightnovel/icon.png"},{"id":"comrademao","name":"Comrade Mao","site":"https://comrademao.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/english/comrademao.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/en/comrademao/icon.png"},{"id":"DDL.com","name":"Divine Dao Library","site":"https://www.divinedaolibrary.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/english/divinedaolibrary.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/en/divinedaolibrary/icon.png"},{"id":"foxaholic","name":"Foxaholic","site":"https://www.foxaholic.com/","lang":"English","version":"1.0.0","description":"Digging Pits","url":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/english/foxaholic.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/en/foxaholic/icon.png"},{"id":"FWN.com","name":"Web NOVEL","site":"https://freewebnovel.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/english/freewebnovel.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/en/freewebnovel/icon.png"},{"id":"LNR.org","name":"LightNovelReader","site":"https://lightnovelreader.org","lang":"English","version":"1.0.0","description":"This is description for plugin","url":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/english/LightNovelReader.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/en/lightnovelreader/icon.png"},{"id":"NF.me","name":"NovelFull.me","site":"https://novelfull.me/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/english/NovelFullMe.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/en/novelfullme/icon.png"},{"id":"NO.net","name":"novelsOnline","site":"https://novelsonline.net","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/english/NovelOnline.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/coverNotAvailable.jpg"},{"id":"novelpub.com","name":"NovelPub","site":"https://www.novelpub.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/english/novelpub.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/en/novelpub/icon.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/LNReader/lnreader-sources/plugins/plugins/french/chireads.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/fr/chireads/icon.png"},{"id":"NDG.com","name":"NovelDeGlace","site":"https://noveldeglace.com/","lang":"français, française","version":"1.0.0","url":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/french/noveldeglace.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/indonesian/indowebnovel.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/id/indowebnovel/icon.png"},{"id":"novelringan.com","name":"NovelRingan","site":"https://novelringan.com/","lang":"Bahasa Indonesia","version":"1.0.0","url":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/indonesian/novelringan.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/indonesian/sakuranovel.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/id/sakuranovel/icon.png"}],"日本語":[{"id":"yomou.syosetu","name":"Syosetu","site":"https://yomou.syosetu.com/","lang":"日本語","version":"1.0.0","description":"小説を読もう!は「小説家になろう」に投稿された","url":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/japanese/Syosetu.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/korean/Agitoon.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/kr/agitoon/agit.png"}],"Português":[],"русский язык":[{"id":"jaomix.ru","name":"Jaomix","site":"https://jaomix.ru","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/russian/jaomix.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/ru/jaomix/icon.png"},{"id":"RNBH.org","name":"RanobeHub","site":"https://ranobehub.org/","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/russian/ranobehub.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/ru/ranobehub/icon.png"},{"id":"RNRF","name":"РанобэРФ","site":"https://ранобэ.рф","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/russian/ranoberf.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/ru/ranoberf/icon.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/LNReader/lnreader-sources/plugins/plugins/spanish/novelawuxia.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/spanish/hasutl.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/spanish/novelasligera.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/spanish/oasistranslations.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/spanish/skynovels.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/es/skynovels/icon.png"},{"id":"TNL.com","name":"TuNovelaLigera","site":"https://tunovelaligera.com/","lang":"español, castellano","version":"1.0.0","url":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/spanish/tunovelaligera.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/spanish/yukitls.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/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/LNReader/lnreader-sources/plugins/plugins/turkish/epiknovel.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/tr/epiknovel/icon.png"}],"Tiếng Việt":[{"id":"ln.hako","name":"Hako","site":"https://ln.hako.vn","lang":"Tiếng Việt","version":"1.0.0","description":"Hầm trú ẩn Hako","url":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/plugins/vietnamese/LNHako.js","iconUrl":"https://raw.githubusercontent.com/LNReader/lnreader-sources/plugins/icons/src/vi/hakolightnovel/icon.png"}]} \ No newline at end of file diff --git a/index.js b/index.js index 34cae07..816e0ec 100644 --- a/index.js +++ b/index.js @@ -43,5 +43,5 @@ app.get('/', (req, res) => { app.listen(port, host, () => { - console.log("testing plugins web listening on http://localhost:3000"); + console.log("Testing plugins web listening on http://localhost:3000"); }); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index c5ce302..13b1c74 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,6 @@ "cheerio": "^1.0.0-rc.10", "cli-color": "^2.0.3", "dayjs": "^1.11.4", - "dotenv": "^16.0.3", "express": "^4.18.2", "module-alias": "^2.2.2", "node-fetch": "^3.3.1" @@ -435,14 +434,6 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", - "engines": { - "node": ">=12" - } - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -1958,11 +1949,6 @@ "domhandler": "^4.2.0" } }, - "dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==" - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", diff --git a/package.json b/package.json index 2bd9b28..d945661 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "scripts": { "start": "node ./index.js", "test": "exit 0", - "json": "node ./scripts/json_plugins.js && git add ." + "json": "node ./scripts/json_plugins.js && git add dist" }, "author": "", "license": "MIT", @@ -15,7 +15,6 @@ "cheerio": "^1.0.0-rc.10", "cli-color": "^2.0.3", "dayjs": "^1.11.4", - "dotenv": "^16.0.3", "express": "^4.18.2", "module-alias": "^2.2.2", "node-fetch": "^3.3.1" diff --git a/plugins/plugins.json b/plugins/plugins.json deleted file mode 100644 index 293022f..0000000 --- a/plugins/plugins.json +++ /dev/null @@ -1,287 +0,0 @@ -{ - "中文, 汉语, 漢語": [], - "English": [ - { - "id": "LNR.org", - "name": "LightNovelReader", - "site": "https://lightnovelreader.org", - "lang": "English", - "version": "1.0.0", - "description": "This is description for plugin", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/english/LightNovelReader.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/en/lightnovelreader/icon.png" - }, - { - "id": "NF.me", - "name": "NovelFull.me", - "site": "https://novelfull.me/", - "lang": "English", - "version": "1.0.0", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/english/NovelFullMe.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/en/novelfullme/icon.png" - }, - { - "id": "NO.net", - "name": "novelsOnline", - "site": "https://novelsonline.net", - "lang": "English", - "version": "1.0.0", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/english/NovelOnline.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/coverNotAvailable.jpg" - }, - { - "id": "ANF.com", - "name": "AllNovelFull", - "site": "https://allnovelfull.com", - "lang": "English", - "version": "1.0.0", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/english/allnovelfull.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/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/nyagami/plugins/main/plugins/english/bestlightnovel.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/en/bestlightnovel/icon.png" - }, - { - "id": "comrademao", - "name": "Comrade Mao", - "site": "https://comrademao.com/", - "lang": "English", - "version": "1.0.0", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/english/comrademao.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/en/comrademao/icon.png" - }, - { - "id": "DDL.com", - "name": "Divine Dao Library", - "site": "https://www.divinedaolibrary.com/", - "lang": "English", - "version": "1.0.0", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/english/divinedaolibrary.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/en/divinedaolibrary/icon.png" - }, - { - "id": "foxaholic", - "name": "Foxaholic", - "site": "https://www.foxaholic.com/", - "lang": "English", - "version": "1.0.0", - "description": "Digging Pits", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/english/foxaholic.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/en/foxaholic/icon.png" - }, - { - "id": "FWN.com", - "name": "Web NOVEL", - "site": "https://freewebnovel.com/", - "lang": "English", - "version": "1.0.0", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/english/freewebnovel.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/en/freewebnovel/icon.png" - }, - { - "id": "novelpub.com", - "name": "NovelPub", - "site": "https://www.novelpub.com/", - "lang": "English", - "version": "1.0.0", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/english/novelpub.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/en/novelpub/icon.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/nyagami/plugins/main/plugins/french/chireads.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/fr/chireads/icon.png" - }, - { - "id": "NDG.com", - "name": "NovelDeGlace", - "site": "https://noveldeglace.com/", - "lang": "français, française", - "version": "1.0.0", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/french/noveldeglace.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/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/nyagami/plugins/main/plugins/indonesian/indowebnovel.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/id/indowebnovel/icon.png" - }, - { - "id": "novelringan.com", - "name": "NovelRingan", - "site": "https://novelringan.com/", - "lang": "Bahasa Indonesia", - "version": "1.0.0", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/indonesian/novelringan.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/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/nyagami/plugins/main/plugins/indonesian/sakuranovel.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/id/sakuranovel/icon.png" - } - ], - "日本語": [ - { - "id": "yomou.syosetu", - "name": "Syosetu", - "site": "https://yomou.syosetu.com/", - "lang": "日本語", - "version": "1.0.0", - "description": "小説を読もう!は「小説家になろう」に投稿された", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/japanese/Syosetu.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/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/nyagami/plugins/main/plugins/korean/Agitoon.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/kr/agitoon/agit.png" - } - ], - "Português": [], - "русский язык": [ - { - "id": "jaomix.ru", - "name": "Jaomix", - "site": "https://jaomix.ru", - "lang": "русский язык", - "version": "1.0.0", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/russian/jaomix.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/ru/jaomix/icon.png" - }, - { - "id": "RNBH.org", - "name": "RanobeHub", - "site": "https://ranobehub.org/", - "lang": "русский язык", - "version": "1.0.0", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/russian/ranobehub.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/ru/ranobehub/icon.png" - }, - { - "id": "RNRF", - "name": "РанобэРФ", - "site": "https://ранобэ.рф", - "lang": "русский язык", - "version": "1.0.0", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/russian/ranoberf.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/ru/ranoberf/icon.png" - } - ], - "español, castellano": [ - { - "id": "HasuTL", - "name": "Hasu Translations", - "site": "https://hasutl.wordpress.com/", - "lang": "español, castellano", - "version": "1.0.0", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/spanish/hasutl.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/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/nyagami/plugins/main/plugins/spanish/novelasligera.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/es/novelasligera/icon.png" - }, - { - "id": "awuxia.com", - "name": "ReinoWuxia", - "site": "http://www.reinowuxia.com/", - "lang": "español, castellano", - "version": "1.0.0", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/spanish/novelawuxia.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/es/novelawuxia/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/nyagami/plugins/main/plugins/spanish/oasistranslations.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/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/nyagami/plugins/main/plugins/spanish/skynovels.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/es/skynovels/icon.png" - }, - { - "id": "TNL.com", - "name": "TuNovelaLigera", - "site": "https://tunovelaligera.com/", - "lang": "español, castellano", - "version": "1.0.0", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/spanish/tunovelaligera.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/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/nyagami/plugins/main/plugins/spanish/yukitls.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/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/nyagami/plugins/main/plugins/turkish/epiknovel.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/tr/epiknovel/icon.png" - } - ], - "Tiếng Việt": [ - { - "id": "ln.hako", - "name": "Hako", - "site": "https://ln.hako.vn", - "lang": "Tiếng Việt", - "version": "1.0.0", - "description": "Cổng LightNovel", - "url": "https://raw.githubusercontent.com/nyagami/plugins/main/plugins/vietnamese/LNHako.js", - "iconUrl": "https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/vi/hakolightnovel/icon.png" - } - ] -} \ No newline at end of file diff --git a/plugins/plugins.min.json b/plugins/plugins.min.json deleted file mode 100644 index e465c27..0000000 --- a/plugins/plugins.min.json +++ /dev/null @@ -1 +0,0 @@ -{"中文, 汉语, 漢語":[],"English":[{"id":"LNR.org","name":"LightNovelReader","site":"https://lightnovelreader.org","lang":"English","version":"1.0.0","description":"This is description for plugin","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/english/LightNovelReader.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/en/lightnovelreader/icon.png"},{"id":"NF.me","name":"NovelFull.me","site":"https://novelfull.me/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/english/NovelFullMe.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/en/novelfullme/icon.png"},{"id":"NO.net","name":"novelsOnline","site":"https://novelsonline.net","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/english/NovelOnline.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/coverNotAvailable.jpg"},{"id":"ANF.com","name":"AllNovelFull","site":"https://allnovelfull.com","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/english/allnovelfull.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/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/nyagami/plugins/main/plugins/english/bestlightnovel.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/en/bestlightnovel/icon.png"},{"id":"comrademao","name":"Comrade Mao","site":"https://comrademao.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/english/comrademao.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/en/comrademao/icon.png"},{"id":"DDL.com","name":"Divine Dao Library","site":"https://www.divinedaolibrary.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/english/divinedaolibrary.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/en/divinedaolibrary/icon.png"},{"id":"foxaholic","name":"Foxaholic","site":"https://www.foxaholic.com/","lang":"English","version":"1.0.0","description":"Digging Pits","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/english/foxaholic.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/en/foxaholic/icon.png"},{"id":"FWN.com","name":"Web NOVEL","site":"https://freewebnovel.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/english/freewebnovel.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/en/freewebnovel/icon.png"},{"id":"novelpub.com","name":"NovelPub","site":"https://www.novelpub.com/","lang":"English","version":"1.0.0","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/english/novelpub.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/en/novelpub/icon.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/nyagami/plugins/main/plugins/french/chireads.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/fr/chireads/icon.png"},{"id":"NDG.com","name":"NovelDeGlace","site":"https://noveldeglace.com/","lang":"français, française","version":"1.0.0","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/french/noveldeglace.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/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/nyagami/plugins/main/plugins/indonesian/indowebnovel.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/id/indowebnovel/icon.png"},{"id":"novelringan.com","name":"NovelRingan","site":"https://novelringan.com/","lang":"Bahasa Indonesia","version":"1.0.0","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/indonesian/novelringan.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/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/nyagami/plugins/main/plugins/indonesian/sakuranovel.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/id/sakuranovel/icon.png"}],"日本語":[{"id":"yomou.syosetu","name":"Syosetu","site":"https://yomou.syosetu.com/","lang":"日本語","version":"1.0.0","description":"小説を読もう!は「小説家になろう」に投稿された","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/japanese/Syosetu.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/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/nyagami/plugins/main/plugins/korean/Agitoon.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/kr/agitoon/agit.png"}],"Português":[],"русский язык":[{"id":"jaomix.ru","name":"Jaomix","site":"https://jaomix.ru","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/russian/jaomix.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/ru/jaomix/icon.png"},{"id":"RNBH.org","name":"RanobeHub","site":"https://ranobehub.org/","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/russian/ranobehub.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/ru/ranobehub/icon.png"},{"id":"RNRF","name":"РанобэРФ","site":"https://ранобэ.рф","lang":"русский язык","version":"1.0.0","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/russian/ranoberf.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/ru/ranoberf/icon.png"}],"español, castellano":[{"id":"HasuTL","name":"Hasu Translations","site":"https://hasutl.wordpress.com/","lang":"español, castellano","version":"1.0.0","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/spanish/hasutl.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/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/nyagami/plugins/main/plugins/spanish/novelasligera.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/es/novelasligera/icon.png"},{"id":"awuxia.com","name":"ReinoWuxia","site":"http://www.reinowuxia.com/","lang":"español, castellano","version":"1.0.0","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/spanish/novelawuxia.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/es/novelawuxia/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/nyagami/plugins/main/plugins/spanish/oasistranslations.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/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/nyagami/plugins/main/plugins/spanish/skynovels.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/es/skynovels/icon.png"},{"id":"TNL.com","name":"TuNovelaLigera","site":"https://tunovelaligera.com/","lang":"español, castellano","version":"1.0.0","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/spanish/tunovelaligera.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/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/nyagami/plugins/main/plugins/spanish/yukitls.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/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/nyagami/plugins/main/plugins/turkish/epiknovel.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/tr/epiknovel/icon.png"}],"Tiếng Việt":[{"id":"ln.hako","name":"Hako","site":"https://ln.hako.vn","lang":"Tiếng Việt","version":"1.0.0","description":"Cổng LightNovel","url":"https://raw.githubusercontent.com/nyagami/plugins/main/plugins/vietnamese/LNHako.js","iconUrl":"https://raw.githubusercontent.com/nyagami/plugins/main/icons/src/vi/hakolightnovel/icon.png"}]} \ No newline at end of file diff --git a/plugins/vietnamese/LNHako.js b/plugins/vietnamese/LNHako.js index 5682a96..e08462a 100644 --- a/plugins/vietnamese/LNHako.js +++ b/plugins/vietnamese/LNHako.js @@ -189,7 +189,7 @@ module.exports = { icon: 'src/vi/hakolightnovel/icon.png', site: baseUrl, lang: languages.Vietnamese, - description: 'Cổng LightNovel', + description: 'Hầm trú ẩn Hako', protected: true, fetchImage, popularNovels, diff --git a/scripts/json_plugins.js b/scripts/json_plugins.js index a789906..9ccee81 100644 --- a/scripts/json_plugins.js +++ b/scripts/json_plugins.js @@ -1,19 +1,25 @@ require('module-alias/register'); -require('dotenv').config(); const fs = require('fs'); const languages = require('@libs/languages'); const path = require('path') const root = path.dirname(__dirname); -const username = process.env.GITHUB_USERNAME; -const repo = process.env.GITHUB_REPOSITORY; -const branch = process.env.GITHUB_BRANCH; +const config = fs.existsSync(path.join(root, "config.json")) ? require("../config.json") : {}; +const username = config.githubUsername; +const repo = config.githubRepository; +const branch = config.githubBranch; +if(!username || !repo || !branch){ + process.exit(); +} +if(!fs.existsSync(path.join(root, "dist", username))){ + fs.mkdirSync(path.join(root, "dist", username)); +} const githubIconsLink = `https://raw.githubusercontent.com/${username}/${repo}/${branch}/icons`; const githubPluginsLink = `https://raw.githubusercontent.com/${username}/${repo}/${branch}/plugins`; const json = {}; -const jsonPath = path.join(root, 'plugins', 'plugins.json'); -const jsonMinPath = path.join(root, 'plugins', 'plugins.min.json'); +const jsonPath = path.join(root, 'dist', username, 'plugins.json'); +const jsonMinPath = path.join(root, 'dist', username, 'plugins.min.json'); for (let language in languages) { // language with English name const langPath = path.join(root, 'plugins', language.toLowerCase()); @@ -35,6 +41,9 @@ for (let language in languages) { // language with English name console.log('Collected', name); }); } + +for(let lang in json) json[lang].sort((a, b) => a.id.localeCompare(b.id)) + fs.writeFileSync(jsonMinPath, JSON.stringify(json)); fs.writeFileSync(jsonPath, JSON.stringify(json, null, '\t')); console.log('Done ✅');