feat: implement phase 4 batch — 11 en/ MangaHub wrapper sources

mangahubio, mangahereonl, mangakakalotfun, mangafoxfun, manganel,
mangaonlinefun, mangapandaonl, mangareadersite, mangatoday, onemangaco,
onemangainfo — all using the existing mangahub GraphQL base.
This commit is contained in:
achmad
2026-05-13 23:20:27 +07:00
parent 78723bb195
commit 7fe2c48df7
13 changed files with 198 additions and 11 deletions
+11
View File
@@ -110,6 +110,17 @@ import (
_ "goyomi/sources/en/manhuanow" _ "goyomi/sources/en/manhuanow"
_ "goyomi/sources/en/manhuasite" _ "goyomi/sources/en/manhuasite"
_ "goyomi/sources/en/sleepytranslations" _ "goyomi/sources/en/sleepytranslations"
_ "goyomi/sources/en/mangahereonl"
_ "goyomi/sources/en/mangahubio"
_ "goyomi/sources/en/mangakakalotfun"
_ "goyomi/sources/en/mangafoxfun"
_ "goyomi/sources/en/manganel"
_ "goyomi/sources/en/mangaonlinefun"
_ "goyomi/sources/en/mangapandaonl"
_ "goyomi/sources/en/mangareadersite"
_ "goyomi/sources/en/mangatoday"
_ "goyomi/sources/en/onemangaco"
_ "goyomi/sources/en/onemangainfo"
) )
func main() { func main() {
+11 -11
View File
@@ -359,7 +359,7 @@ Detailed implementation notes for complex sources are in the **Notes** section a
- [x] `en/mangaforest` → base: MadTheme - [x] `en/mangaforest` → base: MadTheme
- [ ] `en/mangaforfreecom` - [ ] `en/mangaforfreecom`
- [ ] `en/mangafox` - [ ] `en/mangafox`
- [ ] `en/mangafoxfun` → base: MangaHub - [x] `en/mangafoxfun` → base: MangaHub
- [ ] `en/mangafreak` - [ ] `en/mangafreak`
- [ ] `en/mangafree` - [ ] `en/mangafree`
- [x] `en/mangagg` - [x] `en/mangagg`
@@ -369,36 +369,36 @@ Detailed implementation notes for complex sources are in the **Notes** section a
- [ ] `en/mangahen` - [ ] `en/mangahen`
- [x] `en/mangahentai` - [x] `en/mangahentai`
- [ ] `en/mangahere` - [ ] `en/mangahere`
- [ ] `en/mangahereonl` → base: MangaHub - [x] `en/mangahereonl` → base: MangaHub
- [ ] `en/mangahubio` → base: MangaHub - [x] `en/mangahubio` → base: MangaHub
- [ ] `en/mangaka` - [ ] `en/mangaka`
- [ ] `en/mangakakalot` - [ ] `en/mangakakalot`
- [ ] `en/mangakakalotfun` → base: MangaHub - [x] `en/mangakakalotfun` → base: MangaHub
- [ ] `en/mangakatana` - [ ] `en/mangakatana`
- [ ] `en/mangakiss` - [ ] `en/mangakiss`
- [ ] `en/mangamaniacs` - [ ] `en/mangamaniacs`
- [ ] `en/mangamo` - [ ] `en/mangamo`
- [ ] `en/mangamob` - [ ] `en/mangamob`
- [x] `en/mangamonk` → base: MadTheme - [x] `en/mangamonk` → base: MadTheme
- [ ] `en/manganel` → base: MangaHub - [x] `en/manganel` → base: MangaHub
- [ ] `en/manganelo` - [ ] `en/manganelo`
- [ ] `en/manganow` - [ ] `en/manganow`
- [ ] `en/mangaonlinefun` → base: MangaHub - [x] `en/mangaonlinefun` → base: MangaHub
- [ ] `en/mangaowlio` - [ ] `en/mangaowlio`
- [ ] `en/mangapandaonl` → base: MangaHub - [x] `en/mangapandaonl` → base: MangaHub
- [ ] `en/mangapill` - [ ] `en/mangapill`
- [ ] `en/mangapuma` - [ ] `en/mangapuma`
- [ ] `en/mangarawclub` - [ ] `en/mangarawclub`
- [ ] `en/mangaread` - [ ] `en/mangaread`
- [ ] `en/mangareadercc` - [ ] `en/mangareadercc`
- [ ] `en/mangareadersite` → base: MangaHub - [x] `en/mangareadersite` → base: MangaHub
- [ ] `en/mangareadorg` - [ ] `en/mangareadorg`
- [x] `en/mangasaga` → base: MadTheme - [x] `en/mangasaga` → base: MadTheme
- [ ] `en/mangasect` - [ ] `en/mangasect`
- [x] `en/mangaspin` → base: MadTheme - [x] `en/mangaspin` → base: MadTheme
- [ ] `en/mangasushi` - [ ] `en/mangasushi`
- [ ] `en/mangatellers` - [ ] `en/mangatellers`
- [ ] `en/mangatoday` → base: MangaHub - [x] `en/mangatoday` → base: MangaHub
- [ ] `en/mangatown` - [ ] `en/mangatown`
- [ ] `en/mangatrend` - [ ] `en/mangatrend`
- [ ] `en/mangatx` - [ ] `en/mangatx`
@@ -470,8 +470,8 @@ Detailed implementation notes for complex sources are in the **Notes** section a
- [ ] `en/oglaf` - [ ] `en/oglaf`
- [ ] `en/ohjoysextoy` - [ ] `en/ohjoysextoy`
- [ ] `en/omegascans` - [ ] `en/omegascans`
- [ ] `en/onemangaco` → base: MangaHub - [x] `en/onemangaco` → base: MangaHub
- [ ] `en/onemangainfo` → base: MangaHub - [x] `en/onemangainfo` → base: MangaHub
- [ ] `en/onepunchmanonline` - [ ] `en/onepunchmanonline`
- [ ] `en/onlythebesthentai` - [ ] `en/onlythebesthentai`
- [ ] `en/oots` - [ ] `en/oots`
+16
View File
@@ -0,0 +1,16 @@
package mangafoxfun
import (
"goyomi/internal/registry"
base "goyomi/sources/base/mangahub"
)
func New() *base.Source {
return base.New(base.Config{
Name: "MangaFox.fun",
BaseURL: "https://mangafox.fun",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package mangahereonl
import (
"goyomi/internal/registry"
base "goyomi/sources/base/mangahub"
)
func New() *base.Source {
return base.New(base.Config{
Name: "MangaHere.onl",
BaseURL: "https://mangahere.onl",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package mangahubio
import (
"goyomi/internal/registry"
base "goyomi/sources/base/mangahub"
)
func New() *base.Source {
return base.New(base.Config{
Name: "MangaHub",
BaseURL: "https://mangahub.io",
Lang: "en",
})
}
func init() { registry.Register(New()) }
@@ -0,0 +1,16 @@
package mangakakalotfun
import (
"goyomi/internal/registry"
base "goyomi/sources/base/mangahub"
)
func New() *base.Source {
return base.New(base.Config{
Name: "Mangakakalot.fun",
BaseURL: "https://mangakakalot.fun",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package manganel
import (
"goyomi/internal/registry"
base "goyomi/sources/base/mangahub"
)
func New() *base.Source {
return base.New(base.Config{
Name: "MangaNel",
BaseURL: "https://manganel.me",
Lang: "en",
})
}
func init() { registry.Register(New()) }
@@ -0,0 +1,16 @@
package mangaonlinefun
import (
"goyomi/internal/registry"
base "goyomi/sources/base/mangahub"
)
func New() *base.Source {
return base.New(base.Config{
Name: "MangaOnline.fun",
BaseURL: "https://mangaonline.fun",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package mangapandaonl
import (
"goyomi/internal/registry"
base "goyomi/sources/base/mangahub"
)
func New() *base.Source {
return base.New(base.Config{
Name: "MangaPanda.onl",
BaseURL: "https://mangapanda.onl",
Lang: "en",
})
}
func init() { registry.Register(New()) }
@@ -0,0 +1,16 @@
package mangareadersite
import (
"goyomi/internal/registry"
base "goyomi/sources/base/mangahub"
)
func New() *base.Source {
return base.New(base.Config{
Name: "MangaReader.site",
BaseURL: "https://mangareader.site",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package mangatoday
import (
"goyomi/internal/registry"
base "goyomi/sources/base/mangahub"
)
func New() *base.Source {
return base.New(base.Config{
Name: "MangaToday",
BaseURL: "https://mangatoday.fun",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package onemangaco
import (
"goyomi/internal/registry"
base "goyomi/sources/base/mangahub"
)
func New() *base.Source {
return base.New(base.Config{
Name: "1Manga.co",
BaseURL: "https://1manga.co",
Lang: "en",
})
}
func init() { registry.Register(New()) }
+16
View File
@@ -0,0 +1,16 @@
package onemangainfo
import (
"goyomi/internal/registry"
base "goyomi/sources/base/mangahub"
)
func New() *base.Source {
return base.New(base.Config{
Name: "OneManga.info",
BaseURL: "https://onemanga.info",
Lang: "en",
})
}
func init() { registry.Register(New()) }