summaryrefslogtreecommitdiff
path: root/config/services/web
diff options
context:
space:
mode:
authorQuentin Aristote <quentin@aristote.fr>2021-11-05 11:49:27 +0100
committerQuentin Aristote <quentin@aristote.fr>2021-11-05 11:49:27 +0100
commitd816034b887c10b7adcdedb9560774010b6d1e44 (patch)
treeef3bc4f1ffab876fb19a2ea54cf318214526bc86 /config/services/web
parent18f2b0ce4bdcd61454c3b77bef3981d48f8e6a5f (diff)
make wikipedia search available in english and french
Diffstat (limited to 'config/services/web')
-rw-r--r--config/services/web/searx/searx/engines.nix51
1 files changed, 26 insertions, 25 deletions
diff --git a/config/services/web/searx/searx/engines.nix b/config/services/web/searx/searx/engines.nix
index d43f30a..8545058 100644
--- a/config/services/web/searx/searx/engines.nix
+++ b/config/services/web/searx/searx/engines.nix
@@ -19,6 +19,31 @@ let
+ (concatStrings
(mapAttrsToList (name: value: "&${name}=${builtins.toString value}")
extraParameters));
+
+ wikipediaSearch = lang: {
+ name = "wikipedia search";
+ engine = "xpath";
+ search_url = {
+ baseUrl = "https://${lang}.wikipedia.org/w/index.php";
+ queryKeyword = "search";
+ extraParameters = { fulltext = 1; };
+ };
+ results_xpath = ''//ul[@class="mw-search-results"]/li'';
+ url_xpath = ''./div[@class="mw-search-result-heading"]/a/@href'';
+ title_xpath = ''./div[@class="mw-search-result-heading"]/a'';
+ content_xpath = ''./div[@class="searchresult"]'';
+ shortcut = "w";
+ categories = "general";
+ disabled = true;
+ about = {
+ website = "https://{lang}.wikipedia.org/";
+ wikidata_id = "Q52";
+ official_api_documentation = "https://{lang}.wikipedia.org/api/";
+ use_official_api = false;
+ require_api_key = false;
+ results = "HTML";
+ };
+ };
in {
services.searx.settings.engines = (disable [
# general
@@ -114,29 +139,5 @@ in {
results = "HTML";
};
}
- {
- name = "wikipedia search";
- engine = "xpath";
- search_url = makeSearchUrl {
- baseUrl = "https://fr.wikipedia.org/w/index.php";
- queryKeyword = "search";
- extraParameters = { fulltext = 1; };
- };
- results_xpath = ''//ul[@class="mw-search-results"]/li'';
- url_xpath = ''./div[@class="mw-search-result-heading"]/a/@href'';
- title_xpath = ''./div[@class="mw-search-result-heading"]/a'';
- content_xpath = ''./div[@class="searchresult"]'';
- shortcut = "w";
- categories = "general";
- disabled = true;
- about = {
- website = "https://www.wikipedia.org/";
- wikidata_id = "Q52";
- official_api_documentation = "https://en.wikipedia.org/api/";
- use_official_api = false;
- require_api_key = false;
- results = "HTML";
- };
- }
- ];
+ ] ++ (map wikipediaSearch [ "fr" "en" ]);
}