[mod] add new category 'stock_images' - a specialization of 'images' (#6703)

Engines like Pexels provide images that one would more likely expect in a
category named ``stock_images``.

By classifying engines like Pexels more precisely, we enable a more specific
handling of them, which also helps to avoid mixing them with the more general
image search on the internet. [1]

We leave these engines *enabled* by default, take them out of ``images`` and
move them into the specialization ``stock_images``.

This makes it possible, on the one hand, for the admin to configure a tab in the
UI, and on the other hand, the user can always select the group directly using
the search syntax ``!stock_images ...``.

What we need to keep in mind:

1. Technically speaking, there are no subcategories in the strict
   sense.  Organizationally, the *subcategories* are derived from the
   `categories_as_tabs`.

2. From an admin’s perspective, `categories_as_tabs` is the tool for
   structuring their content.

3. In the context of “enabled/disabled by default”: We should avoid having
   the admin have to activate many individual engines when they want to
   structure their content (UI tabs).

So if we leave an engine enabled by default and **move** it from `images` to a
new category, the admin only needs to add the new category to
`categories_as_tabs` to restructure their content.  If the new category is also
part of the translations (see `searx/searxng.msg` in this PR), this UI structure
would also be available internationally.

[1] https://github.com/searxng/searxng/pull/6690#issuecomment-5646291679

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
Markus Heiser
2026-09-16 17:03:33 +02:00
committed by Markus Heiser
parent 1f7711ef1f
commit 280aceb1ae
10 changed files with 11 additions and 15 deletions

View File

@@ -33,7 +33,7 @@ about = {
base_url = "https://500px.com"
api_url = "https://api-neo.500px.com"
categories = ["images"]
categories = ["stock_images"]
paging = True
results_per_page = 30

View File

@@ -18,7 +18,7 @@ about = {
"results": 'JSON',
}
categories = ['images']
categories = ["stock_images"]
page_size = 15
paging = True

View File

@@ -26,7 +26,7 @@ about = {
}
base_url = "https://www.pexels.com"
categories = ["images"]
categories = ["stock_images"]
api_key = "H2jk9uKnhRmL6WPwh89zBezWvr"
"""

View File

@@ -26,7 +26,7 @@ about = {
base_url = "https://picjumbo.com"
categories = ["images"]
categories = ["stock_images"]
paging = True

View File

@@ -25,7 +25,7 @@ about = {
base_url = "https://www.shopify.com"
categories = ["images"]
categories = ["stock_images"]
paging = True

View File

@@ -25,7 +25,7 @@ about = {
base_url = "https://stocksnap.io"
cdn_url = "https://cdn.stocksnap.io"
categories = ["images"]
categories = ["stock_images"]
paging = True

View File

@@ -18,7 +18,7 @@ about = {
base_url = 'https://unsplash.com/'
search_url = base_url + 'napi/search/photos?'
categories = ['images']
categories = ["stock_images"]
page_size = 20
paging = True

View File

@@ -17,7 +17,7 @@ about = {
}
# engine dependent config
categories = ['images']
categories = ["stock_images"]
paging = False
# search-url