diff --git a/multisrc/overrides/madara/newmanhua/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/madara/newmanhua/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 000000000..03b8c0cde Binary files /dev/null and b/multisrc/overrides/madara/newmanhua/res/mipmap-hdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/newmanhua/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/madara/newmanhua/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 000000000..dc32f6070 Binary files /dev/null and b/multisrc/overrides/madara/newmanhua/res/mipmap-mdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/newmanhua/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/madara/newmanhua/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 000000000..8aa474ee9 Binary files /dev/null and b/multisrc/overrides/madara/newmanhua/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/newmanhua/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/madara/newmanhua/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 000000000..2e6e5b97d Binary files /dev/null and b/multisrc/overrides/madara/newmanhua/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/newmanhua/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/madara/newmanhua/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 000000000..6f641fe79 Binary files /dev/null and b/multisrc/overrides/madara/newmanhua/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/newmanhua/res/web_hi_res_512.png b/multisrc/overrides/madara/newmanhua/res/web_hi_res_512.png new file mode 100644 index 000000000..b191a5470 Binary files /dev/null and b/multisrc/overrides/madara/newmanhua/res/web_hi_res_512.png differ diff --git a/multisrc/overrides/madara/newmanhua/src/NewManhua.kt b/multisrc/overrides/madara/newmanhua/src/NewManhua.kt new file mode 100644 index 000000000..5d8221662 --- /dev/null +++ b/multisrc/overrides/madara/newmanhua/src/NewManhua.kt @@ -0,0 +1,21 @@ +package eu.kanade.tachiyomi.extension.en.newmanhua + +import eu.kanade.tachiyomi.multisrc.madara.Madara +import eu.kanade.tachiyomi.network.interceptor.rateLimit +import okhttp3.OkHttpClient + +class NewManhua : Madara( + "NewManhua", + "https://newmanhua.com", + "en", +) { + + override val client: OkHttpClient = super.client.newBuilder() + .rateLimit(1) + .build() + + override val useNewChapterEndpoint = true + + override val mangaDetailsSelectorDescription: String = + "div.description-summary div.summary__content h3 + p, div.description-summary div.summary__content:not(:has(h3)), div.summary_content div.post-content_item > h5 + div, div.summary_content div.manga-excerpt" +} diff --git a/multisrc/overrides/madara/topreadmanhwa/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/madara/topreadmanhwa/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 000000000..5dbb6b0b3 Binary files /dev/null and b/multisrc/overrides/madara/topreadmanhwa/res/mipmap-hdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/topreadmanhwa/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/madara/topreadmanhwa/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 000000000..0292c1856 Binary files /dev/null and b/multisrc/overrides/madara/topreadmanhwa/res/mipmap-mdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/topreadmanhwa/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/madara/topreadmanhwa/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 000000000..ea170dec2 Binary files /dev/null and b/multisrc/overrides/madara/topreadmanhwa/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/topreadmanhwa/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/madara/topreadmanhwa/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 000000000..41948cbe5 Binary files /dev/null and b/multisrc/overrides/madara/topreadmanhwa/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/topreadmanhwa/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/madara/topreadmanhwa/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 000000000..6c2749808 Binary files /dev/null and b/multisrc/overrides/madara/topreadmanhwa/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/topreadmanhwa/res/web_hi_res_512.png b/multisrc/overrides/madara/topreadmanhwa/res/web_hi_res_512.png new file mode 100644 index 000000000..273d50ce6 Binary files /dev/null and b/multisrc/overrides/madara/topreadmanhwa/res/web_hi_res_512.png differ diff --git a/multisrc/overrides/madara/topreadmanhwa/src/TopReadManhwa.kt b/multisrc/overrides/madara/topreadmanhwa/src/TopReadManhwa.kt new file mode 100644 index 000000000..c73820f18 --- /dev/null +++ b/multisrc/overrides/madara/topreadmanhwa/src/TopReadManhwa.kt @@ -0,0 +1,56 @@ +package eu.kanade.tachiyomi.extension.en.topreadmanhwa + +import eu.kanade.tachiyomi.multisrc.madara.Madara +import eu.kanade.tachiyomi.network.interceptor.rateLimit +import eu.kanade.tachiyomi.source.model.SManga +import okhttp3.OkHttpClient +import org.jsoup.nodes.Document +import java.text.SimpleDateFormat +import java.util.Locale + +class TopReadManhwa : Madara( + "TopReadManhwa", + "https://topreadmanhwa.com", + "en", + SimpleDateFormat("MM/dd/yyyy", Locale.ENGLISH), +) { + + override val client: OkHttpClient = super.client.newBuilder() + .rateLimit(1) + .build() + + override val useNewChapterEndpoint = true + + // Popular + + override val mangaEntrySelector = "" + + override val popularMangaUrlSelector = "div.post-title a:not([target])" + + // Details + + private val descriptionSelector = "div.description-summary div.summary__content h3:contains(description) + *" + + override val mangaDetailsSelectorDescription = "$descriptionSelector, ${super.mangaDetailsSelectorDescription}" + + override fun mangaDetailsParse(document: Document): SManga { + return super.mangaDetailsParse(document).apply { + document.selectFirst(descriptionSelector)?.run { + description = "${text().trim()}\n\n$description" + } + + // Attempt to filter out things that aren't part of the series description + description = description?.run { + split("\n\n").filterNot { block -> + block.contains("topreadmanhwa", true) || + block.contains("topreadmanwha", true) || + block.contains("Please share your thoughts", true) || + block.contains("If you're a fan of", true) || + block.contains("Happy reading", true) + } + .distinct() // Edge case where the element in `descriptionSelector` can contain
tags + .joinToString("\n\n") + } + } + } +} diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt index 7ad1481ca..a3ff71682 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt @@ -373,6 +373,7 @@ class MadaraGenerator : ThemeSourceGenerator { SingleLang("NeatManga", "https://neatmanga.com", "en", overrideVersionCode = 2), SingleLang("NekoPost.co (unoriginal)", "https://www.nekopost.co", "th", isNsfw = false, className = "NekoPostCo"), SingleLang("NekoScan", "https://nekoscan.com", "en", overrideVersionCode = 2), + SingleLang("NewManhua", "https://newmanhua.com", "en", isNsfw = true), SingleLang("Night Comic", "https://www.nightcomic.com", "en", overrideVersionCode = 1), SingleLang("Niji Translations", "https://niji-translations.com", "ar", overrideVersionCode = 1), SingleLang("Nitro Manga", "https://nitromanga.com", "en", className = "NitroScans", overrideVersionCode = 1), @@ -466,6 +467,7 @@ class MadaraGenerator : ThemeSourceGenerator { SingleLang("Toonizy", "https://toonizy.com", "en", isNsfw = true), SingleLang("ToonMany", "https://toonmany.com", "en", isNsfw = true), SingleLang("Top Manhua", "https://topmanhua.com", "en", overrideVersionCode = 2), + SingleLang("TopReadManhwa", "https://topreadmanhwa.com", "en", isNsfw = true), SingleLang("Tortuga Ceviri", "https://tortuga-ceviri.com", "tr"), SingleLang("Traducciones Moonlight", "https://traduccionesmoonlight.com", "es"), SingleLang("TreeManga", "https://treemanga.com", "en", overrideVersionCode = 1),