Compare commits

...

56 Commits

Author SHA1 Message Date
AwkwardPeak7 9602aa5dd5 Comick: fix new chapters delay and small refactor (#1354)
CI / Prepare job (push) Successful in 5s Details
CI / Build individual modules (push) Failing after 0s Details
CI / Publish repo (push) Has been skipped Details
* remove chapter pagination

page parameter seems to trigger some cache issue in their api

* update baseUrl

* data class -> class

micro optimization

* small refactor

* remove useless interceptor

* oops

* mutable not needed
2024-02-18 20:25:13 +00:00
AwkwardPeak7 9fa6b8cb51 move CookieInterceptor to shared lib (#1356)
* CookieInterceptor lib

* accept list of cookies
2024-02-18 20:25:13 +00:00
AwkwardPeak7 8e7bba9d87 RC: fix chapters (#1359)
* fix rizz chapters

Co-authored-by: Anshuman Sarkar <77231921+Ryujin1108@users.noreply.github.com>

* remove unused dto

* lint

* lint x2

---------

Co-authored-by: Anshuman Sarkar <77231921+Ryujin1108@users.noreply.github.com>
2024-02-18 20:25:13 +00:00
Chopper 42d15fed81 Remove PrismaHentais (#1349)
Remove PrismaHentai
2024-02-18 20:25:13 +00:00
Chopper 913ceb3017 Add LiManga (#1346)
* Add LiManga

* Add isNsfw
2024-02-18 20:25:13 +00:00
Vetle Ledaal 2de6f14215 Manhwa Freak: remove spinner image (#1343) 2024-02-18 20:25:13 +00:00
Cuong M. Tran 9ab07589ad NetTruyen/NhatTruyen: avoid return un-relevant searching results (#1338)
* NetTruyen/NhatTruyen: avoid return catalog page when searching return empty

They redirect back to catalog page if searching query is not found.
That makes both sites always return un-relevant results when searching should have returned empty.

* fix overrideVersion
2024-02-18 20:25:13 +00:00
Tef bf1fc04a2e Add MangaSaki (#1273)
* Added Mangasaki

* Added MangaSaki

* Added MangaSaki

* Removed page number check

Co-authored-by: beerpsi <92439990+beerpiss@users.noreply.github.com>

* Applied requested changes

* Add recommended change

* Add requested changes

* Applied requested changes

---------

Co-authored-by: beerpsi <92439990+beerpiss@users.noreply.github.com>
2024-02-18 20:25:13 +00:00
bapeey d97962de20 LectorTMO: Use cloudflareClient (#1340)
Use cloudflareClient
2024-02-18 20:25:13 +00:00
Vetle Ledaal 63c57ec13e Elarc Toon: update mangaUrlDirectory (#1341) 2024-02-18 20:25:13 +00:00
bapeey 0d2056cabf SlimeRead: Update API url (#1334)
Update apiurl
2024-02-18 20:25:13 +00:00
Secozzi ca8faa3a7e Add todaymanga (#1289)
* add todaymanga

* small changes to filters

* apply recommended changes

* Small touch-up to date parsing
2024-02-18 20:25:13 +00:00
bapeey 3ce4e729f9 MMRCMS: Fix search and add Spanish translations (#1333)
Fix search and add (es) translations
2024-02-18 20:25:13 +00:00
beerpsi ea913b5957 ComicGamma: Use SpeedBinb reader (#1317)
* ComicGamma: Use SpeedBinb reader

* Update lib-multisrc/comicgamma/build.gradle.kts

Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com>

---------

Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com>
2024-02-18 20:25:13 +00:00
beerpsi 27c4ed1430 ColaManga: Fix search next page selector (#1326) 2024-02-18 20:25:13 +00:00
beerpsi e95e761833 Add Weekly Young Magazine (Yanmaga) (#1318) 2024-02-18 20:25:13 +00:00
beerpsi bf53943984 Add Manga Planet (#1319) 2024-02-18 20:25:13 +00:00
beerpsi 42ad2a5859 Add Comic Meteor (#1320) 2024-02-18 20:25:13 +00:00
beerpsi a5e314f149 Add Gaugau Monster Plus (#1321) 2024-02-18 20:25:13 +00:00
beerpsi fac4fa1278 Add Ohta Web Comic (#1322) 2024-02-18 20:25:13 +00:00
beerpsi 3e9c022f6a Komga: Don't apply library filter if default libraries are not set (#1323) 2024-02-18 20:25:13 +00:00
beerpsi a799bf8a5c Add SpeedBinb reader library (#1316)
* Add SpeedBinb reader library

* Make TextInterceptor generic
2024-02-18 20:25:13 +00:00
beerpsi 93c5dbc650 MMRCMS: Dynamic filter rework (#1315)
* MMRCMS: Dynamic filter rework, remove Last updated sort in Mangas.in

* Formatting

* Show the reset message when filters are fetching

* Linting

* Dynamically fetch sort options

* Add i18n support

* Remove unused import
2024-02-18 20:25:13 +00:00
beerpsi 5acf24daa9 Komga: README, chapter timestamp shenanigans, refactor (#1313)
* Komga: README, chapter timestamp shenanigans, refactor

* Repeating by password length is probably fine

* Reuse the CoroutineScope
2024-02-18 20:25:13 +00:00
beerpsi da8c562990 MangaPlus: Update web API versions and clean up stuff (#1305)
* MangaPlus: Update API versions

* Add more stuff to the titleCache
2024-02-18 20:25:08 +00:00
bapeey 41b6762f16 OlympusScanlation: Update domain and minor refactor (#1300)
* Update domain and other things

* Change popular endpoint

* fetchFilters in getFilterList

* Make SManga and SChapter in DTO

* I just want to update the domain

* Move attempts to finally block

* idk

* update

---------

Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
2024-02-18 20:17:19 +00:00
bapeey fd7c47329b MNS: Fix popular and latest tabs (#1314)
Fix popular and latest
2024-02-18 20:17:19 +00:00
Chopper 71e3830576 Remove Dead Sources (#1312)
* Remove Drop Scan

* Remove Turktoon
2024-02-18 20:17:19 +00:00
stevenyomi 0edd4a94c0 Clean up date format code in docs (#1299) 2024-02-18 20:17:19 +00:00
beerpsi beb88a4d60 MangaHub: Update API URL (#1294) 2024-02-18 20:17:19 +00:00
AwkwardPeak7 489729f52b expose `lib-multisrc` dependencies to the extensions (#1293)
* expose `lib-multsrc` deps to the extensions

change `implementation` to `api`

* remove those libs from extensions
2024-02-18 20:17:19 +00:00
Secozzi df9983f9b0 MagusManga: update mangaUrlDirectory (#1291)
update mangaUrlDirectory
2024-02-18 20:17:19 +00:00
Tef 6ac91bca39 Add RawMangas (#1276)
* Added RawMangas

* Update src/ja/rawmangas/build.gradle

Co-authored-by: beerpsi <92439990+beerpiss@users.noreply.github.com>

* Added ending newline in build.gradle

* remove extra newline

---------

Co-authored-by: beerpsi <92439990+beerpiss@users.noreply.github.com>
Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com>
2024-02-18 20:17:19 +00:00
Secozzi c24753e7e7 Templescan: update apiUrl (#1290)
update apiUrl
2024-02-18 20:17:19 +00:00
Secozzi fa74b489b2 Add mangahot (#1229)
* add mangahot

* add getChapterUrl

* apply recommended changes

* simplify apiheaders
2024-02-18 20:17:19 +00:00
beerpsi 943516d451 Komga: Filter out EPUB books, fix chapter timestamps, allow setting default libraries, rename None sort to Relevance (#1282)
* Komga: Filter out EPUB books, fix chapter timestamps

* Add default library setting

* Make some settings not require a restart

* Don't use fixed enums

* Rename None sort to Relevance (#1284)

* make popular default to alphabetical sort
2024-02-18 20:17:19 +00:00
beerpsi d91b683ee2 Add Ưng Tỷ Comics (#1286) 2024-02-18 20:17:19 +00:00
BrutuZ 95caddf343 Add Deep Link Support to Anchira (#1283)
Add Deep Link Support
2024-02-18 20:17:19 +00:00
bapeey 791d48fce1 Legends no Fansub: Update domain (#1280)
Update domain
2024-02-18 20:17:19 +00:00
everfio 746dcba08b Naver Comic: fix page list for mobile user agent (#1272) 2024-02-18 20:17:19 +00:00
mohamedotaku 03b9df50ff change URL and override mangaSubString (#1281) 2024-02-18 20:17:19 +00:00
mohamedotaku dc3bddb317 Add source LilyumFansub "tr" (#1253)
* Add source LilyumFansub "tr"

* Update LilyumFansub.kt
2024-02-18 20:17:19 +00:00
bapeey f20236ab94 Add EsMi2Manga (#1274)
* Add EsMi2Manga

* Is Nsfw
2024-02-18 20:17:19 +00:00
bapeey 75558ac6da Add Legends No Fansub (#1275)
Add LegendsNoFansub
2024-02-18 20:17:19 +00:00
Secozzi ee254eaebd New multisrc theme: Keyoapp (#1259)
* move rudra to keyoapp multisrc

* add genres + small fixes

* add rate limit

* fix name + remove rate limit

* add wickedscans

* fix indentation
2024-02-18 20:17:19 +00:00
beerpsi 1debb5fd1f Add Dưa Leo Truyện (#1257)
* Add Dua Leo Truyen

* Add filters
2024-02-18 20:17:19 +00:00
mohamedotaku 42caf828c1 URL change CopyPasteScan (#1250) 2024-02-18 20:13:38 +00:00
stevenyomi 988be5901b Rename projects to path names (#1240) 2024-02-18 20:13:33 +00:00
stevenyomi d7e1e2a448 Coco Rip: fix launcher icons (#1239) 2024-02-18 20:10:41 +00:00
stevenyomi 205d95cc07 Migrate to lib-multisrc (#1237)
* adjustments

* Run generator

* Remove multisrc project

* add lib dependencies

* Remove multisrc from build scripts

* Remove build condition
2024-02-18 20:10:37 +00:00
stevenyomi d9f7e58f01 Don't format code in CI (#1236)
* Don't format code in CI

* format individual extensions
2024-02-18 19:57:02 +00:00
Cuong M. Tran 93d1700373 Update WPComics multisrc (#1146)
* NetTruyen/NhatTruyen: add filter, fix searching, update genres

* Add Filter to Nhattruyen by moving FilterList to WPComics
* Fix searching Nettruyen/Nhattruyen with filter Genre on
* Fix searching Nhattruyen when filter status=Completed
* Update Nettruyen/Nhattruyen genres list

* XoxoComics: support fillter by genre & status

* XoxoComics: add Filter header

* XoxoComics: fix URL query when filtering

* tweak replace search path method

---------

Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
2024-02-18 19:57:02 +00:00
KirinRaikage b3668dfe11 Add Scan Hentai FR to Madara (#1232) 2024-02-18 19:57:02 +00:00
stevenyomi 812c064b27 [skip ci] Copy useful comments from generators (#1233) 2024-02-18 19:57:02 +00:00
stevenyomi a723109122 Add build files for lib-multisrc migration (#1228) 2024-02-18 19:55:37 +00:00
beerpsi 07fc9a086a ColaManga: Fix search (#1226) 2024-02-18 19:51:00 +00:00
6237 changed files with 15295 additions and 4696 deletions

View File

@ -25,51 +25,6 @@ jobs:
steps:
- name: Clone repo
uses: actions/checkout@v4
build_multisrc:
name: Build multisrc modules
needs: prepare
runs-on: arch
steps:
- name: Checkout master branch
uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: 17
distribution: temurin
- name: Prepare signing key
run: |
echo ${{ secrets.SIGNING_KEY }} | base64 -d > signingkey.jks
- name: Generate sources from the multi-source library
uses: gradle/gradle-build-action@v2
env:
CI_MODULE_GEN: "true"
with:
arguments: :multisrc:generateExtensions
- name: Build extensions
uses: gradle/gradle-build-action@v2
env:
CI_MULTISRC: "true"
ALIAS: ${{ secrets.ALIAS }}
KEY_STORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }}
KEY_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }}
with:
arguments: assembleRelease
- name: Upload APKs
uses: actions/upload-artifact@v3
with:
name: "multisrc-apks"
path: "**/*.apk"
retention-days: 1
- name: Clean up CI files
run: rm signingkey.jks
build_individual:
name: Build individual modules
@ -92,12 +47,10 @@ jobs:
- name: Build extensions
uses: gradle/gradle-build-action@v2
env:
CI_MULTISRC: "false"
ALIAS: ${{ secrets.ALIAS }}
KEY_STORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }}
KEY_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }}
with:
arguments: assembleRelease
run: ./gradlew -p src assembleRelease
- name: Upload APKs
uses: actions/upload-artifact@v3
@ -112,7 +65,6 @@ jobs:
publish_repo:
name: Publish repo
needs:
- build_multisrc
- build_individual
runs-on: arch
steps:

View File

@ -1,11 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="MadaraGenerator" type="JetRunConfigurationType" nameIsGenerated="true">
<module name="tachiyomi-extensions.multisrc.main" />
<option name="MAIN_CLASS_NAME" value="eu.kanade.tachiyomi.multisrc.madara.MadaraGenerator" />
<method v="2">
<option name="Make" enabled="true" />
<option name="Gradle.BeforeRunTask" enabled="true" tasks="ktFormat" externalProjectPath="$PROJECT_DIR$/multisrc" vmOptions="" scriptParameters="-Ptheme=madara" />
<option name="Gradle.BeforeRunTask" enabled="true" tasks="ktLint" externalProjectPath="$PROJECT_DIR$/multisrc" vmOptions="" scriptParameters="-Ptheme=madara" />
</method>
</configuration>
</component>

View File

@ -1,11 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="MangaThemesiaGenerator" type="JetRunConfigurationType" nameIsGenerated="true">
<module name="tachiyomi-extensions.multisrc.main" />
<option name="MAIN_CLASS_NAME" value="eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesiaGenerator" />
<method v="2">
<option name="Make" enabled="true" />
<option name="Gradle.BeforeRunTask" enabled="true" tasks="ktFormat" externalProjectPath="$PROJECT_DIR$/multisrc" vmOptions="" scriptParameters="-Ptheme=mangathemesia" />
<option name="Gradle.BeforeRunTask" enabled="true" tasks="ktLint" externalProjectPath="$PROJECT_DIR$/multisrc" vmOptions="" scriptParameters="-Ptheme=mangathemesia" />
</method>
</configuration>
</component>

View File

@ -423,14 +423,15 @@ will be cached.
```kotlin
private fun parseDate(dateStr: String): Long {
return runCatching { DATE_FORMATTER.parse(dateStr)?.time }
.getOrNull() ?: 0L
return try {
dateFormat.parse(dateStr)!!.time
} catch (_: ParseException) {
0L
}
}
companion object {
private val DATE_FORMATTER by lazy {
SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH)
}
private val dateFormat by lazy {
SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH)
}
```

2
buildSrc/.gitignore vendored
View File

@ -1,2 +0,0 @@
.gradle/
build/

View File

@ -3,5 +3,14 @@ plugins {
}
repositories {
gradlePluginPortal()
mavenCentral()
google()
}
dependencies {
implementation(libs.gradle.agp)
implementation(libs.gradle.kotlin)
implementation(libs.gradle.serialization)
implementation(libs.gradle.kotlinter)
}

View File

@ -0,0 +1,7 @@
dependencyResolutionManagement {
versionCatalogs {
create("libs") {
from(files("../gradle/libs.versions.toml"))
}
}
}

View File

@ -0,0 +1,6 @@
import org.gradle.api.plugins.ExtensionAware
import org.gradle.kotlin.dsl.extra
var ExtensionAware.baseVersionCode: Int
get() = extra.get("baseVersionCode") as Int
set(value) = extra.set("baseVersionCode", value)

View File

@ -0,0 +1,64 @@
plugins {
id("com.android.library")
kotlin("android")
id("kotlinx-serialization")
id("org.jmailen.kotlinter")
}
android {
compileSdk = AndroidConfig.compileSdk
defaultConfig {
minSdk = AndroidConfig.minSdk
}
namespace = "eu.kanade.tachiyomi.multisrc.${project.name}"
sourceSets {
named("main") {
manifest.srcFile("AndroidManifest.xml")
java.setSrcDirs(listOf("src"))
res.setSrcDirs(listOf("res"))
assets.setSrcDirs(listOf("assets"))
}
}
buildFeatures {
resValues = false
shaders = false
}
kotlinOptions {
freeCompilerArgs += "-opt-in=kotlinx.serialization.ExperimentalSerializationApi"
}
}
kotlinter {
experimentalRules = true
disabledRules = arrayOf(
"experimental:argument-list-wrapping", // Doesn't play well with Android Studio
"experimental:comment-wrapping",
)
}
repositories {
mavenCentral()
}
// TODO: use versionCatalogs.named("libs") in Gradle 8.5
val libs = project.extensions.getByType<VersionCatalogsExtension>().named("libs")
dependencies {
compileOnly(libs.findBundle("common").get())
}
tasks {
preBuild {
dependsOn(lintKotlin)
}
if (System.getenv("CI") != "true") {
lintKotlin {
dependsOn(formatKotlin)
}
}
}

View File

@ -8,6 +8,8 @@ assert !ext.has("libVersion")
assert extName.chars().max().asInt < 0x180 : "Extension name should be romanized"
Project theme = ext.has("themePkg") ? project(":lib-multisrc:$themePkg") : null
android {
compileSdk AndroidConfig.compileSdk
@ -25,7 +27,7 @@ android {
minSdk AndroidConfig.minSdk
targetSdk AndroidConfig.targetSdk
applicationIdSuffix project.parent.name + "." + project.name
versionCode extVersionCode
versionCode theme == null ? extVersionCode : theme.baseVersionCode + overrideVersionCode
versionName "1.4.$versionCode"
base {
archivesName = "tachiyomi-$applicationIdSuffix-v$versionName"
@ -34,8 +36,18 @@ android {
manifestPlaceholders = [
appName : "Tachiyomi: $extName",
extClass: extClass,
nsfw: project.ext.find("isNsfw") ? 1 : 0,
nsfw : project.ext.find("isNsfw") ? 1 : 0,
]
String baseUrl = project.ext.find("baseUrl") ?: ""
if (theme != null && !baseUrl.isEmpty()) {
def split = baseUrl.split("://")
assert split.length == 2
def path = split[1].split("/")
manifestPlaceholders += [
SOURCEHOST : path[0],
SOURCESCHEME: split[0],
]
}
}
signingConfigs {
@ -88,6 +100,7 @@ repositories {
}
dependencies {
if (theme != null) implementation(theme) // Overrides core launcher icons
implementation(project(":core"))
compileOnly(libs.bundles.common)
}
@ -108,4 +121,6 @@ tasks.register("writeManifestFile") {
}
preBuild.dependsOn(writeManifestFile, lintKotlin)
lintKotlin.dependsOn(formatKotlin)
if (System.getenv("CI") != "true") {
lintKotlin.dependsOn(formatKotlin)
}

View File

@ -0,0 +1,5 @@
plugins {
id("lib-multisrc")
}
baseVersionCode = 3

View File

@ -0,0 +1,5 @@
plugins {
id("lib-multisrc")
}
baseVersionCode = 6

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@ -0,0 +1,5 @@
plugins {
id("lib-multisrc")
}
baseVersionCode = 9

View File

@ -0,0 +1,5 @@
plugins {
id("lib-multisrc")
}
baseVersionCode = 1

View File

@ -0,0 +1,9 @@
plugins {
id("lib-multisrc")
}
baseVersionCode = 3
dependencies {
api(project(":lib:synchrony"))
}

View File

@ -126,7 +126,7 @@ abstract class ColaManga(
}
}
override fun searchMangaSelector() = "dl.fed-data-info, ${popularMangaSelector()}"
override fun searchMangaSelector() = "dl.fed-deta-info, ${popularMangaSelector()}"
override fun searchMangaFromElement(element: Element): SManga {
if (element.tagName() == "li") {
@ -143,7 +143,7 @@ abstract class ColaManga(
}
}
override fun searchMangaNextPageSelector() = popularMangaSelector()
override fun searchMangaNextPageSelector() = popularMangaNextPageSelector()
protected abstract val statusTitle: String
protected abstract val authorTitle: String

View File

@ -0,0 +1,5 @@
plugins {
id("lib-multisrc")
}
baseVersionCode = 1

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@ -0,0 +1,9 @@
plugins {
id("lib-multisrc")
}
baseVersionCode = 7
dependencies {
api(project(":lib:speedbinb"))
}

View File

@ -1,16 +1,20 @@
package eu.kanade.tachiyomi.multisrc.comicgamma
import eu.kanade.tachiyomi.lib.speedbinb.SpeedBinbInterceptor
import eu.kanade.tachiyomi.lib.speedbinb.SpeedBinbReader
import eu.kanade.tachiyomi.network.GET
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 kotlinx.serialization.json.Json
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import org.jsoup.select.Evaluator
import rx.Observable
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.text.SimpleDateFormat
import java.util.Locale
import java.util.TimeZone
@ -22,7 +26,11 @@ open class ComicGamma(
) : ParsedHttpSource() {
override val supportsLatest = false
override val client = network.client.newBuilder().addInterceptor(PtImgInterceptor).build()
private val json = Injekt.get<Json>()
override val client = network.client.newBuilder()
.addInterceptor(SpeedBinbInterceptor(json))
.build()
override fun popularMangaRequest(page: Int) = GET("$baseUrl/manga/", headers)
override fun popularMangaNextPageSelector(): String? = null
@ -54,10 +62,9 @@ open class ComicGamma(
override fun searchMangaRequest(page: Int, query: String, filters: FilterList) =
throw UnsupportedOperationException()
override fun pageListParse(document: Document) =
document.select("#content > div[data-ptimg]").mapIndexed { i, e ->
Page(i, imageUrl = e.attr("abs:data-ptimg"))
}
private val reader by lazy { SpeedBinbReader(client, headers, json) }
override fun pageListParse(document: Document) = reader.pageListParse(document)
override fun mangaDetailsParse(document: Document): SManga {
val titleElement = document.selectFirst(Evaluator.Class("manga__title"))!!

View File

@ -0,0 +1,5 @@
plugins {
id("lib-multisrc")
}
baseVersionCode = 1

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1006 B

After

Width:  |  Height:  |  Size: 1006 B

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@ -0,0 +1,5 @@
plugins {
id("lib-multisrc")
}
baseVersionCode = 4

View File

@ -0,0 +1,5 @@
plugins {
id("lib-multisrc")
}
baseVersionCode = 5

View File

@ -0,0 +1,5 @@
plugins {
id("lib-multisrc")
}
baseVersionCode = 9

View File

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,5 @@
plugins {
id("lib-multisrc")
}
baseVersionCode = 3

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

@ -0,0 +1,5 @@
plugins {
id("lib-multisrc")
}
baseVersionCode = 5

View File

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,5 @@
plugins {
id("lib-multisrc")
}
baseVersionCode = 5

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 913 B

After

Width:  |  Height:  |  Size: 913 B

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

@ -0,0 +1,5 @@
plugins {
id("lib-multisrc")
}
baseVersionCode = 1

View File

@ -0,0 +1,5 @@
plugins {
id("lib-multisrc")
}
baseVersionCode = 22

Some files were not shown because too many files have changed in this diff Show More