Initial commit
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 66 KiB |
@@ -0,0 +1,5 @@
|
||||
package eu.kanade.tachiyomi.extension.en.anatanomotokare
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.foolslide.FoolSlide
|
||||
|
||||
class AnataNoMotokare : FoolSlide("Anata no Motokare", "https://motokare.xyz", "en", "/reader")
|
||||
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 13 KiB |
BIN
multisrc/overrides/foolslide/baixarhentai/res/web_hi_res_512.png
Normal file
|
After Width: | Height: | Size: 58 KiB |
@@ -0,0 +1,27 @@
|
||||
package eu.kanade.tachiyomi.extension.pt.baixarhentai
|
||||
|
||||
import androidx.preference.PreferenceScreen
|
||||
import eu.kanade.tachiyomi.multisrc.foolslide.FoolSlide
|
||||
import eu.kanade.tachiyomi.network.interceptor.rateLimit
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import org.jsoup.nodes.Document
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class BaixarHentai : FoolSlide("Baixar Hentai", "https://leitura.baixarhentai.net", "pt-BR") {
|
||||
// Hardcode the id because the language wasn't specific.
|
||||
override val id = 8908032188831949972
|
||||
|
||||
override val client = super.client.newBuilder()
|
||||
.rateLimit(1, 2, TimeUnit.SECONDS)
|
||||
.build()
|
||||
|
||||
override fun mangaDetailsParse(document: Document) = SManga.create().apply {
|
||||
title = document.select("h1.title").text()
|
||||
thumbnail_url = getDetailsThumbnail(document, "div.title a")
|
||||
}
|
||||
|
||||
// Always show adult content
|
||||
override val allowAdult = true
|
||||
|
||||
override fun setupPreferenceScreen(screen: PreferenceScreen) {}
|
||||
}
|
||||
|
After Width: | Height: | Size: 4.6 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 121 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
BIN
multisrc/overrides/foolslide/default/res/web_hi_res_512.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 4.6 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 14 KiB |
BIN
multisrc/overrides/foolslide/evilflowers/res/web_hi_res_512.png
Normal file
|
After Width: | Height: | Size: 105 KiB |
@@ -0,0 +1,49 @@
|
||||
package eu.kanade.tachiyomi.extension.all.foolslidecustomizable
|
||||
|
||||
import android.widget.Toast
|
||||
import androidx.preference.EditTextPreference
|
||||
import androidx.preference.PreferenceScreen
|
||||
import eu.kanade.tachiyomi.AppInfo
|
||||
import eu.kanade.tachiyomi.multisrc.foolslide.FoolSlide
|
||||
import eu.kanade.tachiyomi.source.SourceFactory
|
||||
|
||||
class FoolSlideCustomizableFactory : SourceFactory {
|
||||
override fun createSources() = listOf(FoolSlideCustomizable())
|
||||
}
|
||||
|
||||
class FoolSlideCustomizable : FoolSlide("FoolSlide Customizable", "", "other") {
|
||||
override val baseUrl: String by lazy {
|
||||
preferences.getString(BASE_URL_PREF, DEFAULT_BASEURL)!!.substringBefore("/directory")
|
||||
}
|
||||
|
||||
override fun setupPreferenceScreen(screen: PreferenceScreen) {
|
||||
super.setupPreferenceScreen(screen)
|
||||
EditTextPreference(screen.context).apply {
|
||||
key = BASE_URL_PREF_TITLE
|
||||
title = BASE_URL_PREF_TITLE
|
||||
summary = BASE_URL_PREF_SUMMARY
|
||||
setDefaultValue(DEFAULT_BASEURL)
|
||||
dialogTitle = BASE_URL_PREF_TITLE
|
||||
dialogMessage = "Default: $DEFAULT_BASEURL"
|
||||
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
try {
|
||||
val res = preferences.edit().putString(BASE_URL_PREF, newValue as String).commit()
|
||||
Toast.makeText(screen.context, RESTART_TACHIYOMI, Toast.LENGTH_LONG).show()
|
||||
res
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
false
|
||||
}
|
||||
}
|
||||
}.let(screen::addPreference)
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val DEFAULT_BASEURL = "https://127.0.0.1"
|
||||
private const val BASE_URL_PREF_TITLE = "Example URL: https://domain.com/path_to/directory/"
|
||||
private val BASE_URL_PREF = "overrideBaseUrl_v${AppInfo.getVersionName()}"
|
||||
private const val BASE_URL_PREF_SUMMARY = "Connect to a designated FoolSlide server"
|
||||
private const val RESTART_TACHIYOMI = "Restart Tachiyomi to apply new setting."
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 9.3 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 55 KiB |
BIN
multisrc/overrides/foolslide/hniscantrad/res/web_hi_res_512.png
Normal file
|
After Width: | Height: | Size: 426 KiB |
@@ -0,0 +1,19 @@
|
||||
package eu.kanade.tachiyomi.extension.all.hniscantrad
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.foolslide.FoolSlide
|
||||
import eu.kanade.tachiyomi.source.SourceFactory
|
||||
import okhttp3.Response
|
||||
|
||||
class HNIScantradFactory : SourceFactory {
|
||||
override fun createSources() = listOf(HNIScantradFR(), HNIScantradEN())
|
||||
}
|
||||
|
||||
class HNIScantradFR : FoolSlide("HNI-Scantrad", "https://hni-scantrad.com", "fr", "/lel") {
|
||||
override fun chapterListParse(response: Response) =
|
||||
super.chapterListParse(response).filter { "/fr/" in it.url }
|
||||
}
|
||||
|
||||
class HNIScantradEN : FoolSlide("HNI-Scantrad", "https://hni-scantrad.com", "en", "/lel") {
|
||||
override fun chapterListParse(response: Response) =
|
||||
super.chapterListParse(response).filter { "/en-us/" in it.url }
|
||||
}
|
||||
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 90 KiB |
@@ -0,0 +1,15 @@
|
||||
package eu.kanade.tachiyomi.extension.fr.lecercleduscan
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.foolslide.FoolSlide
|
||||
import java.util.Locale
|
||||
|
||||
class LeCercleDuScan : FoolSlide("Le Cercle du Scan", "https://lel.lecercleduscan.com", "fr") {
|
||||
override fun parseChapterDate(date: String) = super.parseChapterDate(
|
||||
when (val lcDate = date.lowercase(Locale.FRENCH)) {
|
||||
"hier" -> "yesterday"
|
||||
"aujourd'hui" -> "today"
|
||||
"demain" -> "tomorrow"
|
||||
else -> lcDate
|
||||
},
|
||||
)
|
||||
}
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 19 KiB |
BIN
multisrc/overrides/foolslide/lilyreader/res/web_hi_res_512.png
Normal file
|
After Width: | Height: | Size: 140 KiB |
|
After Width: | Height: | Size: 6.1 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 9.5 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 26 KiB |
BIN
multisrc/overrides/foolslide/mangascouts/res/web_hi_res_512.png
Normal file
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
BIN
multisrc/overrides/foolslide/mangatellers/res/web_hi_res_512.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
@@ -0,0 +1,5 @@
|
||||
package eu.kanade.tachiyomi.extension.en.mangatellers
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.foolslide.FoolSlide
|
||||
|
||||
class Mangatellers : FoolSlide("Mangatellers", "https://reader.mangatellers.gr", "en")
|
||||
|
After Width: | Height: | Size: 8.7 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 38 KiB |
BIN
multisrc/overrides/foolslide/menudofansub/res/web_hi_res_512.png
Normal file
|
After Width: | Height: | Size: 297 KiB |
@@ -0,0 +1,5 @@
|
||||
package eu.kanade.tachiyomi.extension.es.menudofansub
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.foolslide.FoolSlide
|
||||
|
||||
class MenudoFansub : FoolSlide("Menudo-Fansub", "https://www.menudo-fansub.com", "es", "/slide")
|
||||
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 17 KiB |
BIN
multisrc/overrides/foolslide/nifteam/res/web_hi_res_512.png
Normal file
|
After Width: | Height: | Size: 103 KiB |
5
multisrc/overrides/foolslide/nifteam/src/NIFTeam.kt
Normal file
@@ -0,0 +1,5 @@
|
||||
package eu.kanade.tachiyomi.extension.it.nifteam
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.foolslide.FoolSlide
|
||||
|
||||
class NIFTeam : FoolSlide("NIFTeam", "http://read-nifteam.info", "it", "/slide")
|
||||
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 16 KiB |
BIN
multisrc/overrides/foolslide/powermangait/res/web_hi_res_512.png
Normal file
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 5.3 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 7.9 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 24 KiB |
BIN
multisrc/overrides/foolslide/rama/res/web_hi_res_512.png
Normal file
|
After Width: | Height: | Size: 126 KiB |
5
multisrc/overrides/foolslide/rama/src/Rama.kt
Normal file
@@ -0,0 +1,5 @@
|
||||
package eu.kanade.tachiyomi.extension.it.rama
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.foolslide.FoolSlide
|
||||
|
||||
class Rama : FoolSlide("Rama", "https://www.ramareader.it", "it", "/read")
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 7.8 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 8.6 KiB |