diff --git a/web/src/engine/websites/AsuraScansFree.ts b/web/src/engine/websites/AsuraScansFree.ts new file mode 100644 index 0000000000..4cc56ac994 --- /dev/null +++ b/web/src/engine/websites/AsuraScansFree.ts @@ -0,0 +1,21 @@ +import { Tags } from '../Tags'; +import icon from './AsuraScans.webp'; +import { DecoratableMangaScraper } from '../providers/MangaPlugin'; +import * as MangaStream from './decorators/WordPressMangaStream'; +import * as Common from './decorators/Common'; + +@MangaStream.MangaCSS(/^{origin}\/serie\/[^/]+\/$/) +@MangaStream.MangasSinglePageCSS(undefined, '/serie/list-mode/') +@MangaStream.ChaptersSinglePageCSS() +@MangaStream.PagesSinglePageJS() +@Common.ImageAjax() +export default class extends DecoratableMangaScraper { + + public constructor() { + super('arurascansfree', 'Asura Scans Free', 'https://asurascansfree.com', Tags.Media.Manhwa, Tags.Media.Manhua, Tags.Language.English, Tags.Source.Aggregator); + } + + public override get Icon() { + return icon; + } +} \ No newline at end of file diff --git a/web/src/engine/websites/AsuraScansFree_e2e.ts b/web/src/engine/websites/AsuraScansFree_e2e.ts new file mode 100644 index 0000000000..5c0e1f3e6e --- /dev/null +++ b/web/src/engine/websites/AsuraScansFree_e2e.ts @@ -0,0 +1,24 @@ +import { TestFixture, type Config } from '../../../test/WebsitesFixture'; + +const config: Config = { + plugin: { + id: 'arurascansfree', + title: 'Asura Scans Free', + }, + container: { + url: 'https://asurascansfree.com/serie/academys-genius-swordmaster/', + id: '/serie/academys-genius-swordmaster/', + title: 'Academy’s Genius Swordmaster', + }, + child: { + id: '/academys-genius-swordmaster-chapter-1/', + title: 'Chapter 1', + }, + entry: { + index: 1, + size: 822_646, + type: 'image/webp' + } +}; + +new TestFixture(config).AssertWebsite(); \ No newline at end of file diff --git a/web/src/engine/websites/_index.ts b/web/src/engine/websites/_index.ts index e59fa89aa4..a00de7da86 100755 --- a/web/src/engine/websites/_index.ts +++ b/web/src/engine/websites/_index.ts @@ -31,6 +31,7 @@ export { default as AsmHentai } from './AsmHentai'; export { default as AstralManga } from './AstralManga'; export { default as AstraScans } from './AstraScans'; export { default as AsuraScans } from './AsuraScans'; +export { default as AsuraScansFree } from './AsuraScansFree'; export { default as AsuraScansTR } from './AsuraScansTR'; export { default as Atikrost } from './Atikrost'; export { default as AyaToon } from './AyaToon';