Fix Indowebnovel, Added bacalightnovel sektenovel (#882)
* Fix Indowebnovel * Fix version ndowebnovel.ts * Update sources.json add bacalightnovel sektenovel * Update host_plugins.yml * fix adress indowebnovel.ts * fix2 indowebnovel.ts * Update indowebnovel.ts * Update .github/workflows/host_plugins.yml Co-authored-by: nyagami <hoangquan05112002@gmail.com> * add icon --------- Co-authored-by: nyagami <hoangquan05112002@gmail.com>
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 2.5 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
@@ -7,8 +7,8 @@ class IndoWebNovel implements Plugin.PluginBase {
|
|||||||
id = 'IDWN.id';
|
id = 'IDWN.id';
|
||||||
name = 'IndoWebNovel';
|
name = 'IndoWebNovel';
|
||||||
icon = 'src/id/indowebnovel/icon.png';
|
icon = 'src/id/indowebnovel/icon.png';
|
||||||
site = 'https://indowebnovel.id/id';
|
site = 'https://indowebnovel.id/id/';
|
||||||
version = '1.2.1';
|
version = '1.2.2';
|
||||||
|
|
||||||
parseNovels(loadedCheerio: CheerioAPI) {
|
parseNovels(loadedCheerio: CheerioAPI) {
|
||||||
const novels: Plugin.NovelItem[] = [];
|
const novels: Plugin.NovelItem[] = [];
|
||||||
@@ -36,9 +36,10 @@ class IndoWebNovel implements Plugin.PluginBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async popularNovels(
|
async popularNovels(
|
||||||
page: number,
|
page: number = 1,
|
||||||
{ filters }: Plugin.PopularNovelsOptions<typeof this.filters>,
|
{ filters }: Plugin.PopularNovelsOptions<typeof this.filters>,
|
||||||
): Promise<Plugin.NovelItem[]> {
|
): Promise<Plugin.NovelItem[]> {
|
||||||
|
/*
|
||||||
let link = `${this.site}advanced-search/page/${page}/?title=&author=&yearx=`;
|
let link = `${this.site}advanced-search/page/${page}/?title=&author=&yearx=`;
|
||||||
link += `&status=${filters.status.value}`;
|
link += `&status=${filters.status.value}`;
|
||||||
link += `&type=${filters.type.value}`;
|
link += `&type=${filters.type.value}`;
|
||||||
@@ -48,7 +49,8 @@ class IndoWebNovel implements Plugin.PluginBase {
|
|||||||
link += filters.lang.value.map(i => `&country[]=${i}`).join('');
|
link += filters.lang.value.map(i => `&country[]=${i}`).join('');
|
||||||
if (filters.genre.value.length)
|
if (filters.genre.value.length)
|
||||||
link += filters.genre.value.map(i => `&genre[]=${i}`).join('');
|
link += filters.genre.value.map(i => `&genre[]=${i}`).join('');
|
||||||
|
*/
|
||||||
|
let link = this.site + `page/${page}/?s`
|
||||||
const result = await fetchApi(link);
|
const result = await fetchApi(link);
|
||||||
const body = await result.text();
|
const body = await result.text();
|
||||||
|
|
||||||
@@ -65,12 +67,12 @@ class IndoWebNovel implements Plugin.PluginBase {
|
|||||||
|
|
||||||
const novel: Plugin.SourceNovel = {
|
const novel: Plugin.SourceNovel = {
|
||||||
path: novelPath,
|
path: novelPath,
|
||||||
name: loadedCheerio('.series-title').text().trim() || 'Untitled',
|
name: loadedCheerio('.series-title h2').text().trim() || 'Untitled',
|
||||||
cover: loadedCheerio('.series-thumb img').attr('src'),
|
cover: loadedCheerio('.series-thumb img').attr('src'),
|
||||||
author: loadedCheerio("ul.series-infolist b:contains('Author') +")
|
author: loadedCheerio(".series-infolist li:contains('Author') span")
|
||||||
.text()
|
.text()
|
||||||
.trim(),
|
.trim(),
|
||||||
status: loadedCheerio('.status').text().trim(),
|
// status: loadedCheerio('.status').text().trim(),
|
||||||
summary: loadedCheerio('.series-synops').text().trim(),
|
summary: loadedCheerio('.series-synops').text().trim(),
|
||||||
chapters: [],
|
chapters: [],
|
||||||
};
|
};
|
||||||
@@ -105,21 +107,23 @@ class IndoWebNovel implements Plugin.PluginBase {
|
|||||||
|
|
||||||
const loadedCheerio = parseHTML(body);
|
const loadedCheerio = parseHTML(body);
|
||||||
|
|
||||||
const chapterText = loadedCheerio('.readersss').html() || '';
|
const chapterText = loadedCheerio('.readersss .text-left ').html() || '';
|
||||||
|
|
||||||
return chapterText;
|
return chapterText;
|
||||||
}
|
}
|
||||||
|
|
||||||
async searchNovels(
|
async searchNovels(
|
||||||
searchTerm: string,
|
searchTerm: string,
|
||||||
page: number,
|
page: number = 1,
|
||||||
): Promise<Plugin.NovelItem[]> {
|
): Promise<Plugin.NovelItem[]> {
|
||||||
|
/*
|
||||||
let link = `${this.site}advanced-search/page/${page}/?title=${searchTerm}&author=&yearx=`;
|
let link = `${this.site}advanced-search/page/${page}/?title=${searchTerm}&author=&yearx=`;
|
||||||
link += `&status=${this.filters.status.value}`;
|
link += `&status=${this.filters.status.value}`;
|
||||||
link += `&type=${this.filters.type.value}`;
|
link += `&type=${this.filters.type.value}`;
|
||||||
link += `&order=${this.filters.sort.value}`;
|
link += `&order=${this.filters.sort.value}`;
|
||||||
link += this.filters.lang.value.map(i => `&country[]=${i}`).join('');
|
link += this.filters.lang.value.map(i => `&country[]=${i}`).join('');
|
||||||
|
*/
|
||||||
|
let link = this.site + `page/${page}/?s=${searchTerm}`
|
||||||
const result = await fetchApi(link);
|
const result = await fetchApi(link);
|
||||||
const body = await result.text();
|
const body = await result.text();
|
||||||
|
|
||||||
|
|||||||
@@ -136,6 +136,24 @@
|
|||||||
"reverseChapters": false
|
"reverseChapters": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "bacalightnovel",
|
||||||
|
"sourceSite": "https://bacalightnovel.co/",
|
||||||
|
"sourceName": "Baca Light Novel",
|
||||||
|
"options": {
|
||||||
|
"lang": "Indonesian",
|
||||||
|
"reverseChapters": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "sektenovel",
|
||||||
|
"sourceSite": "https://sektenovel.web.id/",
|
||||||
|
"sourceName": "Sekte Novel",
|
||||||
|
"options": {
|
||||||
|
"lang": "Indonesian",
|
||||||
|
"reverseChapters": true
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "systemtranslation",
|
"id": "systemtranslation",
|
||||||
"sourceSite": "https://systemtranslation.com/",
|
"sourceSite": "https://systemtranslation.com/",
|
||||||
|
|||||||
Reference in New Issue
Block a user