fix(hentai4free, nyanukafe): match Kotlin source overrides

hentai4free: Use search-based URLs for popular/latest with m_orderby
param (views/latest), matching Kotlin's popularMangaRequest override

nyanukafe: Set custom selectors for popular listing and detail fields
This commit is contained in:
achmad
2026-05-14 22:31:18 +07:00
parent 00e61480c3
commit 2c928d3298
2 changed files with 22 additions and 3 deletions
+15
View File
@@ -1,6 +1,9 @@
package hentai4free package hentai4free
import ( import (
"fmt"
"net/url"
"goyomi/internal/registry" "goyomi/internal/registry"
base "goyomi/sources/base/madara" base "goyomi/sources/base/madara"
) )
@@ -12,7 +15,19 @@ func New() *base.Source {
Lang: "en", Lang: "en",
MangaSubString: "hentai", MangaSubString: "hentai",
UseNewChapterEndpoint: true, UseNewChapterEndpoint: true,
PopularMangaSelector: "div.c-tabs-item__content, div.page-item-detail, .manga__item",
PopularURL: func(page int) string {
return searchURL("https://hentai4free.net", "views", page)
},
LatestURL: func(page int) string {
return searchURL("https://hentai4free.net", "latest", page)
},
}) })
} }
func searchURL(base, order string, page int) string {
return fmt.Sprintf("%s/?s=&post_type=wp-manga&paged=%d&m_orderby=%s",
base, page, url.QueryEscape(order))
}
func init() { registry.Register(New()) } func init() { registry.Register(New()) }
+7 -3
View File
@@ -10,9 +10,13 @@ func New() *base.Source {
Name: "Nyanu Kafe", Name: "Nyanu Kafe",
BaseURL: "https://nyanukafe.com", BaseURL: "https://nyanukafe.com",
Lang: "en", Lang: "en",
PopularSelector: ".series-splide .splide__slide:not(.splide__slide--clone)",
DescriptionSelector: "div.grid > div#expand_content > p",
StatusSelector: "div.w-full.flex-wrap > div:eq(3) > div:last-child",
AuthorSelector: "div.w-full.flex-wrap > div:eq(0) > div:last-child",
ArtistSelector: "div.w-full.flex-wrap > div:eq(1) > div:last-child",
}) })
} }
func init() { func init() { registry.Register(New()) }
registry.Register(New())
}