add few more sources to madara (#7935)
* 24hmanga icon * mangabox icon * mangaforfreecom icon * mangahz icon * mangalime icon * delete ym icon * replace ym icon * Create BoysLove.kt * Update BoysLove.kt * Update MangaClash.kt * Update MangaClash.kt * Update MangaKomi.kt * Create ManhwahentaiMe.kt * Update ManyToon.kt * Create ManyToonMe.kt * Update MidnightMessScans.kt * Create 24hManga.kt * Create MangaForFreeCom.kt * Create MangaHZ.kt * Delete MangaHZ.kt * Create MangaHZ.kt * Update MangaKitsune.kt * Delete multisrc/overrides/madara/mangadna directory * Update MadaraGenerator.kt * Create MangaBox.kt * Update MangaClash.kt * Update 24hManga.kt * Update MangaHZ.kt * Delete multisrc/overrides/madara/aloalivn/src directory * Update 24hManga.kt * Update 24hManga.kt * Delete multisrc/overrides/madara/mangaforfreecom directory * remove mangaforfreecom * Delete multisrc/overrides/madara/24hmanga directory * 24hmanga icon * Create TwenyFourhManga.kt * Rename TwenyFourhManga.kt to TwentyFourhManga.kt * Update MadaraGenerator.kt * Update TwentyFourhManga.kt * Update ManhwahentaiMe.kt * Update ManyToon.kt * Update ManyToonMe.kt
|
@ -1,26 +1,30 @@
|
|||
package eu.kanade.tachiyomi.extension.en.aloalivn
|
||||
package eu.kanade.tachiyomi.extension.en.boyslove
|
||||
|
||||
import eu.kanade.tachiyomi.annotations.Nsfw
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
|
||||
class Aloalivn : Madara("Aloalivn", "https://aloalivn.com", "en") {
|
||||
@Nsfw
|
||||
class BoysLove : Madara("BoysLove", "https://boyslove.me", "en") {
|
||||
|
||||
override fun getGenreList() = listOf(
|
||||
Genre("Action", "action"),
|
||||
Genre("Adult", "adult"),
|
||||
Genre("Adventure", "adventure"),
|
||||
Genre("Anime", "anime"),
|
||||
Genre("Boys Love", "boys-love"),
|
||||
Genre("Cartoon", "cartoon"),
|
||||
Genre("Comedy", "comedy"),
|
||||
Genre("Comic", "comic"),
|
||||
Genre("Complete", "complete"),
|
||||
Genre("Cooking", "cooking"),
|
||||
Genre("Detective", "detective"),
|
||||
Genre("Doujinshi", "doujinshi"),
|
||||
Genre("Drama", "drama"),
|
||||
Genre("Ecchi", "ecchi"),
|
||||
Genre("Fantasy", "fantasy"),
|
||||
Genre("Fanstasy", "fantasy"),
|
||||
Genre("Gender bender", "gender-bender"),
|
||||
Genre("Harem", "harem"),
|
||||
Genre("Historical", "historical"),
|
||||
Genre("Horror", "horror"),
|
||||
Genre("Isekai", "Isekai"),
|
||||
Genre("Josei", "josei"),
|
||||
Genre("Live action", "live-action"),
|
||||
Genre("Manga", "manga"),
|
||||
|
@ -29,12 +33,13 @@ class Aloalivn : Madara("Aloalivn", "https://aloalivn.com", "en") {
|
|||
Genre("Martial arts", "martial-arts"),
|
||||
Genre("Mature", "mature"),
|
||||
Genre("Mecha", "mecha"),
|
||||
Genre("Medical", "medical"),
|
||||
Genre("Mystery", "mystery"),
|
||||
Genre("One shot", "one-shot"),
|
||||
Genre("Psychological", "psychological"),
|
||||
Genre("Romance", "romance"),
|
||||
Genre("School Life", "school-life"),
|
||||
Genre("Si-fi", "si-fi"),
|
||||
Genre("Sci-fi", "sci-fi"),
|
||||
Genre("Seinen", "seinen"),
|
||||
Genre("Shoujo", "shoujo"),
|
||||
Genre("Shoujo ai", "shoujo-ai"),
|
||||
|
@ -42,12 +47,11 @@ class Aloalivn : Madara("Aloalivn", "https://aloalivn.com", "en") {
|
|||
Genre("Shounen ai", "shounen-ai"),
|
||||
Genre("Slice of Life", "slice-of-life"),
|
||||
Genre("Smut", "smut"),
|
||||
Genre("Soft Yaoi", "soft-yaoi"),
|
||||
Genre("Soft Yuri", "soft-yuri"),
|
||||
Genre("Sports", "sports"),
|
||||
Genre("Supernatural", "supernatural"),
|
||||
Genre("Tragedy", "tragedy"),
|
||||
Genre("Thriller", "thriller"),
|
||||
Genre("Webtoon", "webtoon"),
|
||||
Genre("Webtoons", "webtoons"),
|
||||
Genre("Yaoi", "yaoi"),
|
||||
Genre("Yuri", "yuri"),
|
||||
)
|
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 163 KiB |
|
@ -0,0 +1,12 @@
|
|||
package eu.kanade.tachiyomi.extension.en.mangabox
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class MangaBox : Madara(
|
||||
"MangaBox",
|
||||
"https://mangabox.org",
|
||||
"en",
|
||||
dateFormat = SimpleDateFormat("dd.MM.yyyy", Locale.US)
|
||||
)
|
|
@ -8,7 +8,7 @@ import okhttp3.OkHttpClient
|
|||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class MangaClash : Madara(
|
||||
"Manga Clash",
|
||||
"MangaClash",
|
||||
"https://mangaclash.com",
|
||||
"en",
|
||||
dateFormat = SimpleDateFormat("MM/dd/yy", Locale.US)
|
||||
|
@ -17,4 +17,70 @@ class MangaClash : Madara(
|
|||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.addInterceptor(RateLimitInterceptor(1, 1, TimeUnit.SECONDS))
|
||||
.build()
|
||||
|
||||
override fun getGenreList() = listOf(
|
||||
Genre("4-koma", "4-koma"),
|
||||
Genre("Action", "action"),
|
||||
Genre("Adaptation", "adaptation"),
|
||||
Genre("Adult", "adult"),
|
||||
Genre("Adventure", "adventure"),
|
||||
Genre("Comedy", "comedy"),
|
||||
Genre("Cooking", "cooking"),
|
||||
Genre("Crime", "crime"),
|
||||
Genre("Demons", "demons"),
|
||||
Genre("Doujinshi", "doujinshi"),
|
||||
Genre("Drama", "drama"),
|
||||
Genre("Ecchi", "ecchi"),
|
||||
Genre("English", "english"),
|
||||
Genre("Fanstasy", "fantasy"),
|
||||
Genre("Food", "food"),
|
||||
Genre("Full color", "full-color"),
|
||||
Genre("Game", "game"),
|
||||
Genre("Gender bender", "gender-bender"),
|
||||
Genre("Harem", "harem"),
|
||||
Genre("Historical", "historical"),
|
||||
Genre("Horror", "horror"),
|
||||
Genre("Isekai", "Isekai"),
|
||||
Genre("Japanese", "japanese"),
|
||||
Genre("Josei", "josei"),
|
||||
Genre("Korean", "korean"),
|
||||
Genre("Magic", "magic"),
|
||||
Genre("Magical girls", "magical-girls"),
|
||||
Genre("Manga", "manga"),
|
||||
Genre("Manhua", "manhua"),
|
||||
Genre("Manhwa", "manhwa"),
|
||||
Genre("Martial arts", "martial-arts"),
|
||||
Genre("Mature", "mature"),
|
||||
Genre("Mecha", "mecha"),
|
||||
Genre("Medical", "medical"),
|
||||
Genre("Military", "military"),
|
||||
Genre("Mystery", "mystery"),
|
||||
Genre("One shot", "one-shot"),
|
||||
Genre("Philosophical", "philosophical"),
|
||||
Genre("Police", "police"),
|
||||
Genre("Psychological", "psychological"),
|
||||
Genre("Reincarnation", "reincarnation"),
|
||||
Genre("Romance", "romance"),
|
||||
Genre("School Life", "school-life"),
|
||||
Genre("Sci-fi", "sci-fi"),
|
||||
Genre("Seinen", "seinen"),
|
||||
Genre("Shoujo", "shoujo"),
|
||||
Genre("Shoujo ai", "shoujo-ai"),
|
||||
Genre("Shoujoai", "shoujoai"),
|
||||
Genre("Shounen", "shounen"),
|
||||
Genre("Shounen ai", "shounen-ai"),
|
||||
Genre("Slice of Life", "slice-of-life"),
|
||||
Genre("Smut", "smut"),
|
||||
Genre("Sports", "sports"),
|
||||
Genre("Super power", "super-power"),
|
||||
Genre("Superhero", "superhero"),
|
||||
Genre("Supernatural", "supernatural"),
|
||||
Genre("Thriller", "thriller"),
|
||||
Genre("Tragedy", "tragedy"),
|
||||
Genre("Webtoon", "webtoon"),
|
||||
Genre("Webtoons", "webtoons"),
|
||||
Genre("Wuxia", "wuxia"),
|
||||
Genre("Yaoi", "yaoi"),
|
||||
Genre("Yuri", "yuri"),
|
||||
)
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 50 KiB |
|
@ -1,100 +0,0 @@
|
|||
package eu.kanade.tachiyomi.extension.en.mangadna
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.annotations.Nsfw
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.network.POST
|
||||
import eu.kanade.tachiyomi.network.asObservable
|
||||
import eu.kanade.tachiyomi.source.model.Filter
|
||||
import eu.kanade.tachiyomi.source.model.FilterList
|
||||
import eu.kanade.tachiyomi.source.model.MangasPage
|
||||
import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.CacheControl
|
||||
import okhttp3.FormBody
|
||||
import okhttp3.Headers
|
||||
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import okhttp3.RequestBody.Companion.toRequestBody
|
||||
import okhttp3.Response
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import rx.Observable
|
||||
import java.text.ParseException
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Calendar
|
||||
import java.util.Locale
|
||||
import java.util.concurrent.TimeUnit
|
||||
import kotlin.math.absoluteValue
|
||||
import kotlin.random.Random
|
||||
|
||||
@Nsfw
|
||||
class MangaDNA : Madara("MangaDNA", "https://mangadna.com", "en", dateFormat = SimpleDateFormat("dd MMM yyyy", Locale.US)) {
|
||||
|
||||
override fun chapterListSelector() = "li.a-h, .row-content-chapter li"
|
||||
|
||||
override fun mangaDetailsParse(document: Document): SManga {
|
||||
val manga = SManga.create()
|
||||
with(document) {
|
||||
select("div.post-title h1").first()?.let {
|
||||
manga.title = it.ownText()
|
||||
}
|
||||
select("div.author-content").first()?.let {
|
||||
if (it.text().notUpdating()) manga.author = it.text()
|
||||
}
|
||||
select("div.artist-content").first()?.let {
|
||||
if (it.text().notUpdating()) manga.artist = it.text()
|
||||
}
|
||||
select("div.panel-story-description").let {
|
||||
manga.description = it.select("div.dsct").text()
|
||||
}
|
||||
select("div.summary_image img").first()?.let {
|
||||
manga.thumbnail_url = imageFromElement(it)
|
||||
}
|
||||
select("div.summary-content").last()?.let {
|
||||
manga.status = when (it.text()) {
|
||||
// I don't know what's the corresponding for COMPLETED and LICENSED
|
||||
// There's no support for "Canceled" or "On Hold"
|
||||
"Completed", "Completo", "Concluído", "Concluido", "Terminé" -> SManga.COMPLETED
|
||||
"OnGoing", "Продолжается", "Updating", "Em Lançamento", "Em andamento", "Em Andamento", "En cours", "Ativo", "Lançando" -> SManga.ONGOING
|
||||
else -> SManga.UNKNOWN
|
||||
}
|
||||
}
|
||||
val genres = select("div.genres-content a")
|
||||
.map { element -> element.text().toLowerCase(Locale.ROOT) }
|
||||
.toMutableSet()
|
||||
|
||||
// add tag(s) to genre
|
||||
select("div.tags-content a").forEach { element ->
|
||||
if (genres.contains(element.text()).not()) {
|
||||
genres.add(element.text().toLowerCase(Locale.ROOT))
|
||||
}
|
||||
}
|
||||
|
||||
// add manga/manhwa/manhua thinggy to genre
|
||||
document.select(seriesTypeSelector).firstOrNull()?.ownText()?.let {
|
||||
if (it.isEmpty().not() && it.notUpdating() && it != "-" && genres.contains(it).not()) {
|
||||
genres.add(it.toLowerCase(Locale.ROOT))
|
||||
}
|
||||
}
|
||||
|
||||
manga.genre = genres.toList().joinToString(", ") { it.capitalize(Locale.ROOT) }
|
||||
|
||||
// add alternative name to manga description
|
||||
document.select(altNameSelector).firstOrNull()?.ownText()?.let {
|
||||
if (it.isEmpty().not() && it.notUpdating()) {
|
||||
manga.description += when {
|
||||
manga.description.isNullOrEmpty() -> altName + it
|
||||
else -> "\n\n$altName" + it
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return manga
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 88 KiB |
|
@ -0,0 +1,9 @@
|
|||
package eu.kanade.tachiyomi.extension.en.mangahz
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.annotations.Nsfw
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
@Nsfw
|
||||
class MangaHZ : Madara("MangaHZ", "https://mangahz.com", "en", dateFormat = SimpleDateFormat("MM/dd/yyyy", Locale.US))
|
|
@ -1,24 +1,14 @@
|
|||
package eu.kanade.tachiyomi.extension.en.mangakitsune
|
||||
|
||||
import eu.kanade.tachiyomi.lib.ratelimit.RateLimitInterceptor
|
||||
import eu.kanade.tachiyomi.annotations.Nsfw
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Response
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
@Nsfw
|
||||
class MangaKitsune : Madara("MangaKitsune", "https://mangakitsune.com", "en", dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US)) {
|
||||
|
||||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.addInterceptor(RateLimitInterceptor(1, 1, TimeUnit.SECONDS))
|
||||
.build()
|
||||
|
||||
|
||||
|
||||
|
||||
override fun chapterListParse(response: Response): List<SChapter> = super.chapterListParse(response).reversed()
|
||||
|
||||
|
|
|
@ -16,4 +16,74 @@ class MangaKomi : Madara(
|
|||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.addInterceptor(RateLimitInterceptor(1, 1, TimeUnit.SECONDS))
|
||||
.build()
|
||||
|
||||
override fun getGenreList() = listOf(
|
||||
Genre("4-koma", "4-koma"),
|
||||
Genre("Action", "action"),
|
||||
Genre("Adaptation", "adaptation"),
|
||||
Genre("Adult", "adult"),
|
||||
Genre("Adventure", "adventure"),
|
||||
Genre("Comedy", "comedy"),
|
||||
Genre("Cooking", "cooking"),
|
||||
Genre("Crime", "crime"),
|
||||
Genre("Demons", "demons"),
|
||||
Genre("Doujinshi", "doujinshi"),
|
||||
Genre("Drama", "drama"),
|
||||
Genre("Ecchi", "ecchi"),
|
||||
Genre("Fanstasy", "fantasy"),
|
||||
Genre("Food", "food"),
|
||||
Genre("Full color", "full-color"),
|
||||
Genre("Game", "game"),
|
||||
Genre("Gender bender", "gender-bender"),
|
||||
Genre("Harem", "harem"),
|
||||
Genre("Historical", "historical"),
|
||||
Genre("Horror", "horror"),
|
||||
Genre("Isekai", "Isekai"),
|
||||
Genre("Japanese", "japanese"),
|
||||
Genre("Josei", "josei"),
|
||||
Genre("Kids", "kids"),
|
||||
Genre("Korean", "korean"),
|
||||
Genre("Magic", "magic"),
|
||||
Genre("Magical girls", "magical-girls"),
|
||||
Genre("Manga", "manga"),
|
||||
Genre("Manhua", "manhua"),
|
||||
Genre("Manhwa", "manhwa"),
|
||||
Genre("Martial arts", "martial-arts"),
|
||||
Genre("Mature", "mature"),
|
||||
Genre("Mecha", "mecha"),
|
||||
Genre("Medical", "medical"),
|
||||
Genre("Military", "military"),
|
||||
Genre("Monsters", "monsters"),
|
||||
Genre("Music", "music"),
|
||||
Genre("Mystery", "mystery"),
|
||||
Genre("One shot", "one-shot"),
|
||||
Genre("Philosophical", "philosophical"),
|
||||
Genre("Police", "police"),
|
||||
Genre("Psychological", "psychological"),
|
||||
Genre("Reincarnation", "reincarnation"),
|
||||
Genre("Romance", "romance"),
|
||||
Genre("School Life", "school-life"),
|
||||
Genre("Sci fi", "sci-fi"),
|
||||
Genre("Seinen", "seinen"),
|
||||
Genre("Shoujo", "shoujo"),
|
||||
Genre("Shoujo ai", "shoujo-ai"),
|
||||
Genre("Shoujoai", "shoujoai"),
|
||||
Genre("Shounen", "shounen"),
|
||||
Genre("Shounen ai", "shounen-ai"),
|
||||
Genre("Slice of Life", "slice-of-life"),
|
||||
Genre("Smut", "smut"),
|
||||
Genre("Sports", "sports"),
|
||||
Genre("Super power", "super-power"),
|
||||
Genre("Superhero", "superhero"),
|
||||
Genre("Supernatural", "supernatural"),
|
||||
Genre("Thriller", "thriller"),
|
||||
Genre("Tragedy", "tragedy"),
|
||||
Genre("Vampire", "vampire"),
|
||||
Genre("Vietnamese", "vietnamese"),
|
||||
Genre("Webtoon", "webtoon"),
|
||||
Genre("Webtoons", "webtoons"),
|
||||
Genre("Wuxia", "wuxia"),
|
||||
Genre("Yaoi", "yaoi"),
|
||||
Genre("Yuri", "yuri"),
|
||||
)
|
||||
}
|
||||
|
|
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 109 KiB |
|
@ -0,0 +1,57 @@
|
|||
package eu.kanade.tachiyomi.extension.en.manhwahentaime
|
||||
|
||||
import eu.kanade.tachiyomi.annotations.Nsfw
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
|
||||
@Nsfw
|
||||
class ManhwahentaiMe : Madara("Manhwahentai.me", "https://manhwahentai.me", "en") {
|
||||
|
||||
override fun getGenreList() = listOf(
|
||||
Genre("Action", "action"),
|
||||
Genre("Adult", "adult"),
|
||||
Genre("Adventure", "adventure"),
|
||||
Genre("Comedy", "comedy"),
|
||||
Genre("Complete", "complete"),
|
||||
Genre("Cooking", "cooking"),
|
||||
Genre("Doujinshi", "doujinshi"),
|
||||
Genre("Drama", "drama"),
|
||||
Genre("Ecchi", "ecchi"),
|
||||
Genre("Fanstasy", "fantasy"),
|
||||
Genre("Gender bender", "gender-bender"),
|
||||
Genre("Gossip", "gossip"),
|
||||
Genre("Harem", "harem"),
|
||||
Genre("Historical", "historical"),
|
||||
Genre("Horror", "horror"),
|
||||
Genre("Isekai", "isekai"),
|
||||
Genre("Josei", "josei"),
|
||||
Genre("Live action", "live-action"),
|
||||
Genre("Manga", "manga"),
|
||||
Genre("Manhua", "manhua"),
|
||||
Genre("Manhwa", "manhwa"),
|
||||
Genre("Martial arts", "martial-arts"),
|
||||
Genre("Mature", "mature"),
|
||||
Genre("Mecha", "mecha"),
|
||||
Genre("Medical", "medical"),
|
||||
Genre("Mystery", "mystery"),
|
||||
Genre("One shot", "one-shot"),
|
||||
Genre("Psychological", "psychological"),
|
||||
Genre("Romance", "romance"),
|
||||
Genre("School Life", "school-life"),
|
||||
Genre("Sci-fi", "sci-fi"),
|
||||
Genre("Seinen", "seinen"),
|
||||
Genre("Shoujo", "shoujo"),
|
||||
Genre("Shoujo ai", "shoujo-ai"),
|
||||
Genre("Shounen", "shounen"),
|
||||
Genre("Shounen ai", "shounen-ai"),
|
||||
Genre("Slice of Life", "slice-of-life"),
|
||||
Genre("Smut", "smut"),
|
||||
Genre("Sports", "sports"),
|
||||
Genre("Supernatural", "supernatural"),
|
||||
Genre("Thriller", "thriller"),
|
||||
Genre("Tragedy", "tragedy"),
|
||||
Genre("Webtoon", "webtoon"),
|
||||
Genre("Webtoons", "webtoons"),
|
||||
Genre("Yaoi", "yaoi"),
|
||||
Genre("Yuri", "yuri"),
|
||||
)
|
||||
}
|
|
@ -6,4 +6,59 @@ import eu.kanade.tachiyomi.multisrc.madara.Madara
|
|||
@Nsfw
|
||||
class ManyToon : Madara("ManyToon", "https://manytoon.com", "en") {
|
||||
|
||||
override fun getGenreList() = listOf(
|
||||
Genre("Action", "action"),
|
||||
Genre("Adult", "adult"),
|
||||
Genre("Adventure", "adventure"),
|
||||
Genre("BL", "bl"),
|
||||
Genre("Boys love", "boys-love"),
|
||||
Genre("Comedy", "comedy"),
|
||||
Genre("Complete", "complete"),
|
||||
Genre("Cooking", "cooking"),
|
||||
Genre("Doujinshi", "doujinshi"),
|
||||
Genre("Drama", "drama"),
|
||||
Genre("Ecchi", "ecchi"),
|
||||
Genre("Fanstasy", "fantasy"),
|
||||
Genre("Gender bender", "gender-bender"),
|
||||
Genre("Girls love", "girls-love"),
|
||||
Genre("Gossip", "gossip"),
|
||||
Genre("Harem", "harem"),
|
||||
Genre("Hentai", "hentai"),
|
||||
Genre("Historical", "historical"),
|
||||
Genre("Horror", "horror"),
|
||||
Genre("Isekai", "isekai"),
|
||||
Genre("Japanese", "japanese"),
|
||||
Genre("Josei", "josei"),
|
||||
Genre("Manga", "manga"),
|
||||
Genre("Manga hentai", "manga-hentai"),
|
||||
Genre("Manhua", "manhua"),
|
||||
Genre("Manhwa", "manhwa"),
|
||||
Genre("Martial arts", "martial-arts"),
|
||||
Genre("Mature", "mature"),
|
||||
Genre("Mecha", "mecha"),
|
||||
Genre("Medical", "medical"),
|
||||
Genre("Mystery", "mystery"),
|
||||
Genre("One shot", "one-shot"),
|
||||
Genre("Porn comic", "porn-comic"),
|
||||
Genre("Psychological", "psychological"),
|
||||
Genre("Romance", "romance"),
|
||||
Genre("School Life", "school-life"),
|
||||
Genre("Sci-fi", "sci-fi"),
|
||||
Genre("Seinen", "seinen"),
|
||||
Genre("Shoujo", "shoujo"),
|
||||
Genre("Shoujo ai", "shoujo-ai"),
|
||||
Genre("Shounen", "shounen"),
|
||||
Genre("Shounen ai", "shounen-ai"),
|
||||
Genre("Slice of Life", "slice-of-life"),
|
||||
Genre("Smut", "smut"),
|
||||
Genre("Sports", "sports"),
|
||||
Genre("Supernatural", "supernatural"),
|
||||
Genre("Thriller", "thriller"),
|
||||
Genre("Tragedy", "tragedy"),
|
||||
Genre("Webtoon", "webtoon"),
|
||||
Genre("Webtoons", "webtoons"),
|
||||
Genre("Yaoi", "yaoi"),
|
||||
Genre("Yuri", "yuri"),
|
||||
)
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
package eu.kanade.tachiyomi.extension.en.manytoonme
|
||||
|
||||
import eu.kanade.tachiyomi.annotations.Nsfw
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
|
||||
@Nsfw
|
||||
class ManyToonMe : Madara("ManyToon.me", "https://manytoon.me", "en") {
|
||||
|
||||
override fun getGenreList() = listOf(
|
||||
Genre("Action", "action"),
|
||||
Genre("Adult", "adult"),
|
||||
Genre("Adventure", "adventure"),
|
||||
Genre("Comedy", "comedy"),
|
||||
Genre("Complete", "complete"),
|
||||
Genre("Cooking", "cooking"),
|
||||
Genre("Doujinshi", "doujinshi"),
|
||||
Genre("Drama", "drama"),
|
||||
Genre("Ecchi", "ecchi"),
|
||||
Genre("Fanstasy", "fantasy"),
|
||||
Genre("Gender bender", "gender-bender"),
|
||||
Genre("Gossip", "gossip"),
|
||||
Genre("Harem", "harem"),
|
||||
Genre("Hentai", "hentai"),
|
||||
Genre("Historical", "historical"),
|
||||
Genre("Horror", "horror"),
|
||||
Genre("Isekai", "isekai"),
|
||||
Genre("Josei", "josei"),
|
||||
Genre("Manga", "manga"),
|
||||
Genre("Manga hentai", "manga-hentai"),
|
||||
Genre("Manhua", "manhua"),
|
||||
Genre("Manhwa", "manhwa"),
|
||||
Genre("Martial arts", "martial-arts"),
|
||||
Genre("Mature", "mature"),
|
||||
Genre("Mecha", "mecha"),
|
||||
Genre("Medical", "medical"),
|
||||
Genre("Mystery", "mystery"),
|
||||
Genre("One shot", "one-shot"),
|
||||
Genre("Psychological", "psychological"),
|
||||
Genre("Romance", "romance"),
|
||||
Genre("School Life", "school-life"),
|
||||
Genre("Sci-fi", "sci-fi"),
|
||||
Genre("Seinen", "seinen"),
|
||||
Genre("Shoujo", "shoujo"),
|
||||
Genre("Shoujo ai", "shoujo-ai"),
|
||||
Genre("Shounen", "shounen"),
|
||||
Genre("Shounen ai", "shounen-ai"),
|
||||
Genre("Slice of Life", "slice-of-life"),
|
||||
Genre("Smut", "smut"),
|
||||
Genre("Sports", "sports"),
|
||||
Genre("Supernatural", "supernatural"),
|
||||
Genre("Thriller", "thriller"),
|
||||
Genre("Tragedy", "tragedy"),
|
||||
Genre("Webtoon", "webtoon"),
|
||||
Genre("Webtoons", "webtoons"),
|
||||
Genre("Yaoi", "yaoi"),
|
||||
Genre("Yuri", "yuri"),
|
||||
)
|
||||
|
||||
}
|
|
@ -95,4 +95,16 @@ class MidnightMessScans : Madara("Midnight Mess Scans", "https://midnightmess.or
|
|||
|
||||
return manga
|
||||
}
|
||||
|
||||
override fun getGenreList() = listOf(
|
||||
Genre("Bilibili", "bilibili"),
|
||||
Genre("Complete", "complete"),
|
||||
Genre("Manga", "manga"),
|
||||
Genre("Manhwa", "manhwa"),
|
||||
Genre("Manhua", "manhua"),
|
||||
Genre("Shounen ai", "shounen-ai"),
|
||||
Genre("Thiccass", "thiccass"),
|
||||
Genre("Usahime", "usahime"),
|
||||
Genre("Yaoi", "yaoi"),
|
||||
)
|
||||
}
|
||||
|
|
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 7.9 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 83 KiB |
|
@ -0,0 +1,11 @@
|
|||
package eu.kanade.tachiyomi.extension.en.twentyfourhmanga
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.annotations.Nsfw
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
@Nsfw
|
||||
class TwentyFourhManga : Madara("24hManga", "https://24hmanga.com", "en", dateFormat = SimpleDateFormat("dd/MM/yyyy", Locale.US)) {
|
||||
|
||||
}
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 78 KiB |
|
@ -21,6 +21,7 @@ class MadaraGenerator : ThemeSourceGenerator {
|
|||
SingleLang("1st Kiss", "https://1stkissmanga.com", "en", className = "FirstKissManga", overrideVersionCode = 3),
|
||||
SingleLang("1stKissManga.Club", "https://1stkissmanga.club", "en", className = "FirstKissMangaClub"),
|
||||
SingleLang("247Manga", "https://247manga.com", "en", className = "Manga247"),
|
||||
SingleLang("24hManga", "https://24hmanga.com", "en", isNsfw = true, className = "TwentyFourhManga"),
|
||||
SingleLang("24hRomance", "https://24hromance.com", "en", className = "Romance24h"),
|
||||
SingleLang("365Manga", "https://365manga.com", "en", className = "ThreeSixtyFiveManga", overrideVersionCode = 1),
|
||||
SingleLang("AYATOON", "https://ayatoon.com", "tr", overrideVersionCode = 1),
|
||||
|
@ -46,7 +47,7 @@ class MadaraGenerator : ThemeSourceGenerator {
|
|||
SingleLang("Banana Mecânica", "https://leitorbm.com", "pt-BR", isNsfw = true, pkgName = "bananamecanica", className = "BananaMecanica", overrideVersionCode = 1),
|
||||
SingleLang("BestManga", "https://bestmanga.club", "ru", overrideVersionCode = 1),
|
||||
SingleLang("BestManhua", "https://bestmanhua.com", "en", overrideVersionCode = 2),
|
||||
SingleLang("BoysLove", "https://boyslove.me", "en", overrideVersionCode = 1),
|
||||
SingleLang("BoysLove", "https://boyslove.me", "en", overrideVersionCode = 2),
|
||||
SingleLang("CAT-translator", "https://cat-translator.com", "th", className = "CatTranslator", overrideVersionCode = 1),
|
||||
SingleLang("Café com Yaoi", "http://cafecomyaoi.com.br", "pt-BR", pkgName = "cafecomyaoi", className = "CafeComYaoi", isNsfw = true),
|
||||
SingleLang("CatOnHeadTranslations", "https://catonhead.com", "en", overrideVersionCode = 1),
|
||||
|
@ -92,7 +93,6 @@ class MadaraGenerator : ThemeSourceGenerator {
|
|||
SingleLang("Hiperdex", "https://hiperdex.com", "en", isNsfw = true, overrideVersionCode = 4),
|
||||
SingleLang("Hscans", "https://hscans.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("Hunter Fansub", "https://hunterfansub.com", "es", overrideVersionCode = 1),
|
||||
SingleLang("Hz Manga", "https://www.hzmangas.com", "es"),
|
||||
SingleLang("Ichirin No Hana Yuri", "https://ichirinnohanayuri.com.br", "pt-BR", overrideVersionCode = 3),
|
||||
SingleLang("Immortal Updates", "https://immortalupdates.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("Imperfect Comics", "https://imperfectcomic.com", "en"),
|
||||
|
@ -118,7 +118,6 @@ class MadaraGenerator : ThemeSourceGenerator {
|
|||
SingleLang("Manga Action", "https://manga-action.com", "ar", overrideVersionCode = 1),
|
||||
SingleLang("Manga Bin", "https://mangabin.com/", "en", overrideVersionCode = 1),
|
||||
SingleLang("Manga Chill", "https://mangachill.com/", "en", overrideVersionCode = 1),
|
||||
SingleLang("Manga Clash", "https://mangaclash.com", "en", overrideVersionCode = 2),
|
||||
SingleLang("Manga Crab", "https://mangacrab.com", "es"),
|
||||
SingleLang("Manga Diyari", "https://manga-diyari.com", "tr", overrideVersionCode = 1),
|
||||
SingleLang("Manga Drop Out", "https://www.mangadropout.xyz", "id", isNsfw = true, overrideVersionCode = 1),
|
||||
|
@ -148,16 +147,19 @@ class MadaraGenerator : ThemeSourceGenerator {
|
|||
SingleLang("Manga68", "https://manga68.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("MangaBaz", "https://mangabaz.com", "tr"),
|
||||
SingleLang("MangaBob", "https://mangabob.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("MangaBox", "https://mangabox.org", "en"),
|
||||
SingleLang("MangaClash", "https://mangaclash.com", "en", overrideVersionCode = 3),
|
||||
SingleLang("MangaCultivator", "https://mangacultivator.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("MangaDNA", "https://mangadna.com", "en", isNsfw = true),
|
||||
SingleLang("MangaDods", "https://www.mangadods.com", "en", overrideVersionCode = 2),
|
||||
SingleLang("MangaEffect", "https://mangaeffect.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("MangaFort", "https://mangafort.com", "en"),
|
||||
SingleLang("MangaFoxFull", "https://mangafoxfull.com", "en"),
|
||||
SingleLang("MangaGreat", "https://mangagreat.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("MangaKitsune", "https://mangakitsune.com", "en", isNsfw = true, overrideVersionCode = 3),
|
||||
SingleLang("MangaKomi", "https://mangakomi.com", "en", overrideVersionCode = 3),
|
||||
SingleLang("MangaHZ", "https://mangahz.com", "en", isNsfw = true),
|
||||
SingleLang("MangaKitsune", "https://mangakitsune.com", "en", isNsfw = true, overrideVersionCode = 4),
|
||||
SingleLang("MangaKomi", "https://mangakomi.com", "en", overrideVersionCode = 4),
|
||||
SingleLang("MangaLazy", "https://mangalazy.com", "en", isNsfw = true, overrideVersionCode = 1),
|
||||
SingleLang("MangaLime", "https://mangalime.com", "en"),
|
||||
SingleLang("MangaLionz", "https://mangalionz.com", "ar"),
|
||||
SingleLang("MangaMe", "https://mangame.org", "en", overrideVersionCode = 1),
|
||||
SingleLang("MangaPL", "https://mangapl.com", "en", isNsfw = true, overrideVersionCode = 1),
|
||||
|
@ -200,16 +202,16 @@ class MadaraGenerator : ThemeSourceGenerator {
|
|||
SingleLang("Manhwa18.org", "https://manhwa18.org", "en", isNsfw = true, className = "Manhwa18Org", overrideVersionCode = 1),
|
||||
SingleLang("ManhwaNelo", "https://manhwanelo.com", "en"),
|
||||
SingleLang("Manhwatop", "https://manhwatop.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("Manhwahentai.me", "https://manhwahentai.me", "en", className = "ManhwahentaiMe", isNsfw = true),
|
||||
SingleLang("Manhwahentai.me", "https://manhwahentai.me", "en", className = "ManhwahentaiMe", isNsfw = true, overrideVersionCode = 1),
|
||||
SingleLang("ManhwaWorld", "https://manhwaworld.com", "en"),
|
||||
SingleLang("ManyToon", "https://manytoon.com", "en", isNsfw = true, overrideVersionCode = 2),
|
||||
SingleLang("ManyToon.me", "https://manytoon.me", "en", isNsfw = true, className = "ManyToonMe", overrideVersionCode = 1),
|
||||
SingleLang("ManyToon", "https://manytoon.com", "en", isNsfw = true, overrideVersionCode = 3),
|
||||
SingleLang("ManyToon.me", "https://manytoon.me", "en", isNsfw = true, className = "ManyToonMe", overrideVersionCode = 2),
|
||||
SingleLang("ManyToonClub", "https://manytoon.club", "ko", isNsfw = true, overrideVersionCode = 1),
|
||||
SingleLang("ManyComic", "https://manycomic.com", "en", isNsfw = true, overrideVersionCode = 1),
|
||||
SingleLang("Mark Scans", "https://markscans.online", "pt-BR", overrideVersionCode = 2),
|
||||
SingleLang("MHentais", "https://mhentais.com", "pt-BR", isNsfw = true),
|
||||
SingleLang("NeoXXX Scans", "https://xxx.neoxscans.net", "pt-BR", isNsfw = true, overrideVersionCode = 1),
|
||||
SingleLang("Midnight Mess Scans", "https://midnightmess.org", "en", isNsfw = true, overrideVersionCode = 4),
|
||||
SingleLang("Midnight Mess Scans", "https://midnightmess.org", "en", isNsfw = true, overrideVersionCode = 5),
|
||||
SingleLang("Milftoon", "https://milftoon.xxx", "en", isNsfw = true, overrideVersionCode = 2),
|
||||
SingleLang("Mixed Manga", "https://mixedmanga.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("Mode Scanlator", "https://modescanlator.com", "pt-BR", overrideVersionCode = 1),
|
||||
|
@ -298,10 +300,11 @@ class MadaraGenerator : ThemeSourceGenerator {
|
|||
SingleLang("XManga", "https://xmanga.io", "en", isNsfw = true),
|
||||
SingleLang("XuN Scans", "https://xunscans.xyz", "en", overrideVersionCode = 2),
|
||||
SingleLang("Yaoi Fan Clube", "https://yaoifanclube.com.br", "pt-BR", isNsfw = true, overrideVersionCode = 1),
|
||||
SingleLang("Yaoi.mobi", "https://yaoi.mobi", "en", isNsfw = true, className = "YaoiManga", pkgName = "yaoimanga", overrideVersionCode = 3),
|
||||
SingleLang("Yaoi.mobi", "https://yaoi.mobi", "en", isNsfw = true, className = "YaoiManga", pkgName = "yaoimanga", overrideVersionCode = 4),
|
||||
SingleLang("Yaoi Toshokan", "https://yaoitoshokan.net", "pt-BR", isNsfw = true, overrideVersionCode = 2),
|
||||
SingleLang("Yuri Verso", "https://yuri.live", "pt-BR", overrideVersionCode = 2),
|
||||
SingleLang("Zin Translator", "https://zinmanga.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("ZuttoManga", "https://zuttomanga.com", "en"),
|
||||
SingleLang("شبكة كونان العربية", "https://www.manga.detectiveconanar.com", "ar", className = "DetectiveConanAr", overrideVersionCode = 1),
|
||||
SingleLang("مانجا العاشق", "https://3asq.org", "ar", className = "Manga3asq", overrideVersionCode = 1),
|
||||
SingleLang("مانجا العرب", "https://www.manhwa.ae", "ar", className = "ManhwaAe"),
|
||||
|
|