Initial commit

This commit is contained in:
FourTOne5
2024-01-09 04:12:39 +06:00
commit 600c345dfe
8593 changed files with 150590 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application>
<activity
android:name="eu.kanade.tachiyomi.multisrc.mymangacms.MyMangaCMSUrlActivity"
android:excludeFromRecents="true"
android:exported="true"
android:theme="@android:style/Theme.NoDisplay">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="${SOURCEHOST}"
android:pathPattern="/..*"
android:scheme="${SOURCESCHEME}" />
</intent-filter>
</activity>
</application>
</manifest>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

View File

@@ -0,0 +1,62 @@
package eu.kanade.tachiyomi.extension.en.manhwa18
import eu.kanade.tachiyomi.multisrc.mymangacms.MyMangaCMS
import eu.kanade.tachiyomi.source.model.FilterList
class Manhwa18 : MyMangaCMS("Manhwa18", "https://manhwa18.com", "en") {
// Migrated from FMReader to MyMangaCMS.
override val versionId = 2
override val parseAuthorString = "Author"
override val parseAlternativeNameString = "Other name"
override val parseAlternative2ndNameString = "Doujinshi"
override val parseStatusString = "Status"
override val parseStatusOngoingStringLowerCase = "on going"
override val parseStatusOnHoldStringLowerCase = "on hold"
override val parseStatusCompletedStringLowerCase = "completed"
override fun getFilterList(): FilterList = FilterList(
Author("Author"),
Status(
"Status",
"All",
"Ongoing",
"On hold",
"Completed",
),
Sort(
"Order",
"A-Z",
"Z-A",
"Latest update",
"New manhwa",
"Most view",
"Most like",
),
GenreList(getGenreList(), "Genre"),
)
// To populate this list:
// console.log([...document.querySelectorAll("div.search-gerne_item")].map(elem => `Genre("${elem.textContent.trim()}", ${elem.querySelector("label").getAttribute("data-genre-id")}),`).join("\n"))
override fun getGenreList() = listOf(
Genre("Adult", 4),
Genre("Doujinshi", 9),
Genre("Harem", 17),
Genre("Manga", 24),
Genre("Manhwa", 26),
Genre("Mature", 28),
Genre("NTR", 33),
Genre("Romance", 36),
Genre("Webtoon", 57),
Genre("Action", 59),
Genre("Comedy", 60),
Genre("BL", 61),
Genre("Horror", 62),
Genre("Raw", 63),
Genre("Uncensore", 64),
)
override fun dateUpdatedParser(date: String): Long =
runCatching { dateFormatter.parse(date.substringAfter(" - "))?.time }.getOrNull() ?: 0L
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

View File

@@ -0,0 +1,62 @@
package eu.kanade.tachiyomi.extension.all.manhwa18net
import eu.kanade.tachiyomi.multisrc.mymangacms.MyMangaCMS
import eu.kanade.tachiyomi.source.model.FilterList
class Manhwa18Net : MyMangaCMS("Manhwa18.net", "https://manhwa18.net", "en") {
// Migrated from FMReader to MyMangaCms.
override val versionId = 2
override val parseAuthorString = "Author"
override val parseAlternativeNameString = "Other name"
override val parseAlternative2ndNameString = "Doujinshi"
override val parseStatusString = "Status"
override val parseStatusOngoingStringLowerCase = "on going"
override val parseStatusOnHoldStringLowerCase = "on hold"
override val parseStatusCompletedStringLowerCase = "completed"
override fun getFilterList(): FilterList = FilterList(
Author("Author"),
Status(
"Status",
"All",
"Ongoing",
"On hold",
"Completed",
),
Sort(
"Order",
"A-Z",
"Z-A",
"Latest update",
"New manhwa",
"Most view",
"Most like",
),
GenreList(getGenreList(), "Genre"),
)
// To populate this list:
// console.log([...document.querySelectorAll("div.search-gerne_item")].map(elem => `Genre("${elem.textContent.trim()}", ${elem.querySelector("label").getAttribute("data-genre-id")}),`).join("\n"))
override fun getGenreList() = listOf(
Genre("Adult", 4),
Genre("Doujinshi", 9),
Genre("Harem", 17),
Genre("Manga", 24),
Genre("Manhwa", 26),
Genre("Mature", 28),
Genre("NTR", 33),
Genre("Romance", 36),
Genre("Webtoon", 57),
Genre("Action", 59),
Genre("Comedy", 60),
Genre("BL", 61),
Genre("Horror", 62),
Genre("Raw", 63),
Genre("Uncensore", 64),
)
override fun dateUpdatedParser(date: String): Long =
runCatching { dateFormatter.parse(date.substringAfter(" - "))?.time }.getOrNull() ?: 0L
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -0,0 +1,67 @@
package eu.kanade.tachiyomi.extension.vi.truyentranhlh
import eu.kanade.tachiyomi.multisrc.mymangacms.MyMangaCMS
class TruyenTranhLH : MyMangaCMS("TruyenTranhLH", "https://truyenlh.com", "vi") {
override val id: Long = 7969606392351831672
override fun getGenreList() = listOf(
Genre("Action", 1),
Genre("Adult", 2),
Genre("Adventure", 3),
Genre("Anime", 4),
Genre("Chuyển Sinh", 5),
Genre("Cổ Đại", 6),
Genre("Comedy", 7),
Genre("Comic", 8),
Genre("Demons", 9),
Genre("Detective", 10),
Genre("Doujinshi", 11),
Genre("Drama", 12),
Genre("Đam Mỹ", 13),
Genre("Ecchi", 14),
Genre("Fantasy", 15),
Genre("Gender Bender", 16),
Genre("Harem", 17),
Genre("Historical", 18),
Genre("Horror", 19),
Genre("Huyền Huyễn", 20),
Genre("Isekai", 21),
Genre("Josei", 22),
Genre("Mafia", 23),
Genre("Magic", 24),
Genre("Manhua", 25),
Genre("Manhwa", 26),
Genre("Martial Arts", 27),
Genre("Mature", 28),
Genre("Military", 29),
Genre("Mystery", 30),
Genre("Ngôn Tình", 31),
Genre("One shot", 32),
Genre("Psychological", 33),
Genre("Romance", 34),
Genre("School Life", 35),
Genre("Sci-fi", 36),
Genre("Seinen", 37),
Genre("Shoujo", 38),
Genre("Shoujo Ai", 39),
Genre("Shounen", 40),
Genre("Shounen Ai", 41),
Genre("Slice of life", 42),
Genre("Smut", 43),
Genre("Sports", 44),
Genre("Supernatural", 45),
Genre("Tragedy", 46),
Genre("Trọng Sinh", 47),
Genre("Truyện Màu", 48),
Genre("Webtoon", 49),
Genre("Xuyên Không", 50),
Genre("Yaoi", 51),
Genre("Yuri", 52),
Genre("Mecha", 53),
Genre("Cooking", 54),
Genre("Trùng Sinh", 55),
Genre("Gourmet", 56),
Genre("Dark Fantasy", 57),
)
}