Fix: Genesis Plugin (#1047)

* genesis: started implementation

* genesis: wip

* genesis: implemented parse novel

* genesis: added icon

* genesis: wip

* genesis: added chapters

* genesis: wip

* genesis: updated chapter name

* genesis: parse chapter

* genesis: revert version

* genesis: fixed pages and custom css

* genesis: update

* genesis: edit ta-center

* genesis: remove line-height

* genesis: old genesis deprecated

* genesis: fixed covers, status and chapters
This commit is contained in:
Batorian
2024-07-13 07:58:59 +02:00
committed by GitHub
parent 8514225e55
commit 0a8ee9b63b
+6 -12
View File
@@ -9,7 +9,7 @@ class Genesis implements Plugin.PluginBase {
icon = 'src/en/genesis/icon.png'; icon = 'src/en/genesis/icon.png';
customCSS = 'src/en/genesis/customCSS.css'; customCSS = 'src/en/genesis/customCSS.css';
site = 'https://genesistudio.com'; site = 'https://genesistudio.com';
version = '1.0.0'; version = '1.0.1';
imageRequestInit?: Plugin.ImageRequestInit | undefined = { imageRequestInit?: Plugin.ImageRequestInit | undefined = {
headers: { headers: {
'referrer': this.site, 'referrer': this.site,
@@ -17,14 +17,11 @@ class Genesis implements Plugin.PluginBase {
}; };
async parseNovels(json: any[]): Promise<Plugin.NovelItem[]> { async parseNovels(json: any[]): Promise<Plugin.NovelItem[]> {
const assets = 'https://edit.genesistudio.com/assets/';
const format = '?format=auto&quality=70&width=400&height=600';
return json.map((novel: any) => { return json.map((novel: any) => {
return { return {
name: novel.novel_title, name: novel.novel_title,
path: `/novels/${novel.abbreviation}`, path: `/novels/${novel.abbreviation}`,
cover: `${assets}${novel.cover}${format}`, cover: novel.cover,
}; };
}); });
} }
@@ -63,22 +60,20 @@ class Genesis implements Plugin.PluginBase {
.map((node: { data: any }) => node.data)[0]; .map((node: { data: any }) => node.data)[0];
const novelData = data[data[0].novel]; const novelData = data[data[0].novel];
const assets = 'https://edit.genesistudio.com/assets/';
const format = '?format=auto&quality=70&width=400&height=600';
const novel: Plugin.SourceNovel = { const novel: Plugin.SourceNovel = {
path: novelPath, path: novelPath,
name: data[novelData.novel_title], name: data[novelData.novel_title],
cover: `${assets}${data[novelData.cover]}${format}`, cover: data[novelData.cover],
summary: data[novelData.synopsis], summary: data[novelData.synopsis],
author: data[novelData.author], author: data[novelData.author],
status: data[novelData.serialization],
}; };
novel.genres = data[novelData.genres] novel.genres = data[novelData.genres]
.map((index: number) => data[index]) .map((index: number) => data[index])
.join(','); .join(',');
novel.status = data[novelData.release_days] ? 'Ongoing' : 'Completed';
const chapterData = data[data[0].chapters]; const chapterData = data[data[0].chapters];
const freeChapterData = chapterData.free; const freeChapterData = chapterData.free;
// const premiumChapterData = chapterData.premium; // const premiumChapterData = chapterData.premium;
@@ -92,8 +87,7 @@ class Genesis implements Plugin.PluginBase {
releaseTime: data[chapter.date_created], releaseTime: data[chapter.date_created],
chapterNumber: data[chapter.chapter_number], chapterNumber: data[chapter.chapter_number],
}; };
}) });
.reverse();
return novel; return novel;
} }