mirror of
https://github.com/searxng/searxng.git
synced 2026-08-12 18:21:27 +00:00
Compare commits
5 Commits
7af922c9df
...
b9b46431be
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b9b46431be | ||
|
|
3f18c0f40f | ||
|
|
1cfbd32a1d | ||
|
|
a15b594003 | ||
|
|
24d27a7a21 |
4
.github/workflows/container.yml
vendored
4
.github/workflows/container.yml
vendored
@@ -110,7 +110,7 @@ jobs:
|
|||||||
|
|
||||||
- if: ${{ matrix.emulation }}
|
- if: ${{ matrix.emulation }}
|
||||||
name: Setup QEMU
|
name: Setup QEMU
|
||||||
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
|
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
|
||||||
|
|
||||||
- name: Login to GHCR
|
- name: Login to GHCR
|
||||||
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
||||||
@@ -151,7 +151,7 @@ jobs:
|
|||||||
|
|
||||||
- if: ${{ matrix.emulation }}
|
- if: ${{ matrix.emulation }}
|
||||||
name: Setup QEMU
|
name: Setup QEMU
|
||||||
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
|
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
|
||||||
|
|
||||||
- name: Login to GHCR
|
- name: Login to GHCR
|
||||||
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
|
||||||
|
|||||||
2
.github/workflows/documentation.yml
vendored
2
.github/workflows/documentation.yml
vendored
@@ -57,7 +57,7 @@ jobs:
|
|||||||
|
|
||||||
- if: github.ref_name == 'master'
|
- if: github.ref_name == 'master'
|
||||||
name: Release
|
name: Release
|
||||||
uses: JamesIves/github-pages-deploy-action@6c2d9db40f9296374acc17b90404b6e8864128c8 # v4.7.3
|
uses: JamesIves/github-pages-deploy-action@4a3abc783e1a24aeb44c16e869ad83caf6b4cc23 # v4.7.4
|
||||||
with:
|
with:
|
||||||
folder: "dist/docs"
|
folder: "dist/docs"
|
||||||
branch: "gh-pages"
|
branch: "gh-pages"
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://biomejs.dev/schemas/2.3.2/schema.json",
|
"$schema": "https://biomejs.dev/schemas/2.3.4/schema.json",
|
||||||
"files": {
|
"files": {
|
||||||
"ignoreUnknown": true,
|
"ignoreUnknown": true,
|
||||||
"includes": ["**", "!!node_modules"]
|
"includes": ["**", "!node_modules"]
|
||||||
},
|
},
|
||||||
"assist": {
|
"assist": {
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
@@ -15,9 +15,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"formatter": {
|
"formatter": {
|
||||||
|
"enabled": true,
|
||||||
"bracketSameLine": false,
|
"bracketSameLine": false,
|
||||||
"bracketSpacing": true,
|
"bracketSpacing": true,
|
||||||
"enabled": true,
|
|
||||||
"formatWithErrors": false,
|
"formatWithErrors": false,
|
||||||
"indentStyle": "space",
|
"indentStyle": "space",
|
||||||
"indentWidth": 2,
|
"indentWidth": 2,
|
||||||
@@ -46,10 +46,13 @@
|
|||||||
"useSingleJsDocAsterisk": "error"
|
"useSingleJsDocAsterisk": "error"
|
||||||
},
|
},
|
||||||
"nursery": {
|
"nursery": {
|
||||||
|
"noContinue": "warn",
|
||||||
"noDeprecatedImports": "warn",
|
"noDeprecatedImports": "warn",
|
||||||
|
"noFloatingPromises": "warn",
|
||||||
"noImportCycles": "warn",
|
"noImportCycles": "warn",
|
||||||
"noIncrementDecrement": "warn",
|
"noIncrementDecrement": "warn",
|
||||||
"noMisusedPromises": "warn",
|
"noMisusedPromises": "warn",
|
||||||
|
"noParametersOnlyUsedInRecursion": "warn",
|
||||||
"noUselessCatchBinding": "warn",
|
"noUselessCatchBinding": "warn",
|
||||||
"noUselessUndefined": "warn",
|
"noUselessUndefined": "warn",
|
||||||
"useExhaustiveSwitchCases": "warn",
|
"useExhaustiveSwitchCases": "warn",
|
||||||
@@ -99,7 +102,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"useConsistentBuiltinInstantiation": "error",
|
"useConsistentBuiltinInstantiation": "error",
|
||||||
"useConsistentCurlyBraces": "error",
|
|
||||||
"useConsistentMemberAccessibility": {
|
"useConsistentMemberAccessibility": {
|
||||||
"level": "error",
|
"level": "error",
|
||||||
"options": {
|
"options": {
|
||||||
@@ -162,9 +164,9 @@
|
|||||||
"formatter": {
|
"formatter": {
|
||||||
"attributePosition": "auto",
|
"attributePosition": "auto",
|
||||||
"bracketSameLine": false,
|
"bracketSameLine": false,
|
||||||
"whitespaceSensitivity": "ignore",
|
|
||||||
"indentScriptAndStyle": true,
|
"indentScriptAndStyle": true,
|
||||||
"selfCloseVoidElements": "always"
|
"selfCloseVoidElements": "always",
|
||||||
|
"whitespaceSensitivity": "ignore"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
553
client/simple/package-lock.json
generated
553
client/simple/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -27,25 +27,25 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ionicons": "~8.0.13",
|
"ionicons": "~8.0.13",
|
||||||
"normalize.css": "8.0.1",
|
"normalize.css": "8.0.1",
|
||||||
"ol": "~10.6.1",
|
"ol": "~10.7.0",
|
||||||
"swiped-events": "1.2.0"
|
"swiped-events": "1.2.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "2.3.2",
|
"@biomejs/biome": "2.3.4",
|
||||||
"@types/node": "~24.9.2",
|
"@types/node": "~24.10.0",
|
||||||
"browserslist": "~4.27.0",
|
"browserslist": "~4.27.0",
|
||||||
"browserslist-to-esbuild": "~2.1.1",
|
"browserslist-to-esbuild": "~2.1.1",
|
||||||
"edge.js": "~6.3.0",
|
"edge.js": "~6.3.0",
|
||||||
"less": "~4.4.2",
|
"less": "~4.4.2",
|
||||||
"lightningcss": "~1.30.2",
|
"lightningcss": "~1.30.2",
|
||||||
"sharp": "~0.34.4",
|
"sharp": "~0.34.5",
|
||||||
"sort-package-json": "~3.4.0",
|
"sort-package-json": "~3.4.0",
|
||||||
"stylelint": "~16.25.0",
|
"stylelint": "~16.25.0",
|
||||||
"stylelint-config-standard-less": "~3.0.1",
|
"stylelint-config-standard-less": "~3.0.1",
|
||||||
"stylelint-prettier": "~5.0.3",
|
"stylelint-prettier": "~5.0.3",
|
||||||
"svgo": "~4.0.0",
|
"svgo": "~4.0.0",
|
||||||
"typescript": "~5.9.3",
|
"typescript": "~5.9.3",
|
||||||
"vite": "npm:rolldown-vite@7.1.19",
|
"vite": "npm:rolldown-vite@7.2.2",
|
||||||
"vite-bundle-analyzer": "~1.2.3"
|
"vite-bundle-analyzer": "~1.2.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ import { Endpoints, endpoint, ready, settings } from "./toolkit.ts";
|
|||||||
|
|
||||||
ready(
|
ready(
|
||||||
() => {
|
() => {
|
||||||
import("../main/keyboard.ts");
|
void import("../main/keyboard.ts");
|
||||||
import("../main/search.ts");
|
void import("../main/search.ts");
|
||||||
|
|
||||||
if (settings.autocomplete) {
|
if (settings.autocomplete) {
|
||||||
import("../main/autocomplete.ts");
|
void import("../main/autocomplete.ts");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ on: [endpoint === Endpoints.index] }
|
{ on: [endpoint === Endpoints.index] }
|
||||||
@@ -16,17 +16,17 @@ ready(
|
|||||||
|
|
||||||
ready(
|
ready(
|
||||||
() => {
|
() => {
|
||||||
import("../main/keyboard.ts");
|
void import("../main/keyboard.ts");
|
||||||
import("../main/mapresult.ts");
|
void import("../main/mapresult.ts");
|
||||||
import("../main/results.ts");
|
void import("../main/results.ts");
|
||||||
import("../main/search.ts");
|
void import("../main/search.ts");
|
||||||
|
|
||||||
if (settings.infinite_scroll) {
|
if (settings.infinite_scroll) {
|
||||||
import("../main/infinite_scroll.ts");
|
void import("../main/infinite_scroll.ts");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settings.autocomplete) {
|
if (settings.autocomplete) {
|
||||||
import("../main/autocomplete.ts");
|
void import("../main/autocomplete.ts");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ on: [endpoint === Endpoints.results] }
|
{ on: [endpoint === Endpoints.results] }
|
||||||
@@ -34,7 +34,7 @@ ready(
|
|||||||
|
|
||||||
ready(
|
ready(
|
||||||
() => {
|
() => {
|
||||||
import("../main/preferences.ts");
|
void import("../main/preferences.ts");
|
||||||
},
|
},
|
||||||
{ on: [endpoint === Endpoints.preferences] }
|
{ on: [endpoint === Endpoints.preferences] }
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ const observer: IntersectionObserver = new IntersectionObserver((entries: Inters
|
|||||||
if (paginationEntry?.isIntersecting) {
|
if (paginationEntry?.isIntersecting) {
|
||||||
observer.unobserve(paginationEntry.target);
|
observer.unobserve(paginationEntry.target);
|
||||||
|
|
||||||
loadNextPage(onlyImages, () => {
|
void loadNextPage(onlyImages, () => {
|
||||||
const nextObservedElement = document.querySelector<HTMLElement>(observedSelector);
|
const nextObservedElement = document.querySelector<HTMLElement>(observedSelector);
|
||||||
if (nextObservedElement) {
|
if (nextObservedElement) {
|
||||||
observer.observe(nextObservedElement);
|
observer.observe(nextObservedElement);
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ listen("click", ".searxng_init_map", async function (this: HTMLElement, event: E
|
|||||||
Feature,
|
Feature,
|
||||||
Point
|
Point
|
||||||
} = await import("../pkg/ol.ts");
|
} = await import("../pkg/ol.ts");
|
||||||
import("ol/ol.css");
|
void import("ol/ol.css");
|
||||||
|
|
||||||
const { leafletTarget: target, mapLon, mapLat, mapGeojson } = this.dataset;
|
const { leafletTarget: target, mapLon, mapLat, mapGeojson } = this.dataset;
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,6 @@ wlc==1.16.1
|
|||||||
coloredlogs==15.0.1
|
coloredlogs==15.0.1
|
||||||
docutils>=0.21.2
|
docutils>=0.21.2
|
||||||
parameterized==0.9.0
|
parameterized==0.9.0
|
||||||
granian[reload]==2.5.6
|
granian[reload]==2.5.7
|
||||||
basedpyright==1.32.1
|
basedpyright==1.32.1
|
||||||
types-lxml==2025.8.25
|
types-lxml==2025.8.25
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
granian==2.5.6
|
granian==2.5.7
|
||||||
granian[pname]==2.5.6
|
granian[pname]==2.5.7
|
||||||
|
|||||||
@@ -2682,26 +2682,6 @@ engines:
|
|||||||
# sourcehut_sort_order: longest-active
|
# sourcehut_sort_order: longest-active
|
||||||
disabled: true
|
disabled: true
|
||||||
|
|
||||||
- name: goo
|
|
||||||
shortcut: goo
|
|
||||||
engine: xpath
|
|
||||||
paging: true
|
|
||||||
search_url: https://search.goo.ne.jp/web.jsp?MT={query}&FR={pageno}0
|
|
||||||
url_xpath: //div[@class="result"]/p[@class='title fsL1']/a/@href
|
|
||||||
title_xpath: //div[@class="result"]/p[@class='title fsL1']/a
|
|
||||||
content_xpath: //p[contains(@class,'url fsM')]/following-sibling::p
|
|
||||||
first_page_num: 0
|
|
||||||
categories: [general, web]
|
|
||||||
disabled: true
|
|
||||||
timeout: 4.0
|
|
||||||
about:
|
|
||||||
website: https://search.goo.ne.jp
|
|
||||||
wikidata_id: Q249044
|
|
||||||
use_official_api: false
|
|
||||||
require_api_key: false
|
|
||||||
results: HTML
|
|
||||||
language: ja
|
|
||||||
|
|
||||||
- name: bt4g
|
- name: bt4g
|
||||||
engine: bt4g
|
engine: bt4g
|
||||||
shortcut: bt4g
|
shortcut: bt4g
|
||||||
|
|||||||
1
searx/static/themes/simple/js/chunk.min.js
vendored
Normal file
1
searx/static/themes/simple/js/chunk.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Object.create,Object.defineProperty,Object.getOwnPropertyDescriptor,Object.getOwnPropertyNames,Object.getPrototypeOf,Object.prototype.hasOwnProperty;
|
||||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
{"version":3,"mappings":";4CAIA,EAAO,QAAS,oBAAqB,eAAmC,EAAc,CACpF,EAAM,gBAAgB,CACtB,KAAK,UAAU,OAAO,mBAAmB,CAEzC,GAAM,CACJ,OACA,QACA,YACA,cACA,MACA,eACA,QACA,SACA,OACA,SACA,aACA,UACA,UACA,8BAdI,CACJ,OACA,QACA,YACA,cACA,MACA,eACA,QACA,SACA,OACA,SACA,aACA,UACA,UACA,SACE,MAAM,OAAO,sBAdf,OACA,QACA,YACA,cACA,MACA,eACA,QACA,SACA,OACA,SACA,aACA,UACA,UACA,cAEF,yBAAO,uBAEP,GAAM,CAAE,cAAe,EAAQ,SAAQ,SAAQ,cAAe,KAAK,QAE7D,EAAM,OAAO,WAAW,GAAU,IAAI,CACtC,EAAM,OAAO,WAAW,GAAU,IAAI,CACtC,EAAO,IAAI,EAAK,CAAE,QAAS,GAAI,eAAgB,GAAO,CAAC,CACvD,EAAM,IAAI,EAAM,CACZ,SACR,OAAQ,CAAC,IAAI,EAAU,CAAE,OAAQ,IAAI,EAAI,CAAE,QAAS,GAAI,CAAC,CAAE,CAAC,CAAC,CACvD,OACP,CAAC,CAEF,GAAI,CASF,IAAM,EAAc,IAAI,EAAY,CAClC,OATmB,IAAI,EAAa,CACpC,SAAU,CACR,IAAI,EAAQ,CACV,SAAU,IAAI,EAAM,EAAW,CAAC,EAAK,EAAI,CAAC,CAAC,CAC5C,CAAC,CACH,CACF,CAAC,CAIA,MAAO,IAAI,EAAM,CACf,MAAO,IAAI,EAAO,CAChB,OAAQ,EACR,KAAM,IAAI,EAAK,CAAE,MAAO,UAAW,CAAC,CACrC,CAAC,CACH,CAAC,CACH,CAAC,CAEF,EAAI,SAAS,EAAY,OAClB,EAAO,CACd,QAAQ,MAAM,iCAAkC,EAAM,CAGxD,GAAI,EACF,GAAI,CACF,IAAM,EAAY,IAAI,EAAa,CACjC,SAAU,IAAI,GAAS,CAAC,aAAa,KAAK,MAAM,EAAW,CAAE,CAC3D,eAAgB,YAChB,kBAAmB,YACpB,CAAC,CACH,CAAC,CAEI,EAAW,IAAI,EAAY,CAC/B,OAAQ,EACR,MAAO,IAAI,EAAM,CACf,OAAQ,IAAI,EAAO,CAAE,MAAO,UAAW,MAAO,EAAG,CAAC,CAClD,KAAM,IAAI,EAAK,CAAE,MAAO,YAAa,CAAC,CACvC,CAAC,CACH,CAAC,CAEF,EAAI,SAAS,EAAS,CAEtB,EAAK,IAAI,EAAU,WAAW,CAAE,CAAE,QAAS,CAAC,GAAI,GAAI,GAAI,GAAG,CAAE,CAAC,OACvD,EAAO,CACd,QAAQ,MAAM,kCAAmC,EAAM,GAG3D","names":[],"ignoreList":[],"sources":["../../../../../client/simple/src/js/main/mapresult.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { listen } from \"../core/toolkit.ts\";\n\nlisten(\"click\", \".searxng_init_map\", async function (this: HTMLElement, event: Event) {\n event.preventDefault();\n this.classList.remove(\"searxng_init_map\");\n\n const {\n View,\n OlMap,\n TileLayer,\n VectorLayer,\n OSM,\n VectorSource,\n Style,\n Stroke,\n Fill,\n Circle,\n fromLonLat,\n GeoJSON,\n Feature,\n Point\n } = await import(\"../pkg/ol.ts\");\n import(\"ol/ol.css\");\n\n const { leafletTarget: target, mapLon, mapLat, mapGeojson } = this.dataset;\n\n const lon = Number.parseFloat(mapLon || \"0\");\n const lat = Number.parseFloat(mapLat || \"0\");\n const view = new View({ maxZoom: 16, enableRotation: false });\n const map = new OlMap({\n target: target,\n layers: [new TileLayer({ source: new OSM({ maxZoom: 16 }) })],\n view: view\n });\n\n try {\n const markerSource = new VectorSource({\n features: [\n new Feature({\n geometry: new Point(fromLonLat([lon, lat]))\n })\n ]\n });\n\n const markerLayer = new VectorLayer({\n source: markerSource,\n style: new Style({\n image: new Circle({\n radius: 6,\n fill: new Fill({ color: \"#3050ff\" })\n })\n })\n });\n\n map.addLayer(markerLayer);\n } catch (error) {\n console.error(\"Failed to create marker layer:\", error);\n }\n\n if (mapGeojson) {\n try {\n const geoSource = new VectorSource({\n features: new GeoJSON().readFeatures(JSON.parse(mapGeojson), {\n dataProjection: \"EPSG:4326\",\n featureProjection: \"EPSG:3857\"\n })\n });\n\n const geoLayer = new VectorLayer({\n source: geoSource,\n style: new Style({\n stroke: new Stroke({ color: \"#3050ff\", width: 2 }),\n fill: new Fill({ color: \"#3050ff33\" })\n })\n });\n\n map.addLayer(geoLayer);\n\n view.fit(geoSource.getExtent(), { padding: [20, 20, 20, 20] });\n } catch (error) {\n console.error(\"Failed to create GeoJSON layer:\", error);\n }\n }\n});\n"],"file":"mapresult.min.js"}
|
{"version":3,"mappings":";4CAIA,EAAO,QAAS,oBAAqB,eAAmC,EAAc,CACpF,EAAM,gBAAgB,CACtB,KAAK,UAAU,OAAO,mBAAmB,CAEzC,GAAM,CACJ,OACA,QACA,YACA,cACA,MACA,eACA,QACA,SACA,OACA,SACA,aACA,UACA,UACA,8BAdI,CACJ,OACA,QACA,YACA,cACA,MACA,eACA,QACA,SACA,OACA,SACA,aACA,UACA,UACA,SACE,MAAM,OAAO,sBAdf,OACA,QACA,YACA,cACA,MACA,eACA,QACA,SACA,OACA,SACA,aACA,UACA,UACA,cAEF,MAAK,mBAAO,uBAEZ,GAAM,CAAE,cAAe,EAAQ,SAAQ,SAAQ,cAAe,KAAK,QAE7D,EAAM,OAAO,WAAW,GAAU,IAAI,CACtC,EAAM,OAAO,WAAW,GAAU,IAAI,CACtC,EAAO,IAAI,EAAK,CAAE,QAAS,GAAI,eAAgB,GAAO,CAAC,CACvD,EAAM,IAAI,EAAM,CACZ,SACR,OAAQ,CAAC,IAAI,EAAU,CAAE,OAAQ,IAAI,EAAI,CAAE,QAAS,GAAI,CAAC,CAAE,CAAC,CAAC,CACvD,OACP,CAAC,CAEF,GAAI,CASF,IAAM,EAAc,IAAI,EAAY,CAClC,OATmB,IAAI,EAAa,CACpC,SAAU,CACR,IAAI,EAAQ,CACV,SAAU,IAAI,EAAM,EAAW,CAAC,EAAK,EAAI,CAAC,CAAC,CAC5C,CAAC,CACH,CACF,CAAC,CAIA,MAAO,IAAI,EAAM,CACf,MAAO,IAAI,EAAO,CAChB,OAAQ,EACR,KAAM,IAAI,EAAK,CAAE,MAAO,UAAW,CAAC,CACrC,CAAC,CACH,CAAC,CACH,CAAC,CAEF,EAAI,SAAS,EAAY,OAClB,EAAO,CACd,QAAQ,MAAM,iCAAkC,EAAM,CAGxD,GAAI,EACF,GAAI,CACF,IAAM,EAAY,IAAI,EAAa,CACjC,SAAU,IAAI,GAAS,CAAC,aAAa,KAAK,MAAM,EAAW,CAAE,CAC3D,eAAgB,YAChB,kBAAmB,YACpB,CAAC,CACH,CAAC,CAEI,EAAW,IAAI,EAAY,CAC/B,OAAQ,EACR,MAAO,IAAI,EAAM,CACf,OAAQ,IAAI,EAAO,CAAE,MAAO,UAAW,MAAO,EAAG,CAAC,CAClD,KAAM,IAAI,EAAK,CAAE,MAAO,YAAa,CAAC,CACvC,CAAC,CACH,CAAC,CAEF,EAAI,SAAS,EAAS,CAEtB,EAAK,IAAI,EAAU,WAAW,CAAE,CAAE,QAAS,CAAC,GAAI,GAAI,GAAI,GAAG,CAAE,CAAC,OACvD,EAAO,CACd,QAAQ,MAAM,kCAAmC,EAAM,GAG3D","names":[],"ignoreList":[],"sources":["../../../../../client/simple/src/js/main/mapresult.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { listen } from \"../core/toolkit.ts\";\n\nlisten(\"click\", \".searxng_init_map\", async function (this: HTMLElement, event: Event) {\n event.preventDefault();\n this.classList.remove(\"searxng_init_map\");\n\n const {\n View,\n OlMap,\n TileLayer,\n VectorLayer,\n OSM,\n VectorSource,\n Style,\n Stroke,\n Fill,\n Circle,\n fromLonLat,\n GeoJSON,\n Feature,\n Point\n } = await import(\"../pkg/ol.ts\");\n void import(\"ol/ol.css\");\n\n const { leafletTarget: target, mapLon, mapLat, mapGeojson } = this.dataset;\n\n const lon = Number.parseFloat(mapLon || \"0\");\n const lat = Number.parseFloat(mapLat || \"0\");\n const view = new View({ maxZoom: 16, enableRotation: false });\n const map = new OlMap({\n target: target,\n layers: [new TileLayer({ source: new OSM({ maxZoom: 16 }) })],\n view: view\n });\n\n try {\n const markerSource = new VectorSource({\n features: [\n new Feature({\n geometry: new Point(fromLonLat([lon, lat]))\n })\n ]\n });\n\n const markerLayer = new VectorLayer({\n source: markerSource,\n style: new Style({\n image: new Circle({\n radius: 6,\n fill: new Fill({ color: \"#3050ff\" })\n })\n })\n });\n\n map.addLayer(markerLayer);\n } catch (error) {\n console.error(\"Failed to create marker layer:\", error);\n }\n\n if (mapGeojson) {\n try {\n const geoSource = new VectorSource({\n features: new GeoJSON().readFeatures(JSON.parse(mapGeojson), {\n dataProjection: \"EPSG:4326\",\n featureProjection: \"EPSG:3857\"\n })\n });\n\n const geoLayer = new VectorLayer({\n source: geoSource,\n style: new Style({\n stroke: new Stroke({ color: \"#3050ff\", width: 2 }),\n fill: new Fill({ color: \"#3050ff33\" })\n })\n });\n\n map.addLayer(geoLayer);\n\n view.fit(geoSource.getExtent(), { padding: [20, 20, 20, 20] });\n } catch (error) {\n console.error(\"Failed to create GeoJSON layer:\", error);\n }\n }\n});\n"],"file":"mapresult.min.js"}
|
||||||
14
searx/static/themes/simple/js/ol.min.js
vendored
14
searx/static/themes/simple/js/ol.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
11
searx/static/themes/simple/js/results.min.js
vendored
11
searx/static/themes/simple/js/results.min.js
vendored
@@ -1,11 +1,2 @@
|
|||||||
import{a as e,i as t,n,o as r}from"./searxng.core.min.js";
|
import{a as e,i as t,n,o as r}from"./searxng.core.min.js";(function(e,t){typeof e.CustomEvent!=`function`&&(e.CustomEvent=function(e,n){n||={bubbles:!1,cancelable:!1,detail:void 0};var r=t.createEvent(`CustomEvent`);return r.initCustomEvent(e,n.bubbles,n.cancelable,n.detail),r},e.CustomEvent.prototype=e.Event.prototype),t.addEventListener(`touchstart`,u,!1),t.addEventListener(`touchmove`,d,!1),t.addEventListener(`touchend`,l,!1);var n=null,r=null,i=null,a=null,o=null,s=null,c=0;function l(e){if(s===e.target){var l=parseInt(f(s,`data-swipe-threshold`,`20`),10),u=f(s,`data-swipe-unit`,`px`),d=parseInt(f(s,`data-swipe-timeout`,`500`),10),p=Date.now()-o,m=``,h=e.changedTouches||e.touches||[];if(u===`vh`&&(l=Math.round(l/100*t.documentElement.clientHeight)),u===`vw`&&(l=Math.round(l/100*t.documentElement.clientWidth)),Math.abs(i)>Math.abs(a)?Math.abs(i)>l&&p<d&&(m=i>0?`swiped-left`:`swiped-right`):Math.abs(a)>l&&p<d&&(m=a>0?`swiped-up`:`swiped-down`),m!==``){var g={dir:m.replace(/swiped-/,``),touchType:(h[0]||{}).touchType||`direct`,fingers:c,xStart:parseInt(n,10),xEnd:parseInt((h[0]||{}).clientX||-1,10),yStart:parseInt(r,10),yEnd:parseInt((h[0]||{}).clientY||-1,10)};s.dispatchEvent(new CustomEvent(`swiped`,{bubbles:!0,cancelable:!0,detail:g})),s.dispatchEvent(new CustomEvent(m,{bubbles:!0,cancelable:!0,detail:g}))}n=null,r=null,o=null}}function u(e){e.target.getAttribute(`data-swipe-ignore`)!==`true`&&(s=e.target,o=Date.now(),n=e.touches[0].clientX,r=e.touches[0].clientY,i=0,a=0,c=e.touches.length)}function d(e){if(!(!n||!r)){var t=e.touches[0].clientX,o=e.touches[0].clientY;i=n-t,a=r-o}}function f(e,n,r){for(;e&&e!==t.documentElement;){var i=e.getAttribute(n);if(i)return i;e=e.parentNode}return r}})(window,document);var i,a=e=>{i&&clearTimeout(i);let t=e.querySelector(`.result-images-source img`);if(!t)return;let n=e.querySelector(`.image_thumbnail`);if(n){if(n.src===`${r.theme_static_path}/img/img_load_error.svg`)return;t.onerror=()=>{t.src=n.src},t.src=n.src}let a=t.getAttribute(`data-src`);a&&(i=setTimeout(()=>{t.src=a,t.removeAttribute(`data-src`)},1e3))},o=document.querySelectorAll(`#urls img.image_thumbnail`);for(let e of o)e.complete&&e.naturalWidth===0&&(e.src=`${r.theme_static_path}/img/img_load_error.svg`),e.onerror=()=>{e.src=`${r.theme_static_path}/img/img_load_error.svg`};document.querySelector(`#search_url button#copy_url`)?.style.setProperty(`display`,`block`),e.selectImage=t=>{document.getElementById(`results`)?.classList.add(`image-detail-open`),window.location.hash=`#image-viewer`,e.scrollPageToSelected?.(),t&&a(t)},e.closeDetail=()=>{document.getElementById(`results`)?.classList.remove(`image-detail-open`),window.location.hash===`#image-viewer`&&window.history.back(),e.scrollPageToSelected?.()},t(`click`,`.btn-collapse`,function(){let e=this.getAttribute(`data-btn-text-collapsed`),t=this.getAttribute(`data-btn-text-not-collapsed`),r=this.getAttribute(`data-target`);if(!(r&&e&&t))return;let i=document.querySelector(r);n(i);let a=this.classList.contains(`collapsed`),o=a?t:e,s=a?e:t;this.innerHTML=this.innerHTML.replace(s,o),this.classList.toggle(`collapsed`),i.classList.toggle(`invisible`)}),t(`click`,`.media-loader`,function(){let e=this.getAttribute(`data-target`);if(!e)return;let t=document.querySelector(`${e} > iframe`);if(n(t),!t.getAttribute(`src`)){let e=t.getAttribute(`data-src`);e&&t.setAttribute(`src`,e)}}),t(`click`,`#copy_url`,async function(){let e=this.parentElement?.querySelector(`pre`);if(n(e),window.isSecureContext)await navigator.clipboard.writeText(e.innerText);else{let t=window.getSelection();if(t){let n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n),document.execCommand(`copy`)}}let t=this.dataset.copiedText;t&&(this.innerText=t)}),t(`click`,`.result-detail-close`,t=>{t.preventDefault(),e.closeDetail?.()}),t(`click`,`.result-detail-previous`,t=>{t.preventDefault(),e.selectPrevious?.(!1)}),t(`click`,`.result-detail-next`,t=>{t.preventDefault(),e.selectNext?.(!1)}),window.addEventListener(`hashchange`,()=>{window.location.hash!==`#image-viewer`&&e.closeDetail?.()});var s=document.querySelectorAll(`.swipe-horizontal`);for(let n of s)t(`swiped-left`,n,()=>{e.selectNext?.(!1)}),t(`swiped-right`,n,()=>{e.selectPrevious?.(!1)});window.addEventListener(`scroll`,()=>{let e=document.getElementById(`backToTop`),t=document.getElementById(`results`);if(e&&t){let e=(document.documentElement.scrollTop||document.body.scrollTop)>=100;t.classList.toggle(`scrolling`,e)}},!0);
|
||||||
/*!
|
|
||||||
* swiped-events.js - v@version@
|
|
||||||
* Pure JavaScript swipe events
|
|
||||||
* https://github.com/john-doherty/swiped-events
|
|
||||||
* @inspiration https://stackoverflow.com/questions/16348031/disable-scrolling-when-touch-moving-certain-element
|
|
||||||
* @author John Doherty <www.johndoherty.info>
|
|
||||||
* @license MIT
|
|
||||||
*/
|
|
||||||
(function(e,t){typeof e.CustomEvent!=`function`&&(e.CustomEvent=function(e,n){n||={bubbles:!1,cancelable:!1,detail:void 0};var r=t.createEvent(`CustomEvent`);return r.initCustomEvent(e,n.bubbles,n.cancelable,n.detail),r},e.CustomEvent.prototype=e.Event.prototype),t.addEventListener(`touchstart`,u,!1),t.addEventListener(`touchmove`,d,!1),t.addEventListener(`touchend`,l,!1);var n=null,r=null,i=null,a=null,o=null,s=null,c=0;function l(e){if(s===e.target){var l=parseInt(f(s,`data-swipe-threshold`,`20`),10),u=f(s,`data-swipe-unit`,`px`),d=parseInt(f(s,`data-swipe-timeout`,`500`),10),p=Date.now()-o,m=``,h=e.changedTouches||e.touches||[];if(u===`vh`&&(l=Math.round(l/100*t.documentElement.clientHeight)),u===`vw`&&(l=Math.round(l/100*t.documentElement.clientWidth)),Math.abs(i)>Math.abs(a)?Math.abs(i)>l&&p<d&&(m=i>0?`swiped-left`:`swiped-right`):Math.abs(a)>l&&p<d&&(m=a>0?`swiped-up`:`swiped-down`),m!==``){var g={dir:m.replace(/swiped-/,``),touchType:(h[0]||{}).touchType||`direct`,fingers:c,xStart:parseInt(n,10),xEnd:parseInt((h[0]||{}).clientX||-1,10),yStart:parseInt(r,10),yEnd:parseInt((h[0]||{}).clientY||-1,10)};s.dispatchEvent(new CustomEvent(`swiped`,{bubbles:!0,cancelable:!0,detail:g})),s.dispatchEvent(new CustomEvent(m,{bubbles:!0,cancelable:!0,detail:g}))}n=null,r=null,o=null}}function u(e){e.target.getAttribute(`data-swipe-ignore`)!==`true`&&(s=e.target,o=Date.now(),n=e.touches[0].clientX,r=e.touches[0].clientY,i=0,a=0,c=e.touches.length)}function d(e){if(!(!n||!r)){var t=e.touches[0].clientX,o=e.touches[0].clientY;i=n-t,a=r-o}}function f(e,n,r){for(;e&&e!==t.documentElement;){var i=e.getAttribute(n);if(i)return i;e=e.parentNode}return r}})(window,document);var i,a=e=>{i&&clearTimeout(i);let t=e.querySelector(`.result-images-source img`);if(!t)return;let n=e.querySelector(`.image_thumbnail`);if(n){if(n.src===`${r.theme_static_path}/img/img_load_error.svg`)return;t.onerror=()=>{t.src=n.src},t.src=n.src}let a=t.getAttribute(`data-src`);a&&(i=setTimeout(()=>{t.src=a,t.removeAttribute(`data-src`)},1e3))},o=document.querySelectorAll(`#urls img.image_thumbnail`);for(let e of o)e.complete&&e.naturalWidth===0&&(e.src=`${r.theme_static_path}/img/img_load_error.svg`),e.onerror=()=>{e.src=`${r.theme_static_path}/img/img_load_error.svg`};document.querySelector(`#search_url button#copy_url`)?.style.setProperty(`display`,`block`),e.selectImage=t=>{document.getElementById(`results`)?.classList.add(`image-detail-open`),window.location.hash=`#image-viewer`,e.scrollPageToSelected?.(),t&&a(t)},e.closeDetail=()=>{document.getElementById(`results`)?.classList.remove(`image-detail-open`),window.location.hash===`#image-viewer`&&window.history.back(),e.scrollPageToSelected?.()},t(`click`,`.btn-collapse`,function(){let e=this.getAttribute(`data-btn-text-collapsed`),t=this.getAttribute(`data-btn-text-not-collapsed`),r=this.getAttribute(`data-target`);if(!(r&&e&&t))return;let i=document.querySelector(r);n(i);let a=this.classList.contains(`collapsed`),o=a?t:e,s=a?e:t;this.innerHTML=this.innerHTML.replace(s,o),this.classList.toggle(`collapsed`),i.classList.toggle(`invisible`)}),t(`click`,`.media-loader`,function(){let e=this.getAttribute(`data-target`);if(!e)return;let t=document.querySelector(`${e} > iframe`);if(n(t),!t.getAttribute(`src`)){let e=t.getAttribute(`data-src`);e&&t.setAttribute(`src`,e)}}),t(`click`,`#copy_url`,async function(){let e=this.parentElement?.querySelector(`pre`);if(n(e),window.isSecureContext)await navigator.clipboard.writeText(e.innerText);else{let t=window.getSelection();if(t){let n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n),document.execCommand(`copy`)}}let t=this.dataset.copiedText;t&&(this.innerText=t)}),t(`click`,`.result-detail-close`,t=>{t.preventDefault(),e.closeDetail?.()}),t(`click`,`.result-detail-previous`,t=>{t.preventDefault(),e.selectPrevious?.(!1)}),t(`click`,`.result-detail-next`,t=>{t.preventDefault(),e.selectNext?.(!1)}),window.addEventListener(`hashchange`,()=>{window.location.hash!==`#image-viewer`&&e.closeDetail?.()});var s=document.querySelectorAll(`.swipe-horizontal`);for(let n of s)t(`swiped-left`,n,()=>{e.selectNext?.(!1)}),t(`swiped-right`,n,()=>{e.selectPrevious?.(!1)});window.addEventListener(`scroll`,()=>{let e=document.getElementById(`backToTop`),t=document.getElementById(`results`);if(e&&t){let e=(document.documentElement.scrollTop||document.body.scrollTop)>=100;t.classList.toggle(`scrolling`,e)}},!0);
|
|
||||||
//# sourceMappingURL=results.min.js.map
|
//# sourceMappingURL=results.min.js.map
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,6 +1,11 @@
|
|||||||
{
|
{
|
||||||
|
"_chunk.min.js": {
|
||||||
|
"file": "js/chunk.min.js",
|
||||||
|
"name": "chunk"
|
||||||
|
},
|
||||||
"node_modules/ol/ol.css": {
|
"node_modules/ol/ol.css": {
|
||||||
"file": "css/ol.min.css",
|
"file": "css/ol.min.css",
|
||||||
|
"name": "ol.css",
|
||||||
"names": [
|
"names": [
|
||||||
"ol.css"
|
"ol.css"
|
||||||
],
|
],
|
||||||
@@ -96,6 +101,7 @@
|
|||||||
},
|
},
|
||||||
"src/less/rss.less": {
|
"src/less/rss.less": {
|
||||||
"file": "css/rss.min.css",
|
"file": "css/rss.min.css",
|
||||||
|
"name": "rss.css",
|
||||||
"names": [
|
"names": [
|
||||||
"rss.css"
|
"rss.css"
|
||||||
],
|
],
|
||||||
@@ -104,6 +110,7 @@
|
|||||||
},
|
},
|
||||||
"src/less/style-ltr.less": {
|
"src/less/style-ltr.less": {
|
||||||
"file": "css/searxng-ltr.min.css",
|
"file": "css/searxng-ltr.min.css",
|
||||||
|
"name": "searxng-ltr.css",
|
||||||
"names": [
|
"names": [
|
||||||
"searxng-ltr.css"
|
"searxng-ltr.css"
|
||||||
],
|
],
|
||||||
@@ -112,6 +119,7 @@
|
|||||||
},
|
},
|
||||||
"src/less/style-rtl.less": {
|
"src/less/style-rtl.less": {
|
||||||
"file": "css/searxng-rtl.min.css",
|
"file": "css/searxng-rtl.min.css",
|
||||||
|
"name": "searxng-rtl.css",
|
||||||
"names": [
|
"names": [
|
||||||
"searxng-rtl.css"
|
"searxng-rtl.css"
|
||||||
],
|
],
|
||||||
|
|||||||
Reference in New Issue
Block a user