Add some sources (mangathemesia) (#8141)

* Add MangaTV

* Add MangaOku

* Add RofanToon

* Add SpeedManga

* Add KomikDewasa

* Fix MangaTV dateFormat
This commit is contained in:
Chopper 2025-03-21 14:27:41 -03:00 committed by Draff
parent 3bc05706e5
commit f192dc994e
No known key found for this signature in database
GPG Key ID: E8A89F3211677653
35 changed files with 138 additions and 0 deletions

View File

@ -0,0 +1,10 @@
ext {
extName = 'Manga TV'
extClass = '.MangaTV'
themePkg = 'mangathemesia'
baseUrl = 'https://www.mangatv.net'
overrideVersionCode = 0
isNsfw = true
}
apply from: "$rootDir/common.gradle"

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,36 @@
package eu.kanade.tachiyomi.extension.es.mangatv
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
import eu.kanade.tachiyomi.source.model.Page
import kotlinx.serialization.json.jsonArray
import kotlinx.serialization.json.jsonPrimitive
import org.jsoup.nodes.Document
import java.text.SimpleDateFormat
import java.util.Locale
class MangaTV : MangaThemesia(
"Manga TV",
"https://www.mangatv.net",
"es",
mangaUrlDirectory = "/lista",
dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.ROOT),
) {
override val seriesDescriptionSelector = "b:contains(Sinopsis) + span"
override fun pageListParse(document: Document): List<Page> {
val imageListJson = JSON_IMAGE_LIST_REGEX.find(document.toString())?.destructured?.toList()?.get(0).orEmpty()
val imageList = try {
json.parseToJsonElement(imageListJson.replace(TRAILING_COMMA_REGEX, "]")).jsonArray
} catch (_: IllegalArgumentException) {
emptyList()
}
return imageList.mapIndexed { i, jsonEl ->
Page(i, imageUrl = "https:${jsonEl.jsonPrimitive.content}")
}
}
companion object {
val TRAILING_COMMA_REGEX = """,\s+]""".toRegex()
}
}

View File

@ -0,0 +1,10 @@
ext {
extName = 'RofanToon'
extClass = '.RofanToon'
themePkg = 'mangathemesia'
baseUrl = 'https://rofantoon.com'
overrideVersionCode = 0
isNsfw = false
}
apply from: "$rootDir/common.gradle"

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 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

View File

@ -0,0 +1,16 @@
package eu.kanade.tachiyomi.extension.es.rofantoon
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
import java.text.SimpleDateFormat
import java.util.Locale
class RofanToon : MangaThemesia(
"Rofan Toon",
"https://rofantoon.com",
"es",
dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("es")),
) {
override val hasProjectPage = false
override val projectPageString = "/proyectos"
}

View File

@ -0,0 +1,10 @@
ext {
extName = 'Komik Dewasa'
extClass = '.KomikDewasa'
themePkg = 'mangathemesia'
baseUrl = 'https://komikdewasa.mom'
overrideVersionCode = 0
isNsfw = true
}
apply from: "$rootDir/common.gradle"

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -0,0 +1,15 @@
package eu.kanade.tachiyomi.extension.id.komikdewasa
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
import java.text.SimpleDateFormat
import java.util.Locale
class KomikDewasa : MangaThemesia(
"Komik Dewasak",
"https://komikdewasa.mom",
"id",
mangaUrlDirectory = "/komik",
dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("id")),
) {
override val hasProjectPage = true
}

View File

@ -0,0 +1,10 @@
ext {
extName = 'Speed Manga'
extClass = '.SpeedManga'
themePkg = 'mangathemesia'
baseUrl = 'https://speed-manga.com'
overrideVersionCode = 0
isNsfw = true
}
apply from: "$rootDir/common.gradle"

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,9 @@
package eu.kanade.tachiyomi.extension.th.speedmanga
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
class SpeedManga : MangaThemesia(
"Speed Manga",
"https://speed-manga.com",
"th",
)

View File

@ -0,0 +1,10 @@
ext {
extName = 'Manga Oku'
extClass = '.MangaOku'
themePkg = 'mangathemesia'
baseUrl = 'https://mangaoku.org.tr'
overrideVersionCode = 0
isNsfw = false
}
apply from: "$rootDir/common.gradle"

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,12 @@
package eu.kanade.tachiyomi.extension.tr.mangaoku
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
import java.text.SimpleDateFormat
import java.util.Locale
class MangaOku : MangaThemesia(
"Manga Oku",
"https://mangaoku.org.tr",
"tr",
dateFormat = SimpleDateFormat("MMMM d, yyyy", Locale("tr")),
)