Initial commit

This commit is contained in:
FourTOne5
2024-01-09 04:12:39 +06:00
commit 600c345dfe
8593 changed files with 150590 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 KiB

View File

@@ -0,0 +1,33 @@
package eu.kanade.tachiyomi.extension.en.readattackontitanshingekinokyojinmanga
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
import eu.kanade.tachiyomi.source.model.SChapter
import org.jsoup.nodes.Element
class ReadAttackOnTitanShingekiNoKyojinManga : MangaCatalog("Read Attack on Titan Shingeki no Kyojin Manga", "https://ww8.readsnk.com", "en") {
override val sourceList = listOf(
Pair("Shingeki No Kyojin", "$baseUrl/manga/shingeki-no-kyojin/"),
Pair("Colored", "$baseUrl/manga/shingeki-no-kyojin-colored/"),
Pair("Before the Fall", "$baseUrl/manga/shingeki-no-kyojin-before-the-fall/"),
Pair("Lost Girls", "$baseUrl/manga/shingeki-no-kyojin-lost-girls/"),
Pair("No Regrets", "$baseUrl/manga/attack-on-titan-no-regrets/"),
Pair("Junior High", "$baseUrl/manga/attack-on-titan-junior-high/"),
Pair("Harsh Mistress", "$baseUrl/manga/attack-on-titan-harsh-mistress-of-the-city/"),
Pair("Anthology", "$baseUrl/manga/attack-on-titan-anthology/"),
Pair("Art Book", "$baseUrl/manga/attack-on-titan-exclusive-art-book/"),
Pair("Spoof", "$baseUrl/manga/spoof-on-titan/"),
Pair("Guidebook", "$baseUrl/manga/attack-on-titan-guidebook-inside-outside/"),
Pair("No Regrets Colored", "$baseUrl/manga/attack-on-titan-no-regrets-colored/"),
).sortedBy { it.first }.distinctBy { it.second }
override fun chapterListSelector(): String = "div.w-full div.grid div.col-span-3"
override fun chapterFromElement(element: Element): SChapter = SChapter.create().apply {
val urlElement = element.selectFirst("a")!!
name = listOfNotNull(
urlElement.text(),
element.selectFirst("div.text-xs")!!.text().takeUnless { it.isBlank() },
).joinToString(" - ") { it.trim() }
url = urlElement.attr("abs:href")
}
}

View File

@@ -0,0 +1,31 @@
package eu.kanade.tachiyomi.extension.en.readberserkmanga
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
class ReadBerserkManga : MangaCatalog("Read Berserk Manga", "https://readberserk.com", "en") {
override val sourceList = listOf(
Pair("Berserk", "$baseUrl/manga/berserk/"),
Pair("Guidebook", "$baseUrl/manga/berserk-official-guidebook/"),
Pair("Colored", "$baseUrl/manga/berserk-colored/"),
Pair("Motion Comic", "$baseUrl/manga/berserk-the-motion-comic/"),
Pair("Duranki", "$baseUrl/manga/duranki/"),
Pair("Gigantomakhia", "$baseUrl/manga/gigantomakhia/"),
Pair("Berserk Spoilers & RAW", "$baseUrl/manga/berserk-spoilers-raw/"),
).sortedBy { it.first }.distinctBy { it.second }
override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply {
description = document.select("div.card-body > p").text()
title = document.select("h2 > span").text()
thumbnail_url = document.select(".card-img-right").attr("src")
}
override fun chapterListSelector(): String = "tbody > tr"
override fun chapterFromElement(element: Element): SChapter = SChapter.create().apply {
name = element.select("td:first-child").text()
url = element.select("a.btn-primary").attr("abs:href")
date_upload = System.currentTimeMillis() // I have no idear how to parse Date stuff
}
}

View File

@@ -0,0 +1,12 @@
package eu.kanade.tachiyomi.extension.en.readblackclovermangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadBlackCloverMangaOnline : MangaCatalog("Read Black Clover Manga Online", "https://ww7.readblackclover.com", "en") {
override val sourceList = listOf(
Pair("Black Clover", "$baseUrl/manga/black-clover"),
Pair("Black Clover Gainden Quartet Knights", "$baseUrl/manga/black-clover-gaiden-quartet-knights"),
Pair("Fan Colored", "$baseUrl/manga/black-clover-colored"),
Pair("Hungry Joker", "$baseUrl/manga/hungry-joker"),
)
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -0,0 +1,17 @@
package eu.kanade.tachiyomi.extension.en.readbokunoheroacademiamyheroacademiamanga
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadBokuNoHeroAcademiaMyHeroAcademiaManga : MangaCatalog("Read Boku no Hero Academia My Hero Academia Manga", "https://ww6.readmha.com", "en") {
override val sourceList = listOf(
Pair("Boku no Hero Academia", "$baseUrl/manga/boku-no-hero-academia/"),
Pair("Vigilante", "$baseUrl/manga/vigilante-boku-no-hero-academia-illegals/"),
Pair("Team Up", "$baseUrl/manga/my-hero-academia-team-up-mission/"),
Pair("MHA Smash", "$baseUrl/manga/boku-no-hero-academia-smash/"),
Pair("MHA: School Brief", "$baseUrl/manga/my-hero-academia-school-briefs/"),
Pair("Rising", "$baseUrl/manga/deku-bakugo-rising/"),
Pair("Colored", "$baseUrl/manga/boku-no-hero-academia-colored/"),
Pair("Oumagadoki Zoo", "$baseUrl/manga/oumagadoki-zoo/"),
Pair("Sensei no Bulge", "$baseUrl/manga/sensei-no-bulge/"),
).sortedBy { it.first }.distinctBy { it.second }
}

View File

@@ -0,0 +1,12 @@
package eu.kanade.tachiyomi.extension.en.readchainsawmanmangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadChainsawManMangaOnline : MangaCatalog("Read Chainsaw Man Manga Online", "https://ww1.readchainsawman.com", "en") {
override val sourceList = listOf(
Pair("Chainsaw Man", "$baseUrl/manga/chainsaw-man/"),
Pair("Fire Punch", "$baseUrl/manga/fire-punch/"),
Pair("Nayuta", "$baseUrl/manga/yogen-no-nayuta/"),
Pair("Colored", "$baseUrl/manga/chainsaw-man-colored/"),
).sortedBy { it.first }.distinctBy { it.second }
}

View File

@@ -0,0 +1,22 @@
package eu.kanade.tachiyomi.extension.en.readdragonballsuperchoumangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadDragonBallSuperChouMangaOnline : MangaCatalog("Read Dragon Ball Super Chou Manga Online", "https://ww6.dbsmanga.com", "en") {
override val sourceList = listOf(
Pair("Dragon Ball Super", "$baseUrl/manga/dragon-ball-super/"),
Pair("Dragon Ball", "$baseUrl/manga/dragon-ball/"),
Pair("Bardock", "$baseUrl/manga/dragon-ball-episode-of-bardock/"),
Pair("Victory Mission", "$baseUrl/manga/dragon-ball-heroes-victory-mission/"),
Pair("DB SD", "$baseUrl/manga/dragon-ball-sd/"),
Pair("Yamcha Isekai", "$baseUrl/manga/dragon-ball-side-story-yamcha-isekai/"),
Pair("DB x OP", "$baseUrl/manga/dragon-ball-x-one-piece/"),
Pair("Rebirth of F", "$baseUrl/manga/dragon-ball-z-rebirth-of-f/"),
Pair("Dark Realm", "$baseUrl/manga/super-dragon-ball-heroes-dark-demon-realm-mission/"),
Pair("Universe Mission", "$baseUrl/manga/super-dragon-ball-heroes-universe-mission/"),
Pair("Colored: Saiyan Arc", "$baseUrl/manga/dragon-ball-full-color-saiyan-arc/"),
Pair("Colored: Freeza Arc", "$baseUrl/manga/dragon-ball-full-color-freeza-arc/"),
Pair("Big Bang Mission!", "$baseUrl/manga/super-dragon-ball-heroes-big-bang-mission/"),
Pair("DBS Colored", "$baseUrl/manga/dragon-ball-super-colored/"),
).sortedBy { it.first }.distinctBy { it.second }
}

View File

@@ -0,0 +1,13 @@
package eu.kanade.tachiyomi.extension.en.readdrstonemangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadDrStoneMangaOnline : MangaCatalog("Read Dr. Stone Manga Online", "https://ww3.readdrstone.com", "en") {
override val sourceList = listOf(
Pair("Dr. Stone", "$baseUrl/manga/dr-stone/"),
Pair("Dr. Stone: Reboot", "$baseUrl/manga/dr-stone-reboot-byakuya/"),
Pair("Sun-ken Rock", "$baseUrl/manga/sun-ken-rock/"),
Pair("Origin", "$baseUrl/manga/origin/"),
Pair("Raqiya", "$baseUrl/manga/raqiya/"),
).sortedBy { it.first }.distinctBy { it.second }
}

View File

@@ -0,0 +1,24 @@
package eu.kanade.tachiyomi.extension.en.readfairytailedenszeromangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadFairyTailEdensZeroMangaOnline : MangaCatalog("Read Fairy Tail & Edens Zero Manga Online", "https://ww4.readfairytail.com", "en") {
override val sourceList = listOf(
Pair("Eden's Zero", "$baseUrl/manga/edens-zero/"),
Pair("Fairy Tail", "$baseUrl/manga/fairy-tail/"),
Pair("FT Zero", "$baseUrl/manga/fairy-tail-zero/"),
Pair("FT City Hero", "$baseUrl/manga/fairy-tail-zero/"),
Pair("Heros", "$baseUrl/manga/heros/"),
Pair("FT Happy Adv", "$baseUrl/manga/fairy-tail-happys-grand-adventure/"),
Pair("FT 100 Year", "$baseUrl/manga/fairy-tail-100-years-quest/"),
Pair("FT Ice Trail", "$baseUrl/manga/fairy-tail-ice-trail/"),
Pair("FT x Taizai", "$baseUrl/manga/fairy-tail-x-nanatsu-no-taizai-christmas-special/"),
Pair("Parasyte x FT", "$baseUrl/manga/parasyte-x-fairy-tail/"),
Pair("Monster Hunter", "$baseUrl/manga/monster-hunter-orage/"),
Pair("Rave Master", "$baseUrl/manga/rave-master/"),
Pair("Fairy Tail x Rave", "$baseUrl/manga/fairy-tail-x-rave/"),
Pair("Fairy Tail Gaiden Raigo Issen", "$baseUrl/manga/fairy-tail-gaiden-raigo-issen/"),
Pair("Fairy Tail Gaiden Kengami no Souryuu", "$baseUrl/manga/fairy-tail-gaiden-kengami-no-souryuu/"),
Pair("Fairy Tail Gaiden Road Knight", "$baseUrl/manga/fairy-tail-gaiden-road-knight/"),
).sortedBy { it.first }.distinctBy { it.second }
}

View File

@@ -0,0 +1,28 @@
package eu.kanade.tachiyomi.extension.en.readgoblinslayermangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
class ReadGoblinSlayerMangaOnline : MangaCatalog("Read Goblin Slayer Manga Online", "https://manga.watchgoblinslayer.com", "en") {
override val sourceList = listOf(
Pair("Goblin Slayer", "$baseUrl/manga/goblin-slayer/"),
Pair("Side Story: Brand New Day", "$baseUrl/manga/goblin-slayer-side-story-brand-new-day/"),
Pair("Side Story: Year One", "$baseUrl/manga/goblin-slayer-side-story-year-one/"),
Pair("Side Story: Gaiden 2", "$baseUrl/manga/goblin-slayer-gaiden-2-tsubanari-no-daikatana/"),
).sortedBy { it.first }.distinctBy { it.second }
override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply {
description = document.select("div.card-body > p").text()
title = document.select("h2 > span").text()
thumbnail_url = document.select(".card-img-right").attr("src")
}
override fun chapterListSelector(): String = "tbody > tr"
override fun chapterFromElement(element: Element): SChapter = SChapter.create().apply {
name = element.select("td:first-child").text()
url = element.select("a.btn-primary").attr("abs:href")
date_upload = System.currentTimeMillis() // I have no idear how to parse Date stuff
}
}

View File

@@ -0,0 +1,12 @@
package eu.kanade.tachiyomi.extension.en.readhaikyuumangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadHaikyuuMangaOnline : MangaCatalog("Read Haikyuu!! Manga Online", "https://ww6.readhaikyuu.com", "en") {
override val sourceList = listOf(
Pair("Haikyuu", "$baseUrl/manga/haikyuu/"),
Pair("Haikyuu-bu!!", "$baseUrl/manga/haikyuu-bu/"),
Pair("Haikyuu! x Nisekoi", "$baseUrl/manga/haikyuu-x-nisekoi/"),
Pair("Lets! Haikyu!?", "$baseUrl/manga/lets-haikyu/"),
).sortedBy { it.first }.distinctBy { it.second }
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

View File

@@ -0,0 +1,12 @@
package eu.kanade.tachiyomi.extension.en.readhunterxhuntermangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadHunterxHunterMangaOnline : MangaCatalog("Read Hunter x Hunter Manga Online", "https://ww2.readhxh.com", "en") {
override val sourceList = listOf(
Pair("Hunter x Hunter", "$baseUrl/manga/hunter-x-hunter/"),
Pair("Colored", "$baseUrl/manga/hunter-x-hunter-colored/"),
Pair("Level E", "$baseUrl/manga/level-e/"),
Pair("Yu Yu Hakusho", "$baseUrl/manga/yu-yu-hakusho/"),
).sortedBy { it.first }.distinctBy { it.second }
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 KiB

View File

@@ -0,0 +1,14 @@
package eu.kanade.tachiyomi.extension.en.readjujutsukaisenmangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadJujutsuKaisenMangaOnline : MangaCatalog("Read Jujutsu Kaisen Manga Online", "https://ww1.readjujutsukaisen.com", "en") {
override val sourceList = listOf(
Pair("Jujutsu Kaisen", "$baseUrl/manga/jujutsu-kaisen/"),
Pair("Jujutsu Kaisen 0", "$baseUrl/manga/jujutsu-kaisen-0/"),
Pair("JJK Light Novel", "$baseUrl/manga/jujutsu-kaisen-first-light-novel/"),
Pair("No.9", "$baseUrl/manga/no-9/"),
Pair("JJK Colored", "$baseUrl/manga/jujutsu-kaisen-colored/"),
Pair("Fanbook", "$baseUrl/manga/jujutsu-kaisen-official-fanbook/"),
).sortedBy { it.first }.distinctBy { it.second }
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

View File

@@ -0,0 +1,16 @@
package eu.kanade.tachiyomi.extension.en.readkaguyasamamangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadKaguyaSamaMangaOnline : MangaCatalog("Read Kaguya-sama Manga Online", "https://ww1.readkaguyasama.com", "en") {
override val sourceList = listOf(
Pair("Kaguya-sama: Love is War", "$baseUrl/manga/kaguya-sama-love-is-war/"),
Pair("Official Doujin", "$baseUrl/manga/kaguya-wants-to-be-confessed-to-official-doujin/"),
Pair("Spin off", "$baseUrl/manga/we-want-to-talk-about-kaguya/"),
Pair("Light Novel", "$baseUrl/manga/kaguya-sama-light-novel/"),
Pair("Instant Bullet", "$baseUrl/manga/ib-instant-bullet/"),
Pair("Oshi no Ko", "$baseUrl/manga/oshi-no-ko/"),
Pair("Sayonara Piano Sonata", "$baseUrl/manga/sayonara-piano-sonata/"),
Pair("Original Hinatazaka", "$baseUrl/manga/original-hinatazaka/"),
).sortedBy { it.first }.distinctBy { it.second }
}

View File

@@ -0,0 +1,11 @@
package eu.kanade.tachiyomi.extension.en.readkingdommangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadKingdomMangaOnline : MangaCatalog("Read Kingdom Manga Online", "https://ww2.readkingdom.com", "en") {
override val sourceList = listOf(
Pair("Kingdom", "$baseUrl/manga/kingdom/"),
Pair("Li Mu", "$baseUrl/manga/li-mu/"),
Pair("Meng Wu & Chu Zi", "$baseUrl/manga/meng-wu-and-chu-zi-one-shot/"),
).sortedBy { it.first }.distinctBy { it.second }
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

View File

@@ -0,0 +1,18 @@
package eu.kanade.tachiyomi.extension.en.readnanatsunotaizai7deadlysinsmangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadNanatsuNoTaizai7DeadlySinsMangaOnline : MangaCatalog("Read Nanatsu no Taizai 7 Deadly Sins Manga Online", "https://ww3.read7deadlysins.com", "en") {
override val sourceList = listOf(
Pair("Mokushiroku no Yonkishi", "$baseUrl/manga/four-horsemen-of-the-apocalypse/"),
Pair("7DS: School", "$baseUrl/manga/mayoe-nanatsu-no-taizai-gakuen/"),
Pair("7DS:7 Days", "$baseUrl/manga/nanatsu-no-taizai-seven-days/"),
Pair("7DS:Vampires", "$baseUrl/manga/nanatsu-no-taizai-vampires-of-edinburgh/"),
Pair("Queen of Altar", "$baseUrl/manga/the-queen-of-the-altar/"),
Pair("7DS: 7 Colors", "$baseUrl/manga/nanatsu-no-taizai-nanairo-no-tsuioku/"),
Pair("7DS x FT", "$baseUrl/manga/fairy-tail-x-nanatsu-no-taizai-christmas-special/"),
Pair("7 Deadly Sins", "$baseUrl/manga/nanatsu-no-taizai/"),
Pair("7DS:7 Scars", "$baseUrl/manga/nanatsu-no-taizai-the-seven-scars-which-they-left-behind/"),
Pair("Kongou Banchou", "$baseUrl/manga/kongou-banchou/"),
).sortedBy { it.first }.distinctBy { it.second }
}

View File

@@ -0,0 +1,13 @@
package eu.kanade.tachiyomi.extension.en.readnarutoborutosamurai8mangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadNarutoBorutoSamurai8MangaOnline : MangaCatalog("Read Naruto Boruto Samurai 8 Manga Online", "https://ww7.readnaruto.com", "en") {
override val sourceList = listOf(
Pair("Boruto", "$baseUrl/manga/boruto-naruto-next-generations/"),
Pair("Naruto", "$baseUrl/manga/naruto/"),
Pair("Colored", "$baseUrl/manga/naruto-digital-colored-comics/"),
Pair("Naruto Gaiden", "$baseUrl/manga/naruto-gaiden-the-seventh-hokage/"),
Pair("Samurai 8", "$baseUrl/manga/samurai-8-hachimaru-den/"),
).sortedBy { it.first }.distinctBy { it.second }
}

View File

@@ -0,0 +1,35 @@
package eu.kanade.tachiyomi.extension.en.readnoblessemanhwaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
class ReadNoblesseManhwaOnline : MangaCatalog("Read Noblesse Manhwa Online", "https://ww2.readnoblesse.com", "en") {
override val sourceList = listOf(
Pair("Noblesse", "$baseUrl/manga/noblesse/"),
Pair("Rais Adventure", "$baseUrl/manga/noblesse-rais-adventure/"),
Pair("NOBLESSE S", "$baseUrl/manga/noblesse-s/"),
Pair("Ability", "$baseUrl/manga/ability/"),
).sortedBy { it.first }.distinctBy { it.second }
override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply {
description = document.select("div.flex > div.py-2 > div:not(:first-child)").text()
title = document.select(".container h1").text()
thumbnail_url = document.select("img.rounded-full").attr("src")
}
override fun chapterListSelector(): String = "div.w-full > div > div.flex"
override fun chapterFromElement(element: Element): SChapter = SChapter.create().apply {
val name1 = element.select(".flex-col > a:not(.text-xs)").text()
val name2 = element.select(".text-xs:not(a)").text()
if (name2 == "") {
name = name1
} else {
name = "$name1 - $name2"
}
url = element.select(".flex-col > a:not(.text-xs)").attr("abs:href")
date_upload = System.currentTimeMillis()
}
}

View File

@@ -0,0 +1,20 @@
package eu.kanade.tachiyomi.extension.en.readonepiecemangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadOnePieceMangaOnline : MangaCatalog("Read One Piece Manga Online", "https://ww8.readonepiece.com", "en") {
override val sourceList = listOf(
Pair("One Piece", "$baseUrl/manga/one-piece/"),
Pair("Colored", "$baseUrl/manga/one-piece-digital-colored-comics/"),
Pair("Soma x Sanji", "$baseUrl/manga/shokugeki-no-sanji-one-shot/"),
Pair("OP x Toriko", "$baseUrl/manga/one-piece-x-toriko/"),
Pair("Party", "$baseUrl/manga/one-piece-party/"),
Pair("DB x OP", "$baseUrl/manga/dragon-ball-x-one-piece/"),
Pair("Wanted!", "$baseUrl/manga/wanted-one-piece/"),
Pair("Ace's Story", "$baseUrl/manga/one-piece-ace-s-story/"),
Pair("Omake", "$baseUrl/manga/one-piece-omake/"),
Pair("Vivre Card", "$baseUrl/manga/vivre-card-databook/"),
Pair("Databook", "$baseUrl/manga/one-piece-databook/"),
Pair("Ace's Story Manga", "$baseUrl/manga/one-piece-ace-story-manga/"),
).sortedBy { it.first }.distinctBy { it.second }
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

View File

@@ -0,0 +1,30 @@
package eu.kanade.tachiyomi.extension.en.readonepunchmanmangaonlinetwo
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
class ReadOnePunchManMangaOnlineTwo : MangaCatalog("Read One-Punch Man Manga Online", "https://ww3.readopm.com", "en") {
override val sourceList = listOf(
Pair("One Punch Man", "$baseUrl/manga/one-punch-man/"),
Pair("Onepunch-Man (ONE)", "$baseUrl/manga/onepunch-man-one/"),
Pair("Colored", "$baseUrl/manga/one-punch-man-colored/"),
Pair("Mob Psycho 100", "$baseUrl/manga/mob-psycho-100/"),
Pair("Reigen", "$baseUrl/manga/reigen/"),
Pair("Eyeshield 21", "$baseUrl/manga/eyeshield-21/"),
).sortedBy { it.first }.distinctBy { it.second }
override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply {
description = document.select("div.card-body > p").text()
title = document.select("h2 > span").text().substringAfter("Manga: ").trim()
thumbnail_url = document.select(".card-img-right").attr("src")
}
override fun chapterListSelector(): String = "tbody > tr"
override fun chapterFromElement(element: Element): SChapter = SChapter.create().apply {
name = element.select("td:first-child").text()
url = element.select("a").attr("abs:href")
date_upload = System.currentTimeMillis() // I have no idear how to parse Date stuff
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 KiB

View File

@@ -0,0 +1,10 @@
package eu.kanade.tachiyomi.extension.en.readsololevelingmangamanhwaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadSoloLevelingMangaManhwaOnline : MangaCatalog("Read Solo Leveling Manga Manhwa Online", "https://readsololeveling.org", "en") {
override val sourceList = listOf(
Pair("Solo Leveling", "$baseUrl/manga/solo-leveling/"),
Pair("Light Novel", "$baseUrl/manga/solo-leveling-novel/"),
).sortedBy { it.first }.distinctBy { it.second }
}

View File

@@ -0,0 +1,37 @@
package eu.kanade.tachiyomi.extension.en.readswordartonlinemangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
class ReadSwordArtOnlineMangaOnline : MangaCatalog("Read Sword Art Online Manga Online", "https://manga.watchsao.tv", "en") {
override val sourceList = listOf(
Pair("SAO", "$baseUrl/manga/sword-art-online/"),
Pair("Alicization", "$baseUrl/manga/sword-art-online-project-alicization/"),
Pair("Progressive", "$baseUrl/manga/sword-art-online-progressive/"),
Pair("Progressive 2", "$baseUrl/manga/sword-art-online-progressive-barcarolle-of-froth/"),
Pair("Fairy Dance", "$baseUrl/manga/sword-art-online-fairy-dance/"),
Pair("GGO", "$baseUrl/manga/sword-art-online-alternative-gun-gale-online/"),
Pair("4-koma", "$baseUrl/manga/sword-art-online-4-koma/"),
Pair("Aincrad", "$baseUrl/manga/sword-art-online-aincrad-night-of-kirito/"),
Pair("Girls Ops", "$baseUrl/manga/sword-art-online-girls-ops/"),
Pair("Anthology", "$baseUrl/manga/sword-art-online-comic-anthology/"),
Pair("Lycoris", "$baseUrl/manga/sword-art-online-lycoris/"),
Pair("Hollow Realization", "$baseUrl/manga/sword-art-online-hollow-realization/"),
Pair("Ordinal Scale", "$baseUrl/manga/sword-art-online-ordinal-scale/"),
).sortedBy { it.first }.distinctBy { it.second }
override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply {
description = document.select("div.card-body > p").text()
title = document.select("h2 > span").text()
thumbnail_url = document.select(".card-img-right").attr("src")
}
override fun chapterListSelector(): String = "tbody > tr"
override fun chapterFromElement(element: Element): SChapter = SChapter.create().apply {
name = element.select("td:first-child").text()
url = element.select("a.btn-primary").attr("abs:href")
date_upload = System.currentTimeMillis() // I have no idear how to parse Date stuff
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

View File

@@ -0,0 +1,14 @@
package eu.kanade.tachiyomi.extension.en.readthepromisedneverlandmangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadThePromisedNeverlandMangaOnline : MangaCatalog("Read The Promised Neverland Manga Online", "https://ww3.readneverland.com", "en") {
override val sourceList = listOf(
Pair("The Promised Neverland", "$baseUrl/manga/the-promised-neverland/"),
Pair("Parody", "$baseUrl/manga/the-parodied-jokeland/"),
Pair("Novels", "$baseUrl/manga/novels/"),
Pair("Poppy no Negai", "$baseUrl/manga/poppy-no-negai/"),
Pair("Author's One shot", "$baseUrl/manga/shinrei-shashinshi-kouno-saburou/"),
Pair("Ashley Goeth", "$baseUrl/manga/ashley-goeth-no-yukue/"),
).sortedBy { it.first }.distinctBy { it.second }
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 KiB

View File

@@ -0,0 +1,15 @@
package eu.kanade.tachiyomi.extension.en.readtokyoghoulretokyoghoulmangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadTokyoGhoulReTokyoGhoulMangaOnline : MangaCatalog("Read Tokyo Ghoul Re & Tokyo Ghoul Manga Online", "https://ww8.tokyoghoulre.com", "en") {
override val sourceList = listOf(
Pair("Tokyo Ghoul", "$baseUrl/manga/tokyo-ghoul/"),
Pair("Tokyo Ghoul:re", "$baseUrl/manga/tokyo-ghoulre/"),
Pair("TG Jack", "$baseUrl/manga/tokyo-ghoul-jack/"),
Pair("TGre Colored", "$baseUrl/manga/tokyo-ghoulre-colored/"),
Pair("Gorilla", "$baseUrl/manga/this-gorilla-will-die-in-1-day/"),
Pair("ArtBook", "$baseUrl/manga/tokyo-ghoul-zakki/"),
Pair("TG Light Novel", "$baseUrl/manga/tokyo-ghoul-re-light-novels/"),
).sortedBy { it.first }.distinctBy { it.second }
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

View File

@@ -0,0 +1,13 @@
package eu.kanade.tachiyomi.extension.en.readtowerofgodmanhwamangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadTowerOfGodManhwaMangaOnline : MangaCatalog("Read Tower of God Manhwa Manga Online", "https://ww1.readtowerofgod.com", "en") {
override val sourceList = listOf(
Pair("Season 1", "$baseUrl/manga/tower-of-god-season-1/"),
Pair("Season 2", "$baseUrl/manga/tower-of-god-season-2/"),
Pair("Season 3", "$baseUrl/manga/tower-of-god-season-3/"),
Pair("RAW", "$baseUrl/manga/tower-of-god-spoilers-raw/"),
Pair("SIU Blog Postd", "$baseUrl/manga/siu-blog-post-translation/"),
).sortedBy { it.first }.distinctBy { it.second }
}

View File

@@ -0,0 +1,11 @@
package eu.kanade.tachiyomi.extension.en.readvinlandsagamangaonline
import eu.kanade.tachiyomi.multisrc.mangacatalog.MangaCatalog
class ReadVinlandSagaMangaOnline : MangaCatalog("Read Vinland Saga Manga Online", "https://ww1.readvinlandsaga.com", "en") {
override val sourceList = listOf(
Pair("Vinland Saga", "$baseUrl/manga/vinland-saga/"),
Pair("Fan Colored", "$baseUrl/manga/vinland-saga-colored/"),
Pair("Planetes", "$baseUrl/manga/planetes/"),
).sortedBy { it.first }.distinctBy { it.second }
}