feat: implement phase 4 batch — 21 en/ base-class wrapper sources

6 Madara: boratscans, bunmanga, cucumbermanga, decadencescans, linkmanga,
sleepytranslations. 15 MadTheme: beehentai, boxmanhwa, kaliscancom,
kaliscanio, mangabuddy, mangabuddyme, mangacute, mangafab, mangaforest,
mangamonk, mangasaga, mangaspin, mangaxyz, manhuanow, manhuasite.

Also corrects base-class annotations in phase4-standalone.md for sources
previously misidentified as Madara (arcrelight=MangAdventure; atsumaru,
aurora, azcomic, broccolisoup, buttsmithy, clonemanga, clowncorps=HttpSource).
This commit is contained in:
achmad
2026-05-13 23:17:48 +07:00
parent 316ae2f9db
commit 78723bb195
23 changed files with 382 additions and 22 deletions
+16
View File
@@ -0,0 +1,16 @@
package beehentai
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madtheme"
)
func New() *base.Source {
return base.New(base.Config{
Name: "BeeHentai",
BaseURL: "https://beehentai.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+17
View File
@@ -0,0 +1,17 @@
package boratscans
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madara"
)
func New() *base.Source {
return base.New(base.Config{
Name: "Borat Scans",
BaseURL: "https://boratscans.com",
Lang: "en",
UseNewChapterEndpoint: true,
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package boxmanhwa
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madtheme"
)
func New() *base.Source {
return base.New(base.Config{
Name: "BoxManhwa",
BaseURL: "https://boxmanhwa.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package bunmanga
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madara"
)
func New() *base.Source {
return base.New(base.Config{
Name: "Bun Manga",
BaseURL: "https://bunmanga.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+17
View File
@@ -0,0 +1,17 @@
package cucumbermanga
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madara"
)
func New() *base.Source {
return base.New(base.Config{
Name: "Cucumber Manga",
BaseURL: "https://cucumbermanga.com",
Lang: "en",
UseNewChapterEndpoint: true,
})
}
func init() { registry.Register(New()) }
@@ -0,0 +1,17 @@
package decadencescans
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madara"
)
func New() *base.Source {
return base.New(base.Config{
Name: "Decadence Scans",
BaseURL: "https://reader.decadencescans.com",
Lang: "en",
UseNewChapterEndpoint: true,
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package kaliscancom
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madtheme"
)
func New() *base.Source {
return base.New(base.Config{
Name: "KaliScan.com",
BaseURL: "https://kaliscan.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package kaliscanio
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madtheme"
)
func New() *base.Source {
return base.New(base.Config{
Name: "KaliScan.io",
BaseURL: "https://kaliscan.io",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package linkmanga
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madara"
)
func New() *base.Source {
return base.New(base.Config{
Name: "LinkManga",
BaseURL: "https://linkmanga.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package mangabuddy
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madtheme"
)
func New() *base.Source {
return base.New(base.Config{
Name: "MangaBuddy",
BaseURL: "https://mangabuddy.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package mangabuddyme
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madtheme"
)
func New() *base.Source {
return base.New(base.Config{
Name: "MangaBuddy.me",
BaseURL: "https://mangabuddy.me",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package mangacute
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madtheme"
)
func New() *base.Source {
return base.New(base.Config{
Name: "MangaCute",
BaseURL: "https://mangacute.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package mangafab
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madtheme"
)
func New() *base.Source {
return base.New(base.Config{
Name: "MangaFab",
BaseURL: "https://mangafab.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package mangaforest
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madtheme"
)
func New() *base.Source {
return base.New(base.Config{
Name: "MangaForest",
BaseURL: "https://mangaforest.me",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package mangamonk
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madtheme"
)
func New() *base.Source {
return base.New(base.Config{
Name: "MangaMonk",
BaseURL: "https://mangamonk.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package mangasaga
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madtheme"
)
func New() *base.Source {
return base.New(base.Config{
Name: "MangaSaga",
BaseURL: "https://mangasaga.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package mangaspin
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madtheme"
)
func New() *base.Source {
return base.New(base.Config{
Name: "MangaSpin",
BaseURL: "https://mangaspin.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package mangaxyz
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madtheme"
)
func New() *base.Source {
return base.New(base.Config{
Name: "MangaXYZ",
BaseURL: "https://mangaxyz.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package manhuanow
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madtheme"
)
func New() *base.Source {
return base.New(base.Config{
Name: "ManhuaNow",
BaseURL: "https://manhuanow.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package manhuasite
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madtheme"
)
func New() *base.Source {
return base.New(base.Config{
Name: "ManhuaSite",
BaseURL: "https://manhuasite.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }
@@ -0,0 +1,16 @@
package sleepytranslations
import (
"goyomi/internal/registry"
base "goyomi/sources/base/madara"
)
func New() *base.Source {
return base.New(base.Config{
Name: "Sleepy Translations",
BaseURL: "https://sleepytranslations.com",
Lang: "en",
})
}
func init() { registry.Register(New()) }