feat: Plugins (#465)
* update * gitignore * base file * template * json generator * remove valid method * Update README.md README * update template * Update README.md * update template * not support async arrow function * remove valid method * basic plugin validation. * Update README.md * update template * Update README.md * add fetchFile lib. empy .language file * comment fetch * update * comment fetch * auto comment, update template, template.min * Update README.md * add option to test * reset version * Update README.md * small fix for LightNovelReader * comment fetch * minor: LL date format * refactor: rename project, remove html2text lib * fix: error if there's no plugin changed * implement cookies bypass * update template.min.js * add syosetu * fix: get last file in case removing. shorter id * shoter native language name * change app project name * testing with UI would be less painful :) * remove console.log * Update README.md for UI testing * fix Syosetu * remove try catch * add ranobehub * add json for ranobehub * wrong icon path :D * fix ranobehub * fix status ranobe * add french * fix css * add chireads * add indonesian * add sakura novel * add sakuranovel json * add spanish * add skynovels * fix skynovels * add agitoon * add turkish * add epiknovel * add portuguese * update template * cheerio_space * add novel Fullme * minor * lol, this source havent been finished before. cant help * cant bypass this * add hasutl * novelasligera not working properly * add novelpub, but no searching * add jaomix * fix jaomix * add ranoberf * add indowebnovel * add novelringan * add noveldeglace * search not work for this * add oasisTL, this should have better popularNovels * add tunovelaligera * this source need to fix search * add bestlightnovel * add comrade mao * minor fix * add divinedaolibrary * add freewebnovel * lol xD * minor * update json * fix icon novelawuxia * update site in for pluginItem * some changes for more convenient * remove try catch * Update README.md * remove * Update README.md * trying to use pre-commit * update README * feat: .env for repo config * add foxaholic (#2) * rebase fox * fox officially 1.0.0 --------- Co-authored-by: K1ngfish3r <trulyihu@gmail.com>
This commit is contained in:
@@ -1,11 +1,58 @@
|
||||
# LNReader Sources
|
||||
|
||||
|
||||
# LNReader Plugins
|
||||
|
||||
<p>
|
||||
<img alt="GitHub issues by-label" src="https://img.shields.io/github/issues/lnreader/lnreader-sources/Source%20Request?color=success&label=source%20requests">
|
||||
<img alt="GitHub issues by-label" src="https://img.shields.io/github/issues/lnreader/lnreader-sources/Bug?color=red&label=bugs">
|
||||
</p>
|
||||
|
||||
Repository to host source related issues, and requests for [LNReader](https://github.com/LNReader/lnreader).
|
||||
Repository to host plugins and related issues, and requests for [LNReader](https://github.com/LNReader/lnreader).
|
||||
|
||||
## 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
|
||||
```
|
||||
2. Running
|
||||
```
|
||||
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.
|
||||
- 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.
|
||||
|
||||
in [.env](./.env)
|
||||
```
|
||||
GITHUB_USERNAME='nyagami'
|
||||
GITHUB_REPOSITORY='plugins'
|
||||
GITHUB_BRANCH='main'
|
||||
```
|
||||
|
||||
in [pluginManager.ts](https://github.com/nyagami/lnreader/blob/install_sources/src/plugins/pluginManager.ts)
|
||||
```ts
|
||||
const fetchPlugins = async () => {
|
||||
const availablePlugins: Record<Languages, Array<PluginItem>> = await fetch(
|
||||
'https://raw.githubusercontent.com/nyagami/plugins/main/plugins/plugins.min.json',
|
||||
).then(res => res.json());
|
||||
return availablePlugins;
|
||||
};
|
||||
```
|
||||
|
||||
----------
|
||||
The developer of this application does not have any affiliation with the content providers available.
|
||||
|
||||
Reference in New Issue
Block a user