feat: add image search with Bing, DuckDuckGo, and Qwant engines
Three new image search engines: - bing_images: Bing Images via RSS endpoint - ddg_images: DuckDuckGo Images via VQD API - qwant_images: Qwant Images via v3 search API Frontend: - Image grid layout with responsive columns - image_item template with thumbnail, title, and source metadata - Hover animations and lazy loading - Grid activates automatically when category=images Backend: - category=images routes to image engines via planner - Image engines registered in factory and engine allowlist - extractImgSrc helper for parsing thumbnail URLs from HTML - IsImageSearch flag on PageData for template layout switching
This commit is contained in:
parent
a316763aca
commit
2b072e4de3
11 changed files with 687 additions and 4 deletions
|
|
@ -72,3 +72,14 @@ func htmlUnescape(s string) string {
|
|||
s = strings.ReplaceAll(s, " ", " ")
|
||||
return s
|
||||
}
|
||||
|
||||
// extractImgSrc finds the first <img src="..."> in an HTML string and returns
|
||||
// the src attribute value.
|
||||
func extractImgSrc(html string) string {
|
||||
idx := strings.Index(html, "<img")
|
||||
if idx == -1 {
|
||||
return ""
|
||||
}
|
||||
remaining := html[idx:]
|
||||
return extractAttr(remaining, "src")
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue