Add MangasTK.xyz and MangasTK18 to Madara (#15986)
* Add MangasTkXyz and prevent a issue in MangasTk * Restore quote * Add MangasTK18
|
@ -13,7 +13,7 @@ class MangasTK : Madara(
|
|||
"es",
|
||||
SimpleDateFormat("dd.MM.yyyy", Locale("es")),
|
||||
) {
|
||||
override fun popularMangaSelector() = "div#series-card:not(:has(a[href*='bilibilicomics.com']))"
|
||||
override fun popularMangaSelector() = "div#series-card:has(a:not([href*='bilibilicomics.com']))"
|
||||
override val popularMangaUrlSelector = "a.series-link"
|
||||
|
||||
override val mangaDetailsSelectorTag = "div.tags-content a.notUsed" // Source use this for the scanlator
|
||||
|
|
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 72 KiB |
|
@ -0,0 +1,54 @@
|
|||
package eu.kanade.tachiyomi.extension.es.mangastk18
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import org.jsoup.nodes.Element
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class MangasTK18 : Madara(
|
||||
"MangasTK18",
|
||||
"https://mangastk18.com",
|
||||
"es",
|
||||
SimpleDateFormat("dd.MM.yyyy", Locale("es")),
|
||||
) {
|
||||
override fun popularMangaSelector() = "div#series-card:has(a:not([href*='bilibilicomics.com']))"
|
||||
override val popularMangaUrlSelector = "a.series-link"
|
||||
|
||||
override val mangaDetailsSelectorTag = "div.tags-content a.notUsed" // Source use this for the scanlator
|
||||
override val mangaDetailsSelectorStatus = "div.post-status div.summary-content"
|
||||
|
||||
override fun popularMangaFromElement(element: Element): SManga {
|
||||
val manga = SManga.create()
|
||||
|
||||
with(element) {
|
||||
select(popularMangaUrlSelector).first()?.let {
|
||||
manga.setUrlWithoutDomain(it.attr("abs:href"))
|
||||
manga.title = it.attr("title")
|
||||
}
|
||||
|
||||
select("img").first()?.let {
|
||||
manga.thumbnail_url = imageFromElement(it)
|
||||
}
|
||||
}
|
||||
|
||||
return manga
|
||||
}
|
||||
|
||||
override fun chapterFromElement(element: Element): SChapter {
|
||||
val chapter = SChapter.create()
|
||||
|
||||
with(element) {
|
||||
select(chapterUrlSelector).first()?.let { urlElement ->
|
||||
chapter.url = urlElement.attr("abs:href").let {
|
||||
it.substringBefore("?style=paged") + if (!it.endsWith(chapterUrlSuffix)) chapterUrlSuffix else ""
|
||||
}
|
||||
chapter.name = urlElement.select("p.chapter-manhwa-title").text()
|
||||
chapter.date_upload = parseChapterDate(select("span.chapter-release-date").text())
|
||||
}
|
||||
}
|
||||
|
||||
return chapter
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 8.9 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 60 KiB |
|
@ -0,0 +1,54 @@
|
|||
package eu.kanade.tachiyomi.extension.es.mangastkxyz
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import org.jsoup.nodes.Element
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
class MangasTkXyz : Madara(
|
||||
"MangasTK.xyz",
|
||||
"https://mangastk.xyz",
|
||||
"es",
|
||||
SimpleDateFormat("dd.MM.yyyy", Locale("es")),
|
||||
) {
|
||||
override fun popularMangaSelector() = "div#series-card:has(a:not([href*='bilibilicomics.com']))"
|
||||
override val popularMangaUrlSelector = "a.series-link"
|
||||
|
||||
override val mangaDetailsSelectorTag = "div.tags-content a.notUsed" // Source use this for the scanlator
|
||||
override val mangaDetailsSelectorStatus = "div.post-status div.summary-content"
|
||||
|
||||
override fun popularMangaFromElement(element: Element): SManga {
|
||||
val manga = SManga.create()
|
||||
|
||||
with(element) {
|
||||
select(popularMangaUrlSelector).first()?.let {
|
||||
manga.setUrlWithoutDomain(it.attr("abs:href"))
|
||||
manga.title = it.attr("title")
|
||||
}
|
||||
|
||||
select("img").first()?.let {
|
||||
manga.thumbnail_url = imageFromElement(it)
|
||||
}
|
||||
}
|
||||
|
||||
return manga
|
||||
}
|
||||
|
||||
override fun chapterFromElement(element: Element): SChapter {
|
||||
val chapter = SChapter.create()
|
||||
|
||||
with(element) {
|
||||
select(chapterUrlSelector).first()?.let { urlElement ->
|
||||
chapter.url = urlElement.attr("abs:href").let {
|
||||
it.substringBefore("?style=paged") + if (!it.endsWith(chapterUrlSuffix)) chapterUrlSuffix else ""
|
||||
}
|
||||
chapter.name = urlElement.select("p.chapter-manhwa-title").text()
|
||||
chapter.date_upload = parseChapterDate(select("span.chapter-release-date").text())
|
||||
}
|
||||
}
|
||||
|
||||
return chapter
|
||||
}
|
||||
}
|
|
@ -251,7 +251,9 @@ class MadaraGenerator : ThemeSourceGenerator {
|
|||
SingleLang("MangaSiro", "https://mangasiro.com", "en", isNsfw = true),
|
||||
SingleLang("MangaSpark", "https://mangaspark.com", "ar", overrideVersionCode = 2),
|
||||
SingleLang("MangaStic", "https://mangastic.me", "en", overrideVersionCode = 1),
|
||||
SingleLang("MangasTK", "https://mangastk.net", "es", isNsfw = true, overrideVersionCode = 2),
|
||||
SingleLang("MangasTK", "https://mangastk.net", "es", isNsfw = true, overrideVersionCode = 3),
|
||||
SingleLang("MangasTK18", "https://mangastk18.com", "es", isNsfw = true),
|
||||
SingleLang("MangasTK.xyz", "https://mangastk.xyz", "es", className = "MangasTkXyz"),
|
||||
SingleLang("Mangasushi", "https://mangasushi.org", "en", overrideVersionCode = 3),
|
||||
SingleLang("MangaTone", "https://mangatone.com", "en"),
|
||||
SingleLang("MangaToRead", "https://mangatoread.com", "en"),
|
||||
|
|