summaryrefslogtreecommitdiff
path: root/searx/static/themes/simple/manifest.json
diff options
context:
space:
mode:
authorIvan Gabaldon <igabaldon@inetol.net>2025-12-02 10:18:00 +0000
committerGitHub <noreply@github.com>2025-12-02 10:18:00 +0000
commitfb089ae297b27f51777318e3a28bca8b172a4165 (patch)
tree293e17a6ba3a7ae17c31bc6746794b97c012c6af /searx/static/themes/simple/manifest.json
parentab8224c9394236d2cbcf6ec7d9bf0d7c602ca6ac (diff)
[mod] client/simple: client plugins (#5406)
* [mod] client/simple: client plugins Defines a new interface for client side *"plugins"* that coexist with server side plugin system. Each plugin (e.g., `InfiniteScroll`) extends the base `ts Plugin`. Client side plugins are independent and lazy‑loaded via `router.ts` when their `load()` conditions are met. On each navigation request, all applicable plugins are instanced. Since these are client side plugins, we can only invoke them once DOM is fully loaded. E.g. `Calculator` will not render a new `answer` block until fully loaded and executed. For some plugins, we might want to handle its availability in `settings.yml` and toggle in UI, like we do for server side plugins. In that case, we extend `py Plugin` instancing only the information and then checking client side if [`settings.plugins`](https://github.com/inetol/searxng/blob/1ad832b1dc33f3f388da361ff2459b05dc86a164/client/simple/src/js/toolkit.ts#L134) array has the plugin id. * [mod] client/simple: rebuild static
Diffstat (limited to 'searx/static/themes/simple/manifest.json')
-rw-r--r--searx/static/themes/simple/manifest.json131
1 files changed, 70 insertions, 61 deletions
diff --git a/searx/static/themes/simple/manifest.json b/searx/static/themes/simple/manifest.json
index 4cc68fdbf..9bda5c1f0 100644
--- a/searx/static/themes/simple/manifest.json
+++ b/searx/static/themes/simple/manifest.json
@@ -1,107 +1,116 @@
{
- "_chunk.min.js": {
- "file": "js/chunk.min.js",
- "name": "chunk"
+ "_13gvpunf.min.js": {
+ "file": "chunk/13gvpunf.min.js",
+ "name": "assertelement"
},
- "node_modules/ol/ol.css": {
- "file": "css/ol.min.css",
- "name": "ol.css",
- "names": [
- "ol.css"
- ],
- "src": "node_modules/ol/ol.css",
- "isEntry": true
+ "_gZqIRpW1.min.js": {
+ "file": "chunk/gZqIRpW1.min.js",
+ "name": "getelement",
+ "imports": [
+ "_13gvpunf.min.js"
+ ]
},
- "src/js/core/index.ts": {
- "file": "js/searxng.core.min.js",
- "name": "searxng.core",
- "src": "src/js/core/index.ts",
+ "src/js/index.ts": {
+ "file": "sxng-core.min.js",
+ "name": "core",
+ "src": "src/js/index.ts",
"isEntry": true,
"dynamicImports": [
+ "src/js/plugin/MapView.ts",
+ "src/js/plugin/InfiniteScroll.ts",
+ "src/js/plugin/Calculator.ts",
"src/js/main/keyboard.ts",
"src/js/main/search.ts",
"src/js/main/autocomplete.ts",
- "src/js/main/mapresult.ts",
"src/js/main/results.ts",
- "src/js/main/infinite_scroll.ts",
"src/js/main/preferences.ts"
]
},
"src/js/main/autocomplete.ts": {
- "file": "js/autocomplete.min.js",
+ "file": "chunk/KPZlR0ib.min.js",
"name": "autocomplete",
"src": "src/js/main/autocomplete.ts",
"isDynamicEntry": true,
"imports": [
- "src/js/core/index.ts"
- ]
- },
- "src/js/main/infinite_scroll.ts": {
- "file": "js/infinite_scroll.min.js",
- "name": "infinite_scroll",
- "src": "src/js/main/infinite_scroll.ts",
- "isDynamicEntry": true,
- "imports": [
- "src/js/core/index.ts"
+ "src/js/index.ts",
+ "_13gvpunf.min.js"
]
},
"src/js/main/keyboard.ts": {
- "file": "js/keyboard.min.js",
+ "file": "chunk/Db5v-hxx.min.js",
"name": "keyboard",
"src": "src/js/main/keyboard.ts",
"isDynamicEntry": true,
"imports": [
- "src/js/core/index.ts"
- ]
- },
- "src/js/main/mapresult.ts": {
- "file": "js/mapresult.min.js",
- "name": "mapresult",
- "src": "src/js/main/mapresult.ts",
- "isDynamicEntry": true,
- "imports": [
- "src/js/core/index.ts"
- ],
- "dynamicImports": [
- "src/js/pkg/ol.ts"
+ "src/js/index.ts",
+ "_13gvpunf.min.js"
]
},
"src/js/main/preferences.ts": {
- "file": "js/preferences.min.js",
+ "file": "chunk/CyyZ9XJS.min.js",
"name": "preferences",
"src": "src/js/main/preferences.ts",
"isDynamicEntry": true,
"imports": [
- "src/js/core/index.ts"
+ "src/js/index.ts",
+ "_13gvpunf.min.js"
]
},
"src/js/main/results.ts": {
- "file": "js/results.min.js",
+ "file": "chunk/Q2SRo2ED.min.js",
"name": "results",
"src": "src/js/main/results.ts",
"isDynamicEntry": true,
"imports": [
- "src/js/core/index.ts"
+ "src/js/index.ts",
+ "_13gvpunf.min.js"
]
},
"src/js/main/search.ts": {
- "file": "js/search.min.js",
+ "file": "chunk/DxJxX49r.min.js",
"name": "search",
"src": "src/js/main/search.ts",
"isDynamicEntry": true,
"imports": [
- "src/js/core/index.ts"
+ "src/js/index.ts",
+ "_13gvpunf.min.js",
+ "_gZqIRpW1.min.js"
]
},
- "src/js/pkg/ol.ts": {
- "file": "js/ol.min.js",
- "name": "ol",
- "src": "src/js/pkg/ol.ts",
- "isEntry": true
+ "src/js/plugin/Calculator.ts": {
+ "file": "chunk/CHkLfdMs.min.js",
+ "name": "calculator",
+ "src": "src/js/plugin/Calculator.ts",
+ "isDynamicEntry": true,
+ "imports": [
+ "src/js/index.ts",
+ "_13gvpunf.min.js",
+ "_gZqIRpW1.min.js"
+ ]
+ },
+ "src/js/plugin/InfiniteScroll.ts": {
+ "file": "chunk/DBO1tjH7.min.js",
+ "name": "infinitescroll",
+ "src": "src/js/plugin/InfiniteScroll.ts",
+ "isDynamicEntry": true,
+ "imports": [
+ "src/js/index.ts",
+ "_13gvpunf.min.js",
+ "_gZqIRpW1.min.js"
+ ]
+ },
+ "src/js/plugin/MapView.ts": {
+ "file": "chunk/BAcZkB_P.min.js",
+ "name": "mapview",
+ "src": "src/js/plugin/MapView.ts",
+ "isDynamicEntry": true,
+ "imports": [
+ "src/js/index.ts"
+ ]
},
"src/less/rss.less": {
- "file": "css/rss.min.css",
- "name": "rss.css",
+ "file": "sxng-rss.min.css",
+ "name": "rss",
"names": [
"rss.css"
],
@@ -109,19 +118,19 @@
"isEntry": true
},
"src/less/style-ltr.less": {
- "file": "css/searxng-ltr.min.css",
- "name": "searxng-ltr.css",
+ "file": "sxng-ltr.min.css",
+ "name": "ltr",
"names": [
- "searxng-ltr.css"
+ "ltr.css"
],
"src": "src/less/style-ltr.less",
"isEntry": true
},
"src/less/style-rtl.less": {
- "file": "css/searxng-rtl.min.css",
- "name": "searxng-rtl.css",
+ "file": "sxng-rtl.min.css",
+ "name": "rtl",
"names": [
- "searxng-rtl.css"
+ "rtl.css"
],
"src": "src/less/style-rtl.less",
"isEntry": true