Add more sources to GigaViewer (#10242)
* Add Comiplex source (closes #10090). * Add Comic Days source (closes #10162). * Add Sunday Web Every source (closes #10235).
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 18 KiB |
BIN
multisrc/overrides/gigaviewer/comicdays/res/web_hi_res_512.png
Normal file
After Width: | Height: | Size: 104 KiB |
35
multisrc/overrides/gigaviewer/comicdays/src/ComicDays.kt
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
package eu.kanade.tachiyomi.extension.ja.comicdays
|
||||||
|
|
||||||
|
import eu.kanade.tachiyomi.multisrc.gigaviewer.GigaViewer
|
||||||
|
import eu.kanade.tachiyomi.source.model.SManga
|
||||||
|
import okhttp3.OkHttpClient
|
||||||
|
import org.jsoup.nodes.Element
|
||||||
|
|
||||||
|
class ComicDays : GigaViewer(
|
||||||
|
"Comic Days",
|
||||||
|
"https://comic-days.com",
|
||||||
|
"ja",
|
||||||
|
"https://cdn-img.comic-days.com/public/page"
|
||||||
|
) {
|
||||||
|
|
||||||
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
.addInterceptor(::imageIntercept)
|
||||||
|
.build()
|
||||||
|
|
||||||
|
override val publisher: String = "講談社"
|
||||||
|
|
||||||
|
override fun popularMangaSelector(): String = "ul.daily-series li.daily-series-item:has(a.link)"
|
||||||
|
|
||||||
|
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
|
||||||
|
title = element.selectFirst("h4.daily-series-title")!!.text()
|
||||||
|
thumbnail_url = element.selectFirst("div.daily-series-thumb img")!!
|
||||||
|
.attr("data-src")
|
||||||
|
setUrlWithoutDomain(element.selectFirst("a.link")!!.attr("href"))
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun latestUpdatesSelector(): String = "section#$dayOfWeek.daily " + popularMangaSelector()
|
||||||
|
|
||||||
|
override fun getCollections(): List<Collection> = listOf(
|
||||||
|
Collection("連載作品一覧", "")
|
||||||
|
)
|
||||||
|
}
|
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 6.4 KiB |
BIN
multisrc/overrides/gigaviewer/comiplex/res/web_hi_res_512.png
Normal file
After Width: | Height: | Size: 26 KiB |
42
multisrc/overrides/gigaviewer/comiplex/src/Comiplex.kt
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
package eu.kanade.tachiyomi.extension.ja.comiplex
|
||||||
|
|
||||||
|
import eu.kanade.tachiyomi.multisrc.gigaviewer.GigaViewer
|
||||||
|
import eu.kanade.tachiyomi.network.GET
|
||||||
|
import eu.kanade.tachiyomi.source.model.SManga
|
||||||
|
import okhttp3.OkHttpClient
|
||||||
|
import okhttp3.Request
|
||||||
|
import org.jsoup.nodes.Element
|
||||||
|
|
||||||
|
class Comiplex : GigaViewer(
|
||||||
|
"Comiplex",
|
||||||
|
"https://viewer.heros-web.com",
|
||||||
|
"ja",
|
||||||
|
"https://cdn-img.viewer.heros-web.com/public/page"
|
||||||
|
) {
|
||||||
|
|
||||||
|
override val supportsLatest: Boolean = false
|
||||||
|
|
||||||
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
.addInterceptor(::imageIntercept)
|
||||||
|
.build()
|
||||||
|
|
||||||
|
override val publisher: String = "ヒーローズ"
|
||||||
|
|
||||||
|
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/series/heros", headers)
|
||||||
|
|
||||||
|
override fun popularMangaSelector(): String = "ul.series-items li.series-item > a"
|
||||||
|
|
||||||
|
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
|
||||||
|
title = element.selectFirst("h4.item-series-title")!!.text()
|
||||||
|
thumbnail_url = element.selectFirst("div.series-item-thumb img")!!
|
||||||
|
.attr("data-src")
|
||||||
|
setUrlWithoutDomain(element.attr("href"))
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getCollections(): List<Collection> = listOf(
|
||||||
|
Collection("ヒーローズ", "heros"),
|
||||||
|
Collection("ふらっとヒーローズ", "flat"),
|
||||||
|
Collection("わいるどヒーローズ", "wild"),
|
||||||
|
Collection("読切作品", "oneshot")
|
||||||
|
)
|
||||||
|
}
|
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 40 KiB |
@ -0,0 +1,38 @@
|
|||||||
|
package eu.kanade.tachiyomi.extension.ja.sundaywebevery
|
||||||
|
|
||||||
|
import eu.kanade.tachiyomi.multisrc.gigaviewer.GigaViewer
|
||||||
|
import eu.kanade.tachiyomi.source.model.SManga
|
||||||
|
import okhttp3.OkHttpClient
|
||||||
|
import org.jsoup.nodes.Element
|
||||||
|
|
||||||
|
class SundayWebEvery : GigaViewer(
|
||||||
|
"Sunday Web Every",
|
||||||
|
"https://www.sunday-webry.com",
|
||||||
|
"ja",
|
||||||
|
"https://cdn-img.www.sunday-webry.com/public/page"
|
||||||
|
) {
|
||||||
|
|
||||||
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
.addInterceptor(::imageIntercept)
|
||||||
|
.build()
|
||||||
|
|
||||||
|
override val publisher: String = "小学館"
|
||||||
|
|
||||||
|
override fun popularMangaSelector(): String = "ul.webry-series-list li a.webry-series-item-link"
|
||||||
|
|
||||||
|
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
|
||||||
|
title = element.selectFirst("h4.series-title")!!.text()
|
||||||
|
thumbnail_url = element.selectFirst("div.thumb-wrapper img")!!.attr("data-src")
|
||||||
|
setUrlWithoutDomain(element.attr("href"))
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun latestUpdatesSelector(): String = "h3#series-$dayOfWeek + section " + popularMangaSelector()
|
||||||
|
|
||||||
|
override fun chapterListSelector(): String = "li.episode:not(.private)"
|
||||||
|
|
||||||
|
override fun getCollections(): List<Collection> = listOf(
|
||||||
|
Collection("連載作品", ""),
|
||||||
|
Collection("読切", "oneshot"),
|
||||||
|
Collection("夜サンデー", "yoru-sunday")
|
||||||
|
)
|
||||||
|
}
|
@ -27,7 +27,7 @@ open class AsuraScans(
|
|||||||
baseUrl,
|
baseUrl,
|
||||||
lang,
|
lang,
|
||||||
dateFormat
|
dateFormat
|
||||||
),
|
),
|
||||||
ConfigurableSource {
|
ConfigurableSource {
|
||||||
|
|
||||||
private val preferences: SharedPreferences by lazy {
|
private val preferences: SharedPreferences by lazy {
|
||||||
|
@ -12,11 +12,14 @@ class GigaViewerGenerator : ThemeSourceGenerator {
|
|||||||
override val baseVersionCode: Int = 4
|
override val baseVersionCode: Int = 4
|
||||||
|
|
||||||
override val sources = listOf(
|
override val sources = listOf(
|
||||||
|
SingleLang("Comic Days", "https://comic-days.com", "ja"),
|
||||||
SingleLang("Comic Gardo", "https://comic-gardo.com", "ja"),
|
SingleLang("Comic Gardo", "https://comic-gardo.com", "ja"),
|
||||||
|
SingleLang("Comiplex", "https://viewer.heros-web.com", "ja"),
|
||||||
SingleLang("Kurage Bunch", "https://kuragebunch.com", "ja"),
|
SingleLang("Kurage Bunch", "https://kuragebunch.com", "ja"),
|
||||||
SingleLang("MAGCOMI", "https://magcomi.com", "ja", className = "MagComi"),
|
SingleLang("MAGCOMI", "https://magcomi.com", "ja", className = "MagComi"),
|
||||||
SingleLang("Magazine Pocket", "https://pocket.shonenmagazine.com", "ja"),
|
SingleLang("Magazine Pocket", "https://pocket.shonenmagazine.com", "ja"),
|
||||||
SingleLang("Shonen Jump+", "https://shonenjumpplus.com", "ja", pkgName = "shonenjumpplus", className = "ShonenJumpPlus", overrideVersionCode = 2),
|
SingleLang("Shonen Jump+", "https://shonenjumpplus.com", "ja", pkgName = "shonenjumpplus", className = "ShonenJumpPlus", overrideVersionCode = 2),
|
||||||
|
SingleLang("Sunday Web Every", "https://www.sunday-webry.com", "ja"),
|
||||||
SingleLang("Tonari no Young Jump", "https://tonarinoyj.jp", "ja", className = "TonariNoYoungJump")
|
SingleLang("Tonari no Young Jump", "https://tonarinoyj.jp", "ja", className = "TonariNoYoungJump")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -45,7 +45,9 @@ open class MonochromeCMS(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun fetchSearchManga(
|
override fun fetchSearchManga(
|
||||||
page: Int, query: String, filters: FilterList
|
page: Int,
|
||||||
|
query: String,
|
||||||
|
filters: FilterList
|
||||||
): Observable<MangasPage> {
|
): Observable<MangasPage> {
|
||||||
if (!query.startsWith(UUID_QUERY))
|
if (!query.startsWith(UUID_QUERY))
|
||||||
return super.fetchSearchManga(page, query, filters)
|
return super.fetchSearchManga(page, query, filters)
|
||||||
|