mirror of
https://github.com/searxng/searxng.git
synced 2026-01-01 08:30:01 +00:00
Compare commits
25 Commits
d0bd7bf2db
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a5c946a321 | ||
|
|
29042d8e5a | ||
|
|
c57db45672 | ||
|
|
9491b514c9 | ||
|
|
320c317719 | ||
|
|
abae17e6fc | ||
|
|
3baf5c38fc | ||
|
|
ce46f30739 | ||
|
|
65a95539f1 | ||
|
|
874dc3f5ea | ||
|
|
7941719371 | ||
|
|
fa9729226b | ||
|
|
9df177af85 | ||
|
|
f45123356b | ||
|
|
8851f4d6b1 | ||
|
|
f954423101 | ||
|
|
95e63ac32d | ||
|
|
fc6e59d3ec | ||
|
|
da45859f32 | ||
|
|
8bf600cc62 | ||
|
|
aa607a379a | ||
|
|
6ebd3f4d35 | ||
|
|
9072c77aea | ||
|
|
c32b8100c3 | ||
|
|
f93257941e |
2
.github/workflows/checker.yml
vendored
2
.github/workflows/checker.yml
vendored
@@ -34,7 +34,7 @@ jobs:
|
||||
persist-credentials: "false"
|
||||
|
||||
- name: Setup cache Python
|
||||
uses: actions/cache@a7833574556fa59680c1b7cb190c1735db73ebf0 # v5.0.0
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
|
||||
with:
|
||||
key: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-${{ hashFiles('./requirements*.txt') }}"
|
||||
restore-keys: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-"
|
||||
|
||||
4
.github/workflows/container.yml
vendored
4
.github/workflows/container.yml
vendored
@@ -89,7 +89,7 @@ jobs:
|
||||
fetch-depth: "0"
|
||||
|
||||
- name: Setup cache Python
|
||||
uses: actions/cache@a7833574556fa59680c1b7cb190c1735db73ebf0 # v5.0.0
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
|
||||
with:
|
||||
key: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-${{ hashFiles('./requirements*.txt') }}"
|
||||
restore-keys: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-"
|
||||
@@ -100,7 +100,7 @@ jobs:
|
||||
run: echo "date=$(date +'%Y%m%d')" >>$GITHUB_OUTPUT
|
||||
|
||||
- name: Setup cache container
|
||||
uses: actions/cache@a7833574556fa59680c1b7cb190c1735db73ebf0 # v5.0.0
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
|
||||
with:
|
||||
key: "container-${{ matrix.arch }}-${{ steps.date.outputs.date }}-${{ hashFiles('./requirements*.txt') }}"
|
||||
restore-keys: |
|
||||
|
||||
2
.github/workflows/data-update.yml
vendored
2
.github/workflows/data-update.yml
vendored
@@ -50,7 +50,7 @@ jobs:
|
||||
persist-credentials: "false"
|
||||
|
||||
- name: Setup cache Python
|
||||
uses: actions/cache@a7833574556fa59680c1b7cb190c1735db73ebf0 # v5.0.0
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
|
||||
with:
|
||||
key: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-${{ hashFiles('./requirements*.txt') }}"
|
||||
restore-keys: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-"
|
||||
|
||||
2
.github/workflows/documentation.yml
vendored
2
.github/workflows/documentation.yml
vendored
@@ -43,7 +43,7 @@ jobs:
|
||||
fetch-depth: "0"
|
||||
|
||||
- name: Setup cache Python
|
||||
uses: actions/cache@a7833574556fa59680c1b7cb190c1735db73ebf0 # v5.0.0
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
|
||||
with:
|
||||
key: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-${{ hashFiles('./requirements*.txt') }}"
|
||||
restore-keys: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-"
|
||||
|
||||
6
.github/workflows/integration.yml
vendored
6
.github/workflows/integration.yml
vendored
@@ -45,7 +45,7 @@ jobs:
|
||||
persist-credentials: "false"
|
||||
|
||||
- name: Setup cache Python
|
||||
uses: actions/cache@a7833574556fa59680c1b7cb190c1735db73ebf0 # v5.0.0
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
|
||||
with:
|
||||
key: "python-${{ matrix.python-version }}-${{ runner.arch }}-${{ hashFiles('./requirements*.txt') }}"
|
||||
restore-keys: "python-${{ matrix.python-version }}-${{ runner.arch }}-"
|
||||
@@ -77,13 +77,13 @@ jobs:
|
||||
node-version-file: "./.nvmrc"
|
||||
|
||||
- name: Setup cache Node.js
|
||||
uses: actions/cache@a7833574556fa59680c1b7cb190c1735db73ebf0 # v5.0.0
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
|
||||
with:
|
||||
key: "nodejs-${{ runner.arch }}-${{ hashFiles('./.nvmrc', './package.json') }}"
|
||||
path: "./client/simple/node_modules/"
|
||||
|
||||
- name: Setup cache Python
|
||||
uses: actions/cache@a7833574556fa59680c1b7cb190c1735db73ebf0 # v5.0.0
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
|
||||
with:
|
||||
key: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-${{ hashFiles('./requirements*.txt') }}"
|
||||
restore-keys: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-"
|
||||
|
||||
4
.github/workflows/l10n.yml
vendored
4
.github/workflows/l10n.yml
vendored
@@ -46,7 +46,7 @@ jobs:
|
||||
fetch-depth: "0"
|
||||
|
||||
- name: Setup cache Python
|
||||
uses: actions/cache@a7833574556fa59680c1b7cb190c1735db73ebf0 # v5.0.0
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
|
||||
with:
|
||||
key: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-${{ hashFiles('./requirements*.txt') }}"
|
||||
restore-keys: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-"
|
||||
@@ -93,7 +93,7 @@ jobs:
|
||||
fetch-depth: "0"
|
||||
|
||||
- name: Setup cache Python
|
||||
uses: actions/cache@a7833574556fa59680c1b7cb190c1735db73ebf0 # v5.0.0
|
||||
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
|
||||
with:
|
||||
key: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-${{ hashFiles('./requirements*.txt') }}"
|
||||
restore-keys: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-"
|
||||
|
||||
2
.github/workflows/security.yml
vendored
2
.github/workflows/security.yml
vendored
@@ -41,6 +41,6 @@ jobs:
|
||||
write-comment: "false"
|
||||
|
||||
- name: Upload SARIFs
|
||||
uses: github/codeql-action/upload-sarif@cf1bb45a277cb3c205638b2cd5c984db1c46a412 # v4.31.7
|
||||
uses: github/codeql-action/upload-sarif@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9
|
||||
with:
|
||||
sarif_file: "./scout.sarif"
|
||||
|
||||
@@ -46,11 +46,9 @@ Further information on *how-to* can be found `here <https://docs.searxng.org/adm
|
||||
Connect
|
||||
=======
|
||||
|
||||
If you have questions or want to connect with others in the community,
|
||||
we have two official channels:
|
||||
If you have questions or want to connect with others in the community:
|
||||
|
||||
- `#searxng:matrix.org <https://matrix.to/#/#searxng:matrix.org>`_
|
||||
- `#searxng @ libera.chat <https://web.libera.chat/?channel=#searxng>`_ (bridged to Matrix)
|
||||
|
||||
Contributing
|
||||
============
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"$schema": "https://biomejs.dev/schemas/2.3.8/schema.json",
|
||||
"$schema": "https://biomejs.dev/schemas/2.3.10/schema.json",
|
||||
"files": {
|
||||
"ignoreUnknown": true,
|
||||
"includes": ["**", "!node_modules"]
|
||||
@@ -52,9 +52,12 @@
|
||||
"noParametersOnlyUsedInRecursion": "warn",
|
||||
"noUselessCatchBinding": "warn",
|
||||
"noUselessUndefined": "warn",
|
||||
"useAwaitThenable": "off",
|
||||
"useDestructuring": "warn",
|
||||
"useExhaustiveSwitchCases": "warn",
|
||||
"useExplicitType": "warn",
|
||||
"useFind": "warn"
|
||||
"useFind": "warn",
|
||||
"useRegexpExec": "warn"
|
||||
},
|
||||
"performance": {
|
||||
"noAwaitInLoops": "error",
|
||||
|
||||
422
client/simple/package-lock.json
generated
422
client/simple/package-lock.json
generated
@@ -9,28 +9,28 @@
|
||||
"version": "0.0.0",
|
||||
"license": "AGPL-3.0",
|
||||
"dependencies": {
|
||||
"ionicons": "~8.0.13",
|
||||
"ionicons": "^8.0.13",
|
||||
"normalize.css": "8.0.1",
|
||||
"ol": "~10.7.0",
|
||||
"ol": "^10.7.0",
|
||||
"swiped-events": "1.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "2.3.8",
|
||||
"@types/node": "~25.0.1",
|
||||
"browserslist": "~4.28.1",
|
||||
"browserslist-to-esbuild": "~2.1.1",
|
||||
"edge.js": "~6.3.0",
|
||||
"less": "~4.4.2",
|
||||
"mathjs": "~15.1.0",
|
||||
"@biomejs/biome": "2.3.10",
|
||||
"@types/node": "^25.0.3",
|
||||
"browserslist": "^4.28.1",
|
||||
"browserslist-to-esbuild": "^2.1.1",
|
||||
"edge.js": "^6.4.0",
|
||||
"less": "^4.5.1",
|
||||
"mathjs": "^15.1.0",
|
||||
"sharp": "~0.34.5",
|
||||
"sort-package-json": "~3.5.1",
|
||||
"stylelint": "~16.26.0",
|
||||
"stylelint-config-standard-less": "~3.0.1",
|
||||
"stylelint-prettier": "~5.0.3",
|
||||
"svgo": "~4.0.0",
|
||||
"sort-package-json": "^3.6.0",
|
||||
"stylelint": "^16.26.0",
|
||||
"stylelint-config-standard-less": "^3.0.1",
|
||||
"stylelint-prettier": "^5.0.3",
|
||||
"svgo": "^4.0.0",
|
||||
"typescript": "~5.9.3",
|
||||
"vite": "8.0.0-beta.2",
|
||||
"vite-bundle-analyzer": "~1.3.1"
|
||||
"vite": "8.0.0-beta.5",
|
||||
"vite-bundle-analyzer": "^1.3.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/code-frame": {
|
||||
@@ -69,9 +69,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/biome": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.3.8.tgz",
|
||||
"integrity": "sha512-Qjsgoe6FEBxWAUzwFGFrB+1+M8y/y5kwmg5CHac+GSVOdmOIqsAiXM5QMVGZJ1eCUCLlPZtq4aFAQ0eawEUuUA==",
|
||||
"version": "2.3.10",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.3.10.tgz",
|
||||
"integrity": "sha512-/uWSUd1MHX2fjqNLHNL6zLYWBbrJeG412/8H7ESuK8ewoRoMPUgHDebqKrPTx/5n6f17Xzqc9hdg3MEqA5hXnQ==",
|
||||
"dev": true,
|
||||
"license": "MIT OR Apache-2.0",
|
||||
"bin": {
|
||||
@@ -85,20 +85,20 @@
|
||||
"url": "https://opencollective.com/biome"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@biomejs/cli-darwin-arm64": "2.3.8",
|
||||
"@biomejs/cli-darwin-x64": "2.3.8",
|
||||
"@biomejs/cli-linux-arm64": "2.3.8",
|
||||
"@biomejs/cli-linux-arm64-musl": "2.3.8",
|
||||
"@biomejs/cli-linux-x64": "2.3.8",
|
||||
"@biomejs/cli-linux-x64-musl": "2.3.8",
|
||||
"@biomejs/cli-win32-arm64": "2.3.8",
|
||||
"@biomejs/cli-win32-x64": "2.3.8"
|
||||
"@biomejs/cli-darwin-arm64": "2.3.10",
|
||||
"@biomejs/cli-darwin-x64": "2.3.10",
|
||||
"@biomejs/cli-linux-arm64": "2.3.10",
|
||||
"@biomejs/cli-linux-arm64-musl": "2.3.10",
|
||||
"@biomejs/cli-linux-x64": "2.3.10",
|
||||
"@biomejs/cli-linux-x64-musl": "2.3.10",
|
||||
"@biomejs/cli-win32-arm64": "2.3.10",
|
||||
"@biomejs/cli-win32-x64": "2.3.10"
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-darwin-arm64": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.3.8.tgz",
|
||||
"integrity": "sha512-HM4Zg9CGQ3txTPflxD19n8MFPrmUAjaC7PQdLkugeeC0cQ+PiVrd7i09gaBS/11QKsTDBJhVg85CEIK9f50Qww==",
|
||||
"version": "2.3.10",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.3.10.tgz",
|
||||
"integrity": "sha512-M6xUjtCVnNGFfK7HMNKa593nb7fwNm43fq1Mt71kpLpb+4mE7odO8W/oWVDyBVO4ackhresy1ZYO7OJcVo/B7w==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -113,9 +113,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-darwin-x64": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.3.8.tgz",
|
||||
"integrity": "sha512-lUDQ03D7y/qEao7RgdjWVGCu+BLYadhKTm40HkpJIi6kn8LSv5PAwRlew/DmwP4YZ9ke9XXoTIQDO1vAnbRZlA==",
|
||||
"version": "2.3.10",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.3.10.tgz",
|
||||
"integrity": "sha512-Vae7+V6t/Avr8tVbFNjnFSTKZogZHFYl7MMH62P/J1kZtr0tyRQ9Fe0onjqjS2Ek9lmNLmZc/VR5uSekh+p1fg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -130,9 +130,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-linux-arm64": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.3.8.tgz",
|
||||
"integrity": "sha512-Uo1OJnIkJgSgF+USx970fsM/drtPcQ39I+JO+Fjsaa9ZdCN1oysQmy6oAGbyESlouz+rzEckLTF6DS7cWse95g==",
|
||||
"version": "2.3.10",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.3.10.tgz",
|
||||
"integrity": "sha512-hhPw2V3/EpHKsileVOFynuWiKRgFEV48cLe0eA+G2wO4SzlwEhLEB9LhlSrVeu2mtSn205W283LkX7Fh48CaxA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -147,9 +147,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-linux-arm64-musl": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.3.8.tgz",
|
||||
"integrity": "sha512-PShR4mM0sjksUMyxbyPNMxoKFPVF48fU8Qe8Sfx6w6F42verbwRLbz+QiKNiDPRJwUoMG1nPM50OBL3aOnTevA==",
|
||||
"version": "2.3.10",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.3.10.tgz",
|
||||
"integrity": "sha512-B9DszIHkuKtOH2IFeeVkQmSMVUjss9KtHaNXquYYWCjH8IstNgXgx5B0aSBQNr6mn4RcKKRQZXn9Zu1rM3O0/A==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -164,9 +164,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-linux-x64": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.3.8.tgz",
|
||||
"integrity": "sha512-QDPMD5bQz6qOVb3kiBui0zKZXASLo0NIQ9JVJio5RveBEFgDgsvJFUvZIbMbUZT3T00M/1wdzwWXk4GIh0KaAw==",
|
||||
"version": "2.3.10",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.3.10.tgz",
|
||||
"integrity": "sha512-wwAkWD1MR95u+J4LkWP74/vGz+tRrIQvr8kfMMJY8KOQ8+HMVleREOcPYsQX82S7uueco60L58Wc6M1I9WA9Dw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -181,9 +181,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-linux-x64-musl": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.3.8.tgz",
|
||||
"integrity": "sha512-YGLkqU91r1276uwSjiUD/xaVikdxgV1QpsicT0bIA1TaieM6E5ibMZeSyjQ/izBn4tKQthUSsVZacmoJfa3pDA==",
|
||||
"version": "2.3.10",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.3.10.tgz",
|
||||
"integrity": "sha512-QTfHZQh62SDFdYc2nfmZFuTm5yYb4eO1zwfB+90YxUumRCR171tS1GoTX5OD0wrv4UsziMPmrePMtkTnNyYG3g==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -198,9 +198,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-win32-arm64": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.3.8.tgz",
|
||||
"integrity": "sha512-H4IoCHvL1fXKDrTALeTKMiE7GGWFAraDwBYFquE/L/5r1927Te0mYIGseXi4F+lrrwhSWbSGt5qPFswNoBaCxg==",
|
||||
"version": "2.3.10",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.3.10.tgz",
|
||||
"integrity": "sha512-o7lYc9n+CfRbHvkjPhm8s9FgbKdYZu5HCcGVMItLjz93EhgJ8AM44W+QckDqLA9MKDNFrR8nPbO4b73VC5kGGQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -215,9 +215,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-win32-x64": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.3.8.tgz",
|
||||
"integrity": "sha512-RguzimPoZWtBapfKhKjcWXBVI91tiSprqdBYu7tWhgN8pKRZhw24rFeNZTNf6UiBfjCYCi9eFQs/JzJZIhuK4w==",
|
||||
"version": "2.3.10",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.3.10.tgz",
|
||||
"integrity": "sha512-pHEFgq7dUEsKnqG9mx9bXihxGI49X+ar+UBrEIj3Wqj3UCZp1rNgV+OoyjFgcXsjCWpuEAF4VJdkZr3TrWdCbQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -280,9 +280,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@csstools/css-syntax-patches-for-csstree": {
|
||||
"version": "1.0.21",
|
||||
"resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.21.tgz",
|
||||
"integrity": "sha512-plP8N8zKfEZ26figX4Nvajx8DuzfuRpLTqglQ5d0chfnt35Qt3X+m6ASZ+rG0D0kxe/upDVNwSIVJP5n4FuNfw==",
|
||||
"version": "1.0.22",
|
||||
"resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.22.tgz",
|
||||
"integrity": "sha512-qBcx6zYlhleiFfdtzkRgwNC7VVoAwfK76Vmsw5t+PbvtdknO9StgRk7ROvq9so1iqbdW4uLIDAsXRsTfUrIoOw==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -978,9 +978,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@oxc-project/runtime": {
|
||||
"version": "0.102.0",
|
||||
"resolved": "https://registry.npmjs.org/@oxc-project/runtime/-/runtime-0.102.0.tgz",
|
||||
"integrity": "sha512-vEDGxVIeeO+u5XCHD5+iSzWwC3DgRpEaf3lPZETC+6GnoRKHaxbxV6XqpbOhiY423RVkAbBEtfetfrjJjPWByA==",
|
||||
"version": "0.103.0",
|
||||
"resolved": "https://registry.npmjs.org/@oxc-project/runtime/-/runtime-0.103.0.tgz",
|
||||
"integrity": "sha512-sQKZo5lLS1/yzbsVlZ+zaQorOkLe3OkQjyyMN29tMvCax5e5Sa9uUYKChDDMR4D41n6ApEazMN2UcIwFdHgS7g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -988,9 +988,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@oxc-project/types": {
|
||||
"version": "0.102.0",
|
||||
"resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.102.0.tgz",
|
||||
"integrity": "sha512-8Skrw405g+/UJPKWJ1twIk3BIH2nXdiVlVNtYT23AXVwpsd79es4K+KYt06Fbnkc5BaTvk/COT2JuCLYdwnCdA==",
|
||||
"version": "0.103.0",
|
||||
"resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.103.0.tgz",
|
||||
"integrity": "sha512-bkiYX5kaXWwUessFRSoXFkGIQTmc6dLGdxuRTrC+h8PSnIdZyuXHHlLAeTmOue5Br/a0/a7dHH0Gca6eXn9MKg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
@@ -1050,28 +1050,31 @@
|
||||
"slugify": "^1.6.6"
|
||||
}
|
||||
},
|
||||
"node_modules/@poppinss/types": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@poppinss/types/-/types-1.2.1.tgz",
|
||||
"integrity": "sha512-qUYnzl0m9HJTWsXtr8Xo7CwDx6wcjrvo14bOVbIMIlKJCzKrm3LX55dRTDr1/x4PpSvKVgmxvC6Ly2YiqXKOvQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@poppinss/utils": {
|
||||
"version": "6.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-6.10.1.tgz",
|
||||
"integrity": "sha512-da+MMyeXhBaKtxQiWPfy7+056wk3lVIhioJnXHXkJ2/OHDaZfFcyKHNl1R06sdYO8lIRXcXdoZ6LO2ARmkAREA==",
|
||||
"version": "7.0.0-next.4",
|
||||
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-7.0.0-next.4.tgz",
|
||||
"integrity": "sha512-rUuxnSpcJzUmGHw02x1bKKXkB+j84Lo/qKB42F8YYGoKN62jJ67FvSogxjgJqJYpIBpl7qoU4yb4aFc6ubsdjw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@poppinss/exception": "^1.2.1",
|
||||
"@poppinss/exception": "^1.2.3",
|
||||
"@poppinss/object-builder": "^1.1.0",
|
||||
"@poppinss/string": "^1.3.0",
|
||||
"flattie": "^1.1.1",
|
||||
"safe-stable-stringify": "^2.5.0",
|
||||
"secure-json-parse": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.16.0"
|
||||
"@poppinss/string": "^1.7.1",
|
||||
"@poppinss/types": "^1.2.1",
|
||||
"flattie": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-android-arm64": {
|
||||
"version": "1.0.0-beta.54",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.54.tgz",
|
||||
"integrity": "sha512-zZRx/ur3Fai3fxiEmVp48+6GCBR48PRWJR1X3TTMn9yiq2bBHlYPgBaQtDOYWXv5H3J5dXujeTyGnuoY+kdGCg==",
|
||||
"version": "1.0.0-beta.57",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.57.tgz",
|
||||
"integrity": "sha512-GoOVDy8bjw9z1K30Oo803nSzXJS/vWhFijFsW3kzvZCO8IZwFnNa6pGctmbbJstKl3Fv6UBwyjJQN6msejW0IQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1086,9 +1089,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-darwin-arm64": {
|
||||
"version": "1.0.0-beta.54",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.54.tgz",
|
||||
"integrity": "sha512-zMyFEJmbIs91x22HAA/eUvmZHgjX8tGsD3TJ+WC9aY4bCdl3w84H9vMZmChSHAF1dYvGNH4KQDI2IubeZaCYtg==",
|
||||
"version": "1.0.0-beta.57",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.57.tgz",
|
||||
"integrity": "sha512-9c4FOhRGpl+PX7zBK5p17c5efpF9aSpTPgyigv57hXf5NjQUaJOOiejPLAtFiKNBIfm5Uu6yFkvLKzOafNvlTw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1103,9 +1106,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-darwin-x64": {
|
||||
"version": "1.0.0-beta.54",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.54.tgz",
|
||||
"integrity": "sha512-Ex7QttdaVnEpmE/zroUT5Qm10e2+Vjd9q0LX9eXm59SitxDODMpC8GI1Rct5RrLf4GLU4DzdXBj6DGzuR+6g6w==",
|
||||
"version": "1.0.0-beta.57",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.57.tgz",
|
||||
"integrity": "sha512-6RsB8Qy4LnGqNGJJC/8uWeLWGOvbRL/KG5aJ8XXpSEupg/KQtlBEiFaYU/Ma5Usj1s+bt3ItkqZYAI50kSplBA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1120,9 +1123,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-freebsd-x64": {
|
||||
"version": "1.0.0-beta.54",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.54.tgz",
|
||||
"integrity": "sha512-E1XO10ryM/Vxw3Q1wvs9s2mSpVBfbHtzkbJcdu26qh17ZmVwNWLiIoqEcbkXm028YwkReG4Gd2gCZ3NxgTQ28Q==",
|
||||
"version": "1.0.0-beta.57",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.57.tgz",
|
||||
"integrity": "sha512-uA9kG7+MYkHTbqwv67Tx+5GV5YcKd33HCJIi0311iYBd25yuwyIqvJfBdt1VVB8tdOlyTb9cPAgfCki8nhwTQg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1137,9 +1140,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-arm-gnueabihf": {
|
||||
"version": "1.0.0-beta.54",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.54.tgz",
|
||||
"integrity": "sha512-oS73Uks8jczQR9pg0Bj718vap/x71exyJ5yuxu4X5V4MhwRQnky7ANSPm6ARUfraxOqt49IBfcMeGnw2rTSqdA==",
|
||||
"version": "1.0.0-beta.57",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.57.tgz",
|
||||
"integrity": "sha512-3KkS0cHsllT2T+Te+VZMKHNw6FPQihYsQh+8J4jkzwgvAQpbsbXmrqhkw3YU/QGRrD8qgcOvBr6z5y6Jid+rmw==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@@ -1154,9 +1157,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-arm64-gnu": {
|
||||
"version": "1.0.0-beta.54",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.54.tgz",
|
||||
"integrity": "sha512-pY8N2X5C+/ZQcy0eRdfOzOP//OFngP1TaIqDjFwfBPws2UNavKS8SpxhPEgUaYIaT0keVBd/TB+eVy9z+CIOtw==",
|
||||
"version": "1.0.0-beta.57",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.57.tgz",
|
||||
"integrity": "sha512-A3/wu1RgsHhqP3rVH2+sM81bpk+Qd2XaHTl8LtX5/1LNR7QVBFBCpAoiXwjTdGnI5cMdBVi7Z1pi52euW760Fw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1171,9 +1174,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-arm64-musl": {
|
||||
"version": "1.0.0-beta.54",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.54.tgz",
|
||||
"integrity": "sha512-cgTooAFm2MUmFriB7IYaWBNyqrGlRPKG+yaK2rGFl2rcdOcO24urY4p3eyB0ogqsRLvJbIxwjjYiWiIP7Eo1Cw==",
|
||||
"version": "1.0.0-beta.57",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.57.tgz",
|
||||
"integrity": "sha512-d0kIVezTQtazpyWjiJIn5to8JlwfKITDqwsFv0Xc6s31N16CD2PC/Pl2OtKgS7n8WLOJbfqgIp5ixYzTAxCqMg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1188,9 +1191,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-x64-gnu": {
|
||||
"version": "1.0.0-beta.54",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.54.tgz",
|
||||
"integrity": "sha512-nGyLT1Qau0W+kEL44V2jhHmvfS3wyJW08E4WEu2E6NuIy+uChKN1X0aoxzFIDi2owDsYaZYez/98/f268EupIQ==",
|
||||
"version": "1.0.0-beta.57",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.57.tgz",
|
||||
"integrity": "sha512-E199LPijo98yrLjPCmETx8EF43sZf9t3guSrLee/ej1rCCc3zDVTR4xFfN9BRAapGVl7/8hYqbbiQPTkv73kUg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1205,9 +1208,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-x64-musl": {
|
||||
"version": "1.0.0-beta.54",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.54.tgz",
|
||||
"integrity": "sha512-KH374P0TUjDXssROT/orvzaWrzGOptD13PTrltgKwbDprJTMknoLiYsOD6Ttz92O2VuAcCtFuJ1xbyFM2Uo/Xg==",
|
||||
"version": "1.0.0-beta.57",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.57.tgz",
|
||||
"integrity": "sha512-++EQDpk/UJ33kY/BNsh7A7/P1sr/jbMuQ8cE554ZIy+tCUWCivo9zfyjDUoiMdnxqX6HLJEqqGnbGQOvzm2OMQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1222,9 +1225,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-openharmony-arm64": {
|
||||
"version": "1.0.0-beta.54",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.54.tgz",
|
||||
"integrity": "sha512-oMAVO4wbfAbhpBxPsSp8R7ntL2DchpNfO+tGhN8/sI9jsbYwOv78uIW1fTwOBslhjTVFltGJ+l23mubNQcYNaQ==",
|
||||
"version": "1.0.0-beta.57",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.57.tgz",
|
||||
"integrity": "sha512-voDEBcNqxbUv/GeXKFtxXVWA+H45P/8Dec4Ii/SbyJyGvCqV1j+nNHfnFUIiRQ2Q40DwPe/djvgYBs9PpETiMA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1239,9 +1242,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-wasm32-wasi": {
|
||||
"version": "1.0.0-beta.54",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.54.tgz",
|
||||
"integrity": "sha512-MYY/FmY+HehHiQkNx04W5oLy/Fqd1hXYqZmmorSDXvAHnxMbSgmdFicKsSYOg/sVGHBMEP1tTn6kV5sWrS45rA==",
|
||||
"version": "1.0.0-beta.57",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.57.tgz",
|
||||
"integrity": "sha512-bRhcF7NLlCnpkzLVlVhrDEd0KH22VbTPkPTbMjlYvqhSmarxNIq5vtlQS8qmV7LkPKHrNLWyJW/V/sOyFba26Q==",
|
||||
"cpu": [
|
||||
"wasm32"
|
||||
],
|
||||
@@ -1256,9 +1259,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-win32-arm64-msvc": {
|
||||
"version": "1.0.0-beta.54",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.54.tgz",
|
||||
"integrity": "sha512-66o3uKxUmcYskT9exskxs3OVduXf5x0ndlMkYOjSpBgqzhLtkub136yDvZkNT1OkNDET0odSwcU7aWdpnwzAyg==",
|
||||
"version": "1.0.0-beta.57",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.57.tgz",
|
||||
"integrity": "sha512-rnDVGRks2FQ2hgJ2g15pHtfxqkGFGjJQUDWzYznEkE8Ra2+Vag9OffxdbJMZqBWXHVM0iS4dv8qSiEn7bO+n1Q==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1273,9 +1276,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-win32-x64-msvc": {
|
||||
"version": "1.0.0-beta.54",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.54.tgz",
|
||||
"integrity": "sha512-FbbbrboChLBXfeEsOfaypBGqzbdJ/CcSA2BPLCggojnIHy58Jo+AXV7HATY8opZk7194rRbokIT8AfPJtZAWtg==",
|
||||
"version": "1.0.0-beta.57",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.57.tgz",
|
||||
"integrity": "sha512-OqIUyNid1M4xTj6VRXp/Lht/qIP8fo25QyAZlCP+p6D2ATCEhyW4ZIFLnC9zAGN/HMbXoCzvwfa8Jjg/8J4YEg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1290,9 +1293,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/pluginutils": {
|
||||
"version": "1.0.0-beta.54",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.54.tgz",
|
||||
"integrity": "sha512-AHgcZ+w7RIRZ65ihSQL8YuoKcpD9Scew4sEeP1BBUT9QdTo6KjwHrZZXjID6nL10fhKessCH6OPany2QKwAwTQ==",
|
||||
"version": "1.0.0-beta.57",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.57.tgz",
|
||||
"integrity": "sha512-aQNelgx14tGA+n2tNSa9x6/jeoCL9fkDeCei7nOKnHx0fEFRRMu5ReiITo+zZD5TzWDGGRjbSYCs93IfRIyTuQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
@@ -1401,9 +1404,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@stencil/core": {
|
||||
"version": "4.39.0",
|
||||
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.39.0.tgz",
|
||||
"integrity": "sha512-wLASFh5wecnbxY+9pEPd6bl7AZJksLmuiBd0ShvkJ0v/N1nL4HNSw/jq2+TzgFE1+XqCUhKPDeVXFpZf1uuRDw==",
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.40.1.tgz",
|
||||
"integrity": "sha512-cTHBvYFLf4h61TVHLibZoJcomYAoC+TNW3oi1VHcZMpWQyp/h/pHG1XQeEpzuSscQc/SJJwOYb5IvQ8vVeeCNg==",
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"stencil": "bin/stencil"
|
||||
@@ -1435,9 +1438,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "25.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.1.tgz",
|
||||
"integrity": "sha512-czWPzKIAXucn9PtsttxmumiQ9N0ok9FrBwgRWrwmVLlp86BrMExzvXRLFYRJ+Ex3g6yqj+KuaxfX1JTgV2lpfg==",
|
||||
"version": "25.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.3.tgz",
|
||||
"integrity": "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
@@ -1559,9 +1562,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/baseline-browser-mapping": {
|
||||
"version": "2.9.7",
|
||||
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.7.tgz",
|
||||
"integrity": "sha512-k9xFKplee6KIio3IDbwj+uaCLpqzOwakOgmqzPezM0sFJlFKcg30vk2wOiAJtkTSfx0SSQDSe8q+mWA/fSH5Zg==",
|
||||
"version": "2.9.11",
|
||||
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.11.tgz",
|
||||
"integrity": "sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
@@ -1643,17 +1646,17 @@
|
||||
}
|
||||
},
|
||||
"node_modules/cacheable": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.3.0.tgz",
|
||||
"integrity": "sha512-HHiAvOBmlcR2f3SQ7kdlYD8+AUJG+wlFZ/Ze8tl1Vzvz0MdOh8IYA/EFU4ve8t1/sZ0j4MGi7ST5MoTwHessQA==",
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.3.1.tgz",
|
||||
"integrity": "sha512-yr+FSHWn1ZUou5LkULX/S+jhfgfnLbuKQjE40tyEd4fxGZVMbBL5ifno0J0OauykS8UiCSgHi+DV/YD+rjFxFg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@cacheable/memory": "^2.0.6",
|
||||
"@cacheable/utils": "^2.3.2",
|
||||
"hookified": "^1.13.0",
|
||||
"keyv": "^5.5.4",
|
||||
"qified": "^0.5.2"
|
||||
"hookified": "^1.14.0",
|
||||
"keyv": "^5.5.5",
|
||||
"qified": "^0.5.3"
|
||||
}
|
||||
},
|
||||
"node_modules/callsites": {
|
||||
@@ -1667,9 +1670,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001760",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001760.tgz",
|
||||
"integrity": "sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==",
|
||||
"version": "1.0.30001761",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001761.tgz",
|
||||
"integrity": "sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -1700,13 +1703,6 @@
|
||||
"url": "https://github.com/sponsors/mesqueeb"
|
||||
}
|
||||
},
|
||||
"node_modules/classnames": {
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz",
|
||||
"integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
@@ -2051,9 +2047,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/edge-lexer": {
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/edge-lexer/-/edge-lexer-6.0.3.tgz",
|
||||
"integrity": "sha512-/s15CNnfhZv97bsW+ZgV5rtONULYjhCDYu+usbVLqZ8UQ6b/hQUNvQSIQBXA6Gql9dm72TMBB9sb/eWM2esufg==",
|
||||
"version": "6.0.4",
|
||||
"resolved": "https://registry.npmjs.org/edge-lexer/-/edge-lexer-6.0.4.tgz",
|
||||
"integrity": "sha512-rHlTSZUQfBu/fwnAjoaLCGGmDzpRPgUC8FEqNdJtpPEjBRCqU3a4Le7iJ8KSQfY2WvWx6NTGAwti62xj3eIz1w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -2064,16 +2060,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/edge-parser": {
|
||||
"version": "9.0.4",
|
||||
"resolved": "https://registry.npmjs.org/edge-parser/-/edge-parser-9.0.4.tgz",
|
||||
"integrity": "sha512-vnjzfpqpjM4Mjt9typc1zLoFpC1F6kAObfcdyA6rSy+izIPji2RaQz5jWx5s5iG9hNcuyjtNyGRCLFVfoYhWcA==",
|
||||
"version": "9.1.0",
|
||||
"resolved": "https://registry.npmjs.org/edge-parser/-/edge-parser-9.1.0.tgz",
|
||||
"integrity": "sha512-Z7sEbRNjjGuUVch3ELHMbjgksVjQlAjUASCwUWe+1I+nJ0mVBmUD2rn6zyes/+EjLssvEGQcIWMjLMNn1ChXgQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"acorn": "^8.14.0",
|
||||
"acorn": "^8.15.0",
|
||||
"astring": "^1.9.0",
|
||||
"edge-error": "^4.0.2",
|
||||
"edge-lexer": "^6.0.3",
|
||||
"edge-lexer": "^6.0.4",
|
||||
"js-stringify": "^1.0.2"
|
||||
},
|
||||
"engines": {
|
||||
@@ -2081,23 +2077,20 @@
|
||||
}
|
||||
},
|
||||
"node_modules/edge.js": {
|
||||
"version": "6.3.0",
|
||||
"resolved": "https://registry.npmjs.org/edge.js/-/edge.js-6.3.0.tgz",
|
||||
"integrity": "sha512-Xm7XW6J2+6cvfRK6AJEKV5hBF230iCvwQRg5wattg+RAzQ6tRwWSe4gqCsvvCaHt4xp10xkm8+ZdhApF1FVCzA==",
|
||||
"version": "6.4.0",
|
||||
"resolved": "https://registry.npmjs.org/edge.js/-/edge.js-6.4.0.tgz",
|
||||
"integrity": "sha512-c19PeUKrADqu+XBr8wSKdjqW/L65xiEfBMh9nbTx6ieF3SV7Ajb3PdfvrYPuLnobgs/bwtem1+InYVFSaWPc1A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@poppinss/inspect": "^1.0.1",
|
||||
"@poppinss/macroable": "^1.0.4",
|
||||
"@poppinss/utils": "^6.9.2",
|
||||
"classnames": "^2.5.1",
|
||||
"@poppinss/macroable": "^1.1.0",
|
||||
"@poppinss/utils": "^7.0.0-next.4",
|
||||
"edge-error": "^4.0.2",
|
||||
"edge-lexer": "^6.0.3",
|
||||
"edge-lexer": "^6.0.4",
|
||||
"edge-parser": "^9.0.4",
|
||||
"fs-readdir-recursive": "^1.1.0",
|
||||
"he": "^1.2.0",
|
||||
"js-stringify": "^1.0.2",
|
||||
"property-information": "^6.5.0",
|
||||
"property-information": "^7.1.0",
|
||||
"stringify-attributes": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
@@ -2254,9 +2247,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/fastq": {
|
||||
"version": "1.19.1",
|
||||
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
|
||||
"integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
|
||||
"version": "1.20.1",
|
||||
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz",
|
||||
"integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
@@ -2329,13 +2322,6 @@
|
||||
"url": "https://github.com/sponsors/rawify"
|
||||
}
|
||||
},
|
||||
"node_modules/fs-readdir-recursive": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz",
|
||||
"integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/fsevents": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
|
||||
@@ -2781,10 +2767,11 @@
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/less": {
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmjs.org/less/-/less-4.4.2.tgz",
|
||||
"integrity": "sha512-j1n1IuTX1VQjIy3tT7cyGbX7nvQOsFLoIqobZv4ttI5axP923gA44zUj6miiA6R5Aoms4sEGVIIcucXUbRI14g==",
|
||||
"version": "4.5.1",
|
||||
"resolved": "https://registry.npmjs.org/less/-/less-4.5.1.tgz",
|
||||
"integrity": "sha512-UKgI3/KON4u6ngSsnDADsUERqhZknsVZbnuzlRZXLQCmfC/MDld42fTydUE9B+Mla1AL6SJ/Pp6SlEFi/AVGfw==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "Apache-2.0",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
@@ -3535,9 +3522,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/property-information": {
|
||||
"version": "6.5.0",
|
||||
"resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz",
|
||||
"integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==",
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz",
|
||||
"integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
@@ -3661,14 +3648,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/rolldown": {
|
||||
"version": "1.0.0-beta.54",
|
||||
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-beta.54.tgz",
|
||||
"integrity": "sha512-3lIvjCWgjPL3gmiATUdV1NeVBGJZy6FdtwgLPol25tAkn46Q/MsVGfCSNswXwFOxGrxglPaN20IeALSIFuFyEg==",
|
||||
"version": "1.0.0-beta.57",
|
||||
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-beta.57.tgz",
|
||||
"integrity": "sha512-lMMxcNN71GMsSko8RyeTaFoATHkCh4IWU7pYF73ziMYjhHZWfVesC6GQ+iaJCvZmVjvgSks9Ks1aaqEkBd8udg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@oxc-project/types": "=0.102.0",
|
||||
"@rolldown/pluginutils": "1.0.0-beta.54"
|
||||
"@oxc-project/types": "=0.103.0",
|
||||
"@rolldown/pluginutils": "1.0.0-beta.57"
|
||||
},
|
||||
"bin": {
|
||||
"rolldown": "bin/cli.mjs"
|
||||
@@ -3677,19 +3664,19 @@
|
||||
"node": "^20.19.0 || >=22.12.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@rolldown/binding-android-arm64": "1.0.0-beta.54",
|
||||
"@rolldown/binding-darwin-arm64": "1.0.0-beta.54",
|
||||
"@rolldown/binding-darwin-x64": "1.0.0-beta.54",
|
||||
"@rolldown/binding-freebsd-x64": "1.0.0-beta.54",
|
||||
"@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.54",
|
||||
"@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.54",
|
||||
"@rolldown/binding-linux-arm64-musl": "1.0.0-beta.54",
|
||||
"@rolldown/binding-linux-x64-gnu": "1.0.0-beta.54",
|
||||
"@rolldown/binding-linux-x64-musl": "1.0.0-beta.54",
|
||||
"@rolldown/binding-openharmony-arm64": "1.0.0-beta.54",
|
||||
"@rolldown/binding-wasm32-wasi": "1.0.0-beta.54",
|
||||
"@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.54",
|
||||
"@rolldown/binding-win32-x64-msvc": "1.0.0-beta.54"
|
||||
"@rolldown/binding-android-arm64": "1.0.0-beta.57",
|
||||
"@rolldown/binding-darwin-arm64": "1.0.0-beta.57",
|
||||
"@rolldown/binding-darwin-x64": "1.0.0-beta.57",
|
||||
"@rolldown/binding-freebsd-x64": "1.0.0-beta.57",
|
||||
"@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.57",
|
||||
"@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.57",
|
||||
"@rolldown/binding-linux-arm64-musl": "1.0.0-beta.57",
|
||||
"@rolldown/binding-linux-x64-gnu": "1.0.0-beta.57",
|
||||
"@rolldown/binding-linux-x64-musl": "1.0.0-beta.57",
|
||||
"@rolldown/binding-openharmony-arm64": "1.0.0-beta.57",
|
||||
"@rolldown/binding-wasm32-wasi": "1.0.0-beta.57",
|
||||
"@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.57",
|
||||
"@rolldown/binding-win32-x64-msvc": "1.0.0-beta.57"
|
||||
}
|
||||
},
|
||||
"node_modules/run-parallel": {
|
||||
@@ -3716,16 +3703,6 @@
|
||||
"queue-microtask": "^1.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/safe-stable-stringify": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz",
|
||||
"integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||
@@ -3741,23 +3718,6 @@
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0"
|
||||
},
|
||||
"node_modules/secure-json-parse": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-4.1.0.tgz",
|
||||
"integrity": "sha512-l4KnYfEyqYJxDwlNVyRfO2E4NTHfMKAWdUuA8J0yve2Dz/E/PdBepY03RvyJpssIpRFwJoCD55wA+mEDs6ByWA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/fastify"
|
||||
},
|
||||
{
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/fastify"
|
||||
}
|
||||
],
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/seedrandom": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz",
|
||||
@@ -3893,9 +3853,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/sort-package-json": {
|
||||
"version": "3.5.1",
|
||||
"resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-3.5.1.tgz",
|
||||
"integrity": "sha512-LfwyHQuTnJ3336Sexi6yDz1QxvSjXKbc78pOw2HQy8BJHFXzONu+zLvLald0NpLWM0exsYyI7M8PeJAngNgpbA==",
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-3.6.0.tgz",
|
||||
"integrity": "sha512-fyJsPLhWvY7u2KsKPZn1PixbXp+1m7V8NWqU8CvgFRbMEX41Ffw1kD8n0CfJiGoaSfoAvbrqRRl/DcHO8omQOQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -4363,9 +4323,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/update-browserslist-db": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.2.tgz",
|
||||
"integrity": "sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==",
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
|
||||
"integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -4401,18 +4361,18 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "8.0.0-beta.2",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-8.0.0-beta.2.tgz",
|
||||
"integrity": "sha512-PIkpGhNy7r5r6Sepwo07BDWf8vr6O4CXVBm+vg7aIpswvL0VNGTjok1qiNRypcqT9dhFQJggtPoubZwXM7yeAQ==",
|
||||
"version": "8.0.0-beta.5",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-8.0.0-beta.5.tgz",
|
||||
"integrity": "sha512-wgvJ+rdGKggZ1m0KnSYF4mEdEEaAAUWKiHe9IDl8oagjUkyrD2CdgSoxiJdpLNNzCKIZdHsAi2xMRRwrCEd4AQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@oxc-project/runtime": "0.102.0",
|
||||
"@oxc-project/runtime": "0.103.0",
|
||||
"fdir": "^6.5.0",
|
||||
"lightningcss": "^1.30.2",
|
||||
"picomatch": "^4.0.3",
|
||||
"postcss": "^8.5.6",
|
||||
"rolldown": "1.0.0-beta.54",
|
||||
"rolldown": "1.0.0-beta.57",
|
||||
"tinyglobby": "^0.2.15"
|
||||
},
|
||||
"bin": {
|
||||
@@ -4477,9 +4437,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vite-bundle-analyzer": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/vite-bundle-analyzer/-/vite-bundle-analyzer-1.3.1.tgz",
|
||||
"integrity": "sha512-39J8a+d1KTi9fPt0a7MqqEJibMekdIDCW2nohiyQPSiww+xEBRHKSX4fdpwSvia9KDiFg7THjQRTs0xefzB+lg==",
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/vite-bundle-analyzer/-/vite-bundle-analyzer-1.3.2.tgz",
|
||||
"integrity": "sha512-Od4ILUKRvBV3LuO/E+S+c1XULlxdkRZPSf6Vzzu+UAXG0D3hZYUu9imZIkSj/PU4e1FB14yB+av8g3KiljH8zQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
|
||||
@@ -23,27 +23,27 @@
|
||||
"not dead"
|
||||
],
|
||||
"dependencies": {
|
||||
"ionicons": "~8.0.13",
|
||||
"ionicons": "^8.0.13",
|
||||
"normalize.css": "8.0.1",
|
||||
"ol": "~10.7.0",
|
||||
"ol": "^10.7.0",
|
||||
"swiped-events": "1.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "2.3.8",
|
||||
"@types/node": "~25.0.1",
|
||||
"browserslist": "~4.28.1",
|
||||
"browserslist-to-esbuild": "~2.1.1",
|
||||
"edge.js": "~6.3.0",
|
||||
"less": "~4.4.2",
|
||||
"mathjs": "~15.1.0",
|
||||
"@biomejs/biome": "2.3.10",
|
||||
"@types/node": "^25.0.3",
|
||||
"browserslist": "^4.28.1",
|
||||
"browserslist-to-esbuild": "^2.1.1",
|
||||
"edge.js": "^6.4.0",
|
||||
"less": "^4.5.1",
|
||||
"mathjs": "^15.1.0",
|
||||
"sharp": "~0.34.5",
|
||||
"sort-package-json": "~3.5.1",
|
||||
"stylelint": "~16.26.0",
|
||||
"stylelint-config-standard-less": "~3.0.1",
|
||||
"stylelint-prettier": "~5.0.3",
|
||||
"svgo": "~4.0.0",
|
||||
"sort-package-json": "^3.6.0",
|
||||
"stylelint": "^16.26.0",
|
||||
"stylelint-config-standard-less": "^3.0.1",
|
||||
"stylelint-prettier": "^5.0.3",
|
||||
"svgo": "^4.0.0",
|
||||
"typescript": "~5.9.3",
|
||||
"vite": "8.0.0-beta.2",
|
||||
"vite-bundle-analyzer": "~1.3.1"
|
||||
"vite": "8.0.0-beta.5",
|
||||
"vite-bundle-analyzer": "^1.3.2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -220,7 +220,7 @@ const highlightResult =
|
||||
// biome-ignore lint/complexity/noUselessSwitchCase: fallthrough is intended
|
||||
case "top":
|
||||
default:
|
||||
next = results[0];
|
||||
[next] = results;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -343,7 +343,7 @@ const initHelpContent = (divElement: HTMLElement, keyBindings: typeof baseKeyBin
|
||||
const categories: Record<string, KeyBinding[]> = {};
|
||||
|
||||
for (const binding of Object.values(keyBindings)) {
|
||||
const cat = binding.cat;
|
||||
const { cat } = binding;
|
||||
categories[cat] ??= [];
|
||||
categories[cat].push(binding);
|
||||
}
|
||||
@@ -400,7 +400,7 @@ const toggleHelp = (keyBindings: typeof baseKeyBinding): void => {
|
||||
className: "dialog-modal"
|
||||
});
|
||||
initHelpContent(helpPanel, keyBindings);
|
||||
const body = document.getElementsByTagName("body")[0];
|
||||
const [body] = document.getElementsByTagName("body");
|
||||
if (body) {
|
||||
body.appendChild(helpPanel);
|
||||
}
|
||||
|
||||
@@ -70,8 +70,7 @@ listen("click", "#copy-hash", async function (this: HTMLElement) {
|
||||
}
|
||||
}
|
||||
|
||||
const copiedText = this.dataset.copiedText;
|
||||
if (copiedText) {
|
||||
this.innerText = copiedText;
|
||||
if (this.dataset.copiedText) {
|
||||
this.innerText = this.dataset.copiedText;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -135,9 +135,8 @@ listen("click", "#copy_url", async function (this: HTMLElement) {
|
||||
}
|
||||
}
|
||||
|
||||
const copiedText = this.dataset.copiedText;
|
||||
if (copiedText) {
|
||||
this.innerText = copiedText;
|
||||
if (this.dataset.copiedText) {
|
||||
this.innerText = this.dataset.copiedText;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -124,14 +124,17 @@ engine is shown. Most of the options have a default value or even are optional.
|
||||
|
||||
``api_key`` : optional
|
||||
In a few cases, using an API needs the use of a secret key. How to obtain them
|
||||
is described in the file.
|
||||
is described in the file. Engines that require an API key are set to
|
||||
``inactive: true`` by default. To enable such an engine, provide the API key
|
||||
and set ``inactive: false``.
|
||||
|
||||
``disabled`` : optional
|
||||
To disable by default the engine, but not deleting it. It will allow the user
|
||||
to manually activate it in the settings.
|
||||
|
||||
``inactive``: optional
|
||||
Remove the engine from the settings (*disabled & removed*).
|
||||
Remove the engine from the settings (*disabled & removed*). This defaults to ``true`` for engines
|
||||
that require an API key, please see the ``api_key`` section if you want to enable such an engine.
|
||||
|
||||
``language`` : optional
|
||||
If you want to use another language for a specific engine, you can define it
|
||||
|
||||
@@ -4,15 +4,33 @@
|
||||
Search API
|
||||
==========
|
||||
|
||||
The search supports both ``GET`` and ``POST``.
|
||||
SearXNG supports querying via a simple HTTP API.
|
||||
Two endpoints, ``/`` and ``/search``, are supported for both GET and POST methods.
|
||||
The GET method expects parameters as URL query parameters, while the POST method expects parameters as form data.
|
||||
|
||||
Furthermore, two endpoints ``/`` and ``/search`` are available for querying.
|
||||
If you want to consume the results as JSON, CSV, or RSS, you need to set the
|
||||
``format`` parameter accordingly. Supported formats are defined in ``settings.yml``, under the ``search`` section.
|
||||
Requesting an unset format will return a 403 Forbidden error. Be aware that many public instances have these formats disabled.
|
||||
|
||||
|
||||
Endpoints:
|
||||
|
||||
``GET /``
|
||||
|
||||
``GET /search``
|
||||
|
||||
``POST /``
|
||||
``POST /search``
|
||||
|
||||
example cURL calls:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
curl 'https://searx.example.org/search?q=searxng&format=json'
|
||||
|
||||
curl -X POST 'https://searx.example.org/search' -d 'q=searxng&format=csv'
|
||||
|
||||
curl -L -X POST -d 'q=searxng&format=json' 'https://searx.example.org/'
|
||||
|
||||
Parameters
|
||||
==========
|
||||
|
||||
|
||||
@@ -24,5 +24,5 @@ coloredlogs==15.0.1
|
||||
docutils>=0.21.2
|
||||
parameterized==0.9.0
|
||||
granian[reload]==2.6.0
|
||||
basedpyright==1.36.1
|
||||
basedpyright==1.36.2
|
||||
types-lxml==2025.11.25
|
||||
|
||||
@@ -15,7 +15,7 @@ markdown-it-py==3.0.0
|
||||
fasttext-predict==0.9.2.4
|
||||
tomli==2.3.0; python_version < '3.11'
|
||||
msgspec==0.20.0
|
||||
typer-slim==0.20.0
|
||||
typer-slim==0.21.0
|
||||
isodate==0.7.2
|
||||
whitenoise==6.11.0
|
||||
typing-extensions==4.15.0
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -345,6 +345,7 @@
|
||||
"af": "Australiese dollar",
|
||||
"ar": "دولار أسترالي",
|
||||
"bg": "Австралийски долар",
|
||||
"bn": "অস্ট্রেলীয় ডলার",
|
||||
"ca": "dòlar australià",
|
||||
"cs": "australský dolar",
|
||||
"cy": "Doler Awstralia",
|
||||
@@ -566,6 +567,7 @@
|
||||
"fi": "Bangladeshin taka",
|
||||
"fr": "taka",
|
||||
"ga": "taka na Banglaidéise",
|
||||
"gl": "taka",
|
||||
"he": "טאקה",
|
||||
"hr": "Bangladeška taka",
|
||||
"hu": "bangladesi taka",
|
||||
@@ -646,6 +648,7 @@
|
||||
"fi": "Bahrainin dinaari",
|
||||
"fr": "dinar bahreïnien",
|
||||
"ga": "dinar Bhairéin",
|
||||
"gl": "dinar de Bahrain",
|
||||
"he": "דינר בחרייני",
|
||||
"hr": "Bahreinski dinar",
|
||||
"hu": "bahreini dinár",
|
||||
@@ -969,7 +972,7 @@
|
||||
"et": "Botswana pula",
|
||||
"eu": "Pula",
|
||||
"fi": "Pula",
|
||||
"fr": "pula",
|
||||
"fr": "Pula",
|
||||
"ga": "pula na Botsuáine",
|
||||
"gl": "Pula",
|
||||
"he": "פולה",
|
||||
@@ -1275,6 +1278,10 @@
|
||||
"uk": "Чилійський песо",
|
||||
"vi": "Peso Chile"
|
||||
},
|
||||
"CNH": {
|
||||
"en": "renminbi (offshore)",
|
||||
"es": "yuan offshore"
|
||||
},
|
||||
"CNY": {
|
||||
"af": "Renminbi",
|
||||
"ar": "رنمينبي",
|
||||
@@ -1287,7 +1294,7 @@
|
||||
"da": "Renminbi",
|
||||
"de": "Renminbi",
|
||||
"dv": "ރެންމިބީ",
|
||||
"en": "renminbi",
|
||||
"en": "CNY",
|
||||
"eo": "Renminbio",
|
||||
"es": "yuan chino",
|
||||
"et": "Renminbi",
|
||||
@@ -1331,7 +1338,7 @@
|
||||
"cs": "Kolumbijské peso",
|
||||
"da": "Colombiansk peso",
|
||||
"de": "kolumbianischer Peso",
|
||||
"en": "peso",
|
||||
"en": "Colombian peso",
|
||||
"eo": "kolombia peso",
|
||||
"es": "peso",
|
||||
"et": "Colombia peeso",
|
||||
@@ -1415,7 +1422,7 @@
|
||||
"cy": "peso (Ciwba)",
|
||||
"da": "Cubanske pesos",
|
||||
"de": "kubanischer Peso",
|
||||
"en": "peso",
|
||||
"en": "Cuban peso",
|
||||
"eo": "kuba peso",
|
||||
"es": "peso",
|
||||
"fi": "Kuuban peso",
|
||||
@@ -1461,6 +1468,7 @@
|
||||
"fi": "Kap Verden escudo",
|
||||
"fr": "escudo cap-verdien",
|
||||
"ga": "escudo Rinn Verde",
|
||||
"gl": "escudo caboverdiano",
|
||||
"he": "אשקודו כף ורדי",
|
||||
"hr": "Zelenortski eskudo",
|
||||
"hu": "zöld-foki köztársasági escudo",
|
||||
@@ -1809,7 +1817,7 @@
|
||||
"bg": "евро",
|
||||
"bn": "ইউরো",
|
||||
"ca": "euro",
|
||||
"cs": "Euro",
|
||||
"cs": "euro",
|
||||
"cy": "Ewro",
|
||||
"da": "Euro",
|
||||
"de": "Euro",
|
||||
@@ -1958,7 +1966,7 @@
|
||||
"lt": "svaras sterlingų",
|
||||
"lv": "sterliņu mārciņa",
|
||||
"ms": "paun sterling",
|
||||
"nl": "pond sterling",
|
||||
"nl": "Britse pond",
|
||||
"oc": "liure esterlina",
|
||||
"pa": "ਪਾਊਂਡ ਸਟਰਲਿੰਗ",
|
||||
"pl": "funt szterling",
|
||||
@@ -2029,7 +2037,7 @@
|
||||
"eo": "ganaa cedio",
|
||||
"es": "cedi",
|
||||
"fi": "Cedi",
|
||||
"fr": "cedi",
|
||||
"fr": "Cedi",
|
||||
"ga": "cedi",
|
||||
"gl": "Cedi",
|
||||
"he": "סדי גאני",
|
||||
@@ -2068,7 +2076,7 @@
|
||||
"es": "libra gibraltareña",
|
||||
"et": "Gibraltari nael",
|
||||
"fi": "Gibraltarin punta",
|
||||
"fr": "livre de Gibraltar",
|
||||
"fr": "Livre de Gibraltar",
|
||||
"ga": "punt Ghiobráltar",
|
||||
"gl": "Libra de Xibraltar",
|
||||
"he": "לירה גיברלטרית",
|
||||
@@ -3582,7 +3590,7 @@
|
||||
"cy": "tögrög Mongolia",
|
||||
"da": "Tugrik",
|
||||
"de": "Tögrög",
|
||||
"en": "tugrik",
|
||||
"en": "Mongolian tögrög",
|
||||
"eo": "mongola tugriko",
|
||||
"es": "tugrik mongol",
|
||||
"fi": "Mongolian tugrik",
|
||||
@@ -3799,7 +3807,7 @@
|
||||
"bg": "Мексиканско песо",
|
||||
"ca": "peso mexicà",
|
||||
"cs": "Mexické peso",
|
||||
"cy": "peso (Mecsico)",
|
||||
"cy": "peso",
|
||||
"de": "Mexikanischer Peso",
|
||||
"en": "peso",
|
||||
"eo": "meksika peso",
|
||||
@@ -3835,7 +3843,7 @@
|
||||
"tr": "Meksika pesosu",
|
||||
"tt": "Миксикә писысы",
|
||||
"uk": "мексиканський песо",
|
||||
"vi": "Peso México"
|
||||
"vi": "peso"
|
||||
},
|
||||
"MXV": {
|
||||
"de": "UNIDAD DE INVERSION",
|
||||
@@ -3848,7 +3856,7 @@
|
||||
"ar": "رينغيت ماليزي",
|
||||
"bg": "Малайзийски рингит",
|
||||
"ca": "ringgit",
|
||||
"cs": "Malajsijský ringgit",
|
||||
"cs": "malajsijský ringgit",
|
||||
"cy": "ringgit Maleisia",
|
||||
"de": "Ringgit",
|
||||
"en": "Malaysian ringgit",
|
||||
@@ -4669,7 +4677,7 @@
|
||||
"eo": "rusa rublo",
|
||||
"es": "rublo ruso",
|
||||
"et": "Venemaa rubla",
|
||||
"eu": "Errusiar errublo",
|
||||
"eu": "errusiar errublo",
|
||||
"fi": "Venäjän rupla",
|
||||
"fr": "rouble russe",
|
||||
"ga": "rúbal na Rúise",
|
||||
@@ -4753,6 +4761,7 @@
|
||||
"fi": "Saudi-Arabian rial",
|
||||
"fr": "riyal saoudien",
|
||||
"ga": "riyal na hAraibe Sádaí",
|
||||
"gl": "riyal saudita",
|
||||
"he": "ריאל סעודי",
|
||||
"hr": "Saudijski rijal",
|
||||
"hu": "szaúdi riál",
|
||||
@@ -5415,6 +5424,7 @@
|
||||
"oc": "dinar tunisian",
|
||||
"pl": "Dinar tunezyjski",
|
||||
"pt": "dinar tunisiano",
|
||||
"ro": "dinar tunisian",
|
||||
"ru": "тунисский динар",
|
||||
"sk": "Tuniský dinár",
|
||||
"sl": "tunizijski dinar",
|
||||
@@ -5755,7 +5765,7 @@
|
||||
"en": "US Dollar (Next day)"
|
||||
},
|
||||
"UYI": {
|
||||
"en": "Uruguay peso en Unidades Indexadas"
|
||||
"en": "Uruguay Peso en Unidades Indexadas"
|
||||
},
|
||||
"UYU": {
|
||||
"af": "Uruguaanse Peso",
|
||||
@@ -7026,6 +7036,7 @@
|
||||
"birr etiopia": "ETB",
|
||||
"birr etíope": "ETB",
|
||||
"birr éthiopien": "ETB",
|
||||
"birr éthiopienne": "ETB",
|
||||
"birr habsyah": "ETB",
|
||||
"birr na haetóipe": "ETB",
|
||||
"birre da etiópia": "ETB",
|
||||
@@ -7212,6 +7223,7 @@
|
||||
"ceatsal": "GTQ",
|
||||
"cebelitarık sterlini": "GIP",
|
||||
"cedi": "GHS",
|
||||
"cedi du ghana": "GHS",
|
||||
"cedi ghana": "GHS",
|
||||
"cedi ghanese": "GHS",
|
||||
"centr afrika franko": "XAF",
|
||||
@@ -7279,7 +7291,10 @@
|
||||
"chilensk peso": "CLP",
|
||||
"chilské peso": "CLP",
|
||||
"chinese renminbi": "CNY",
|
||||
"chinese yuan": "CNY",
|
||||
"chinese yuan": [
|
||||
"CNY",
|
||||
"CNH"
|
||||
],
|
||||
"chinesischer renminbi": "CNY",
|
||||
"ci$": "KYD",
|
||||
"cibuti frangı": "DJF",
|
||||
@@ -7289,6 +7304,7 @@
|
||||
"clp": "CLP",
|
||||
"clp$": "CLP",
|
||||
"clps": "CLP",
|
||||
"cnh": "CNH",
|
||||
"cny": "CNY",
|
||||
"co $": "COP",
|
||||
"co$": "COP",
|
||||
@@ -7529,7 +7545,6 @@
|
||||
"203"
|
||||
],
|
||||
"cирійський фунт": "SYP",
|
||||
"d.r.": "EGP",
|
||||
"da": "DZD",
|
||||
"dalase": "GMD",
|
||||
"dalasi": "GMD",
|
||||
@@ -8209,6 +8224,7 @@
|
||||
"HKD",
|
||||
"AUD"
|
||||
],
|
||||
"dollars barbados": "BBD",
|
||||
"dom$": "DOP",
|
||||
"dominga peso": "DOP",
|
||||
"dominicaanse peso": "DOP",
|
||||
@@ -8423,7 +8439,6 @@
|
||||
"dólares canadenses": "CAD",
|
||||
"dólares estadounidenses": "USD",
|
||||
"dólares neozelandeses": "NZD",
|
||||
"dr": "EGP",
|
||||
"dram": "AMD",
|
||||
"dram armean": "AMD",
|
||||
"dram armenia": "AMD",
|
||||
@@ -8451,7 +8466,6 @@
|
||||
"džibučio frankas": "DJF",
|
||||
"džibutski franak": "DJF",
|
||||
"džibutský frank": "DJF",
|
||||
"d£": "EGP",
|
||||
"e": "SZL",
|
||||
"e rupee": "INR",
|
||||
"e.m.u. 6": "XBB",
|
||||
@@ -8510,6 +8524,7 @@
|
||||
"ermenistan dramı": "AMD",
|
||||
"ern": "ERN",
|
||||
"erreal brasildar": "BRL",
|
||||
"errublo": "RUB",
|
||||
"errublo errusiar": "RUB",
|
||||
"errupia indiar": "INR",
|
||||
"errupia indonesiar": "IDR",
|
||||
@@ -10235,6 +10250,7 @@
|
||||
"manat de turkmenistan": "TMT",
|
||||
"manat de turkmenistán": "TMT",
|
||||
"manat del turkmenistan": "TMT",
|
||||
"manat di azerbeidjan": "AZN",
|
||||
"manat do azerbaijão": "AZN",
|
||||
"manat na hasarbaiseáine": "AZN",
|
||||
"manat newydd tyrcmenestan": "TMT",
|
||||
@@ -11253,7 +11269,10 @@
|
||||
"rends": "ZAR",
|
||||
"renmibi": "CNY",
|
||||
"renminb": "CNY",
|
||||
"renminbi": "CNY",
|
||||
"renminbi": [
|
||||
"CNH",
|
||||
"CNY"
|
||||
],
|
||||
"renminbi cinese": "CNY",
|
||||
"renminbi yuan": "CNY",
|
||||
"renminbio": "CNY",
|
||||
@@ -12770,10 +12789,14 @@
|
||||
"yhdistyneiden arabiemiraattien dirhami": "AED",
|
||||
"yhdysvaltain dollari": "USD",
|
||||
"ytl": "TRY",
|
||||
"yuan": "CNY",
|
||||
"yuan": [
|
||||
"CNH",
|
||||
"CNY"
|
||||
],
|
||||
"yuan chinezesc": "CNY",
|
||||
"yuan chino": "CNY",
|
||||
"yuan cinese": "CNY",
|
||||
"yuan offshore": "CNH",
|
||||
"yuan renmimbi": "CNY",
|
||||
"yuan renminbi": "CNY",
|
||||
"yuan rmb": "CNY",
|
||||
@@ -12974,7 +12997,8 @@
|
||||
"£s": "SYP",
|
||||
"¥": [
|
||||
"JPY",
|
||||
"CNY"
|
||||
"CNY",
|
||||
"CNH"
|
||||
],
|
||||
"đài tệ": "TWD",
|
||||
"đại hàn dân quốc weon": "KRW",
|
||||
@@ -15068,6 +15092,7 @@
|
||||
"ޕާކިސްތާނީ ރުޕީ": "PKR",
|
||||
"रू": "NPR",
|
||||
"रू.": "INR",
|
||||
"অস্ট্রেলীয় ডলার": "AUD",
|
||||
"অ্যাঙ্গোলীয় কুয়াঞ্জা": "AOA",
|
||||
"আইসল্যান্ডীয় ক্রোনা": "ISK",
|
||||
"আজারবাইজানি মানাত": "AZN",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -5,7 +5,7 @@
|
||||
],
|
||||
"ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}",
|
||||
"versions": [
|
||||
"145.0",
|
||||
"144.0"
|
||||
"146.0",
|
||||
"145.0"
|
||||
]
|
||||
}
|
||||
@@ -2319,11 +2319,6 @@
|
||||
"symbol": "kJ/(kg K)",
|
||||
"to_si_factor": 1000.0
|
||||
},
|
||||
"Q108888186": {
|
||||
"si_name": "Q11570",
|
||||
"symbol": "eV/c²",
|
||||
"to_si_factor": 1.782661921627898e-36
|
||||
},
|
||||
"Q108888198": {
|
||||
"si_name": "Q11570",
|
||||
"symbol": "keV/c²",
|
||||
@@ -4394,6 +4389,11 @@
|
||||
"symbol": "m²",
|
||||
"to_si_factor": 1.0
|
||||
},
|
||||
"Q25376902": {
|
||||
"si_name": null,
|
||||
"symbol": "Mbp",
|
||||
"to_si_factor": null
|
||||
},
|
||||
"Q25377184": {
|
||||
"si_name": "Q25377184",
|
||||
"symbol": "kg/m²",
|
||||
@@ -5344,11 +5344,6 @@
|
||||
"symbol": "bhp EDR",
|
||||
"to_si_factor": 12.958174
|
||||
},
|
||||
"Q3984193": {
|
||||
"si_name": "Q25269",
|
||||
"symbol": "TeV",
|
||||
"to_si_factor": 1.602176634e-07
|
||||
},
|
||||
"Q39978339": {
|
||||
"si_name": "Q25377184",
|
||||
"symbol": "kg/cm²",
|
||||
|
||||
@@ -2,10 +2,18 @@
|
||||
# pylint: disable=invalid-name
|
||||
"""360Search search engine for searxng"""
|
||||
|
||||
import typing as t
|
||||
|
||||
from urllib.parse import urlencode
|
||||
from lxml import html
|
||||
|
||||
from searx import logger
|
||||
from searx.enginelib import EngineCache
|
||||
from searx.utils import extract_text
|
||||
from searx.network import get as http_get
|
||||
|
||||
if t.TYPE_CHECKING:
|
||||
from searx.extended_types import SXNG_Response
|
||||
|
||||
# Metadata
|
||||
about = {
|
||||
@@ -26,6 +34,35 @@ time_range_dict = {'day': 'd', 'week': 'w', 'month': 'm', 'year': 'y'}
|
||||
|
||||
# Base URL
|
||||
base_url = "https://www.so.com"
|
||||
COOKIE_CACHE_KEY = "cookie"
|
||||
COOKIE_CACHE_EXPIRATION_SECONDS = 3600
|
||||
|
||||
CACHE: EngineCache
|
||||
"""Stores cookies from 360search to avoid re-fetching them on every request."""
|
||||
|
||||
|
||||
def setup(engine_settings: dict[str, t.Any]) -> bool:
|
||||
"""Initialization of the engine.
|
||||
|
||||
- Instantiate a cache for this engine (:py:obj:`CACHE`).
|
||||
|
||||
"""
|
||||
global CACHE # pylint: disable=global-statement
|
||||
# table name needs to be quoted to start with digits, so "cache" has been added to avoid sqlite complaining
|
||||
CACHE = EngineCache("cache" + engine_settings["name"])
|
||||
return True
|
||||
|
||||
|
||||
def get_cookie(url: str) -> str:
|
||||
cookie: str | None = CACHE.get(COOKIE_CACHE_KEY)
|
||||
if cookie:
|
||||
return cookie
|
||||
resp: SXNG_Response = http_get(url, timeout=10, allow_redirects=False)
|
||||
headers = resp.headers
|
||||
cookie = headers['set-cookie'].split(";")[0]
|
||||
CACHE.set(key=COOKIE_CACHE_KEY, value=cookie, expire=COOKIE_CACHE_EXPIRATION_SECONDS)
|
||||
|
||||
return cookie
|
||||
|
||||
|
||||
def request(query, params):
|
||||
@@ -36,8 +73,13 @@ def request(query, params):
|
||||
|
||||
if time_range_dict.get(params['time_range']):
|
||||
query_params["adv_t"] = time_range_dict.get(params['time_range'])
|
||||
|
||||
params["url"] = f"{base_url}/s?{urlencode(query_params)}"
|
||||
# get token by calling the query page
|
||||
logger.debug("querying url: %s", params["url"])
|
||||
cookie = get_cookie(params["url"])
|
||||
logger.debug("obtained cookie: %s", cookie)
|
||||
params['headers'] = {'Cookie': cookie}
|
||||
|
||||
return params
|
||||
|
||||
|
||||
|
||||
@@ -3,9 +3,14 @@
|
||||
Ahmia (Onions)
|
||||
"""
|
||||
|
||||
import typing as t
|
||||
|
||||
from urllib.parse import urlencode, urlparse, parse_qs
|
||||
from lxml.html import fromstring
|
||||
from searx.utils import gen_useragent, ElementType
|
||||
from searx.engines.xpath import extract_url, extract_text, eval_xpath_list, eval_xpath
|
||||
from searx.network import get
|
||||
from searx.enginelib import EngineCache
|
||||
|
||||
# about
|
||||
about = {
|
||||
@@ -23,6 +28,7 @@ paging = True
|
||||
page_size = 10
|
||||
|
||||
# search url
|
||||
base_url = 'http://juhanurmihxlp77nkq76byazcldy2hlmovfu2epvl5ankdibsot4csyd.onion'
|
||||
search_url = 'http://juhanurmihxlp77nkq76byazcldy2hlmovfu2epvl5ankdibsot4csyd.onion/search/?{query}'
|
||||
time_range_support = True
|
||||
time_range_dict = {'day': 1, 'week': 7, 'month': 30}
|
||||
@@ -34,10 +40,42 @@ title_xpath = './h4/a[1]'
|
||||
content_xpath = './/p[1]'
|
||||
correction_xpath = '//*[@id="didYouMean"]//a'
|
||||
number_of_results_xpath = '//*[@id="totalResults"]'
|
||||
name_token_xpath = '//form[@id="searchForm"]/input[@type="hidden"]/@name'
|
||||
value_token_xpath = '//form[@id="searchForm"]/input[@type="hidden"]/@value'
|
||||
|
||||
CACHE: EngineCache
|
||||
|
||||
|
||||
def setup(engine_settings: dict[str, t.Any]) -> bool:
|
||||
global CACHE # pylint: disable=global-statement
|
||||
CACHE = EngineCache(engine_settings["name"])
|
||||
return True
|
||||
|
||||
|
||||
def _get_tokens(dom: ElementType | None = None) -> str:
|
||||
"""
|
||||
The tokens are hidden in a hidden input field.
|
||||
They update every minute, but allow up to 1 hour old tokens to be used.
|
||||
To spend the least amount of requests, it is best to always get the newest
|
||||
tokens from each request. In worst case if it has expired, it would
|
||||
need to do a total of 2 requests (over tor, might be ridiculously slow).
|
||||
"""
|
||||
if dom is None:
|
||||
resp = get(base_url, headers={'User-Agent': gen_useragent()})
|
||||
dom = fromstring(resp.text)
|
||||
name_token = extract_text(dom.xpath(name_token_xpath))
|
||||
value_token = extract_text(dom.xpath(value_token_xpath))
|
||||
return f"{name_token}:{value_token}"
|
||||
|
||||
|
||||
def request(query, params):
|
||||
params['url'] = search_url.format(query=urlencode({'q': query}))
|
||||
token_str: str | None = CACHE.get('ahmia-tokens')
|
||||
if not token_str:
|
||||
token_str = _get_tokens()
|
||||
CACHE.set('ahmia-tokens', token_str, expire=60 * 60)
|
||||
name_token, value_token = token_str.split(":")
|
||||
|
||||
params['url'] = search_url.format(query=urlencode({'q': query, name_token: value_token}))
|
||||
|
||||
if params['time_range'] in time_range_dict:
|
||||
params['url'] += '&' + urlencode({'d': time_range_dict[params['time_range']]})
|
||||
@@ -77,4 +115,8 @@ def response(resp):
|
||||
except: # pylint: disable=bare-except
|
||||
pass
|
||||
|
||||
# Update the tokens to the newest ones
|
||||
token_str = _get_tokens(dom)
|
||||
CACHE.set('ahmia-tokens', token_str, expire=60 * 60)
|
||||
|
||||
return results
|
||||
|
||||
@@ -51,6 +51,7 @@ def request(query, params):
|
||||
}
|
||||
|
||||
params["url"] = f"{base_url}?{urlencode(query_params)}"
|
||||
params["headers"]["Referer"] = "https://www.bilibili.com"
|
||||
params["cookies"] = cookie
|
||||
|
||||
return params
|
||||
|
||||
@@ -106,9 +106,9 @@ class AsyncProxyTransportFixed(AsyncProxyTransport):
|
||||
except ProxyConnectionError as e:
|
||||
raise httpx.ProxyError("ProxyConnectionError: " + str(e.strerror), request=request) from e
|
||||
except ProxyTimeoutError as e:
|
||||
raise httpx.ProxyError("ProxyTimeoutError: " + e.args[0], request=request) from e
|
||||
raise httpx.ProxyError("ProxyTimeoutError: " + str(e.args[0]), request=request) from e
|
||||
except ProxyError as e:
|
||||
raise httpx.ProxyError("ProxyError: " + e.args[0], request=request) from e
|
||||
raise httpx.ProxyError("ProxyError: " + str(e.args[0]), request=request) from e
|
||||
|
||||
|
||||
def get_transport_for_socks_proxy(
|
||||
|
||||
@@ -341,6 +341,7 @@ engines:
|
||||
- name: 360search
|
||||
engine: 360search
|
||||
shortcut: 360so
|
||||
timeout: 10.0
|
||||
disabled: true
|
||||
|
||||
- name: 360search videos
|
||||
@@ -433,6 +434,9 @@ engines:
|
||||
# Requires Tor
|
||||
- name: ahmia
|
||||
engine: ahmia
|
||||
# Might do up to two requests to perform a search.
|
||||
# Since Tor is already slow by nature, the timeout is set very high.
|
||||
timeout: 20.0
|
||||
categories: onions
|
||||
enable_http: true
|
||||
shortcut: ah
|
||||
@@ -477,14 +481,14 @@ engines:
|
||||
shortcut: ask
|
||||
disabled: true
|
||||
|
||||
# - name: azure
|
||||
# engine: azure
|
||||
# shortcut: az
|
||||
# categories: [it, cloud]
|
||||
# azure_tenant_id: "your_tenant_id"
|
||||
# azure_client_id: "your_client_id"
|
||||
# azure_client_secret: "your_client_secret"
|
||||
# disabled: true
|
||||
- name: azure
|
||||
engine: azure
|
||||
shortcut: az
|
||||
categories: [it, cloud]
|
||||
# azure_tenant_id: "your_tenant_id"
|
||||
# azure_client_id: "your_client_id"
|
||||
# azure_client_secret: "your_client_secret"
|
||||
inactive: true
|
||||
|
||||
# tmp suspended: dh key too small
|
||||
# - name: base
|
||||
@@ -646,7 +650,7 @@ engines:
|
||||
# cf_ai_model_assistant: 'prompts_for_assistant_role'
|
||||
# cf_ai_model_system: 'prompts_for_system_role'
|
||||
timeout: 30
|
||||
disabled: true
|
||||
inactive: true
|
||||
|
||||
- name: core.ac.uk
|
||||
engine: core
|
||||
@@ -780,20 +784,20 @@ engines:
|
||||
require_api_key: false
|
||||
results: HTML
|
||||
|
||||
# - name: elasticsearch
|
||||
# shortcut: els
|
||||
# engine: elasticsearch
|
||||
# base_url: http://localhost:9200
|
||||
# username: elastic
|
||||
# password: changeme
|
||||
# index: my-index
|
||||
# enable_http: true
|
||||
# # available options: match, simple_query_string, term, terms, custom
|
||||
# query_type: match
|
||||
# # if query_type is set to custom, provide your query here
|
||||
# # custom_query_json: {"query":{"match_all": {}}}
|
||||
# # show_metadata: false
|
||||
# disabled: true
|
||||
- name: elasticsearch
|
||||
shortcut: els
|
||||
engine: elasticsearch
|
||||
# base_url: http://localhost:9200
|
||||
# username: elastic
|
||||
# password: changeme
|
||||
# index: my-index
|
||||
# enable_http: true
|
||||
# available options: match, simple_query_string, term, terms, custom
|
||||
query_type: match
|
||||
# if query_type is set to custom, provide your query here
|
||||
# custom_query_json: {"query":{"match_all": {}}}
|
||||
# show_metadata: false
|
||||
inactive: true
|
||||
|
||||
- name: wikidata
|
||||
engine: wikidata
|
||||
@@ -871,12 +875,12 @@ engines:
|
||||
require_api_key: false
|
||||
results: HTML
|
||||
|
||||
# - name: ebay
|
||||
# engine: ebay
|
||||
# shortcut: eb
|
||||
# base_url: 'https://www.ebay.com'
|
||||
# disabled: true
|
||||
# timeout: 5
|
||||
- name: ebay
|
||||
engine: ebay
|
||||
shortcut: eb
|
||||
base_url: 'https://www.ebay.com'
|
||||
inactive: true
|
||||
timeout: 5
|
||||
|
||||
- name: 1x
|
||||
engine: www1x
|
||||
@@ -897,12 +901,16 @@ engines:
|
||||
- name: flickr
|
||||
categories: images
|
||||
shortcut: fl
|
||||
engine: flickr_noapi
|
||||
|
||||
- name: flickr_api
|
||||
# You can use the engine using the official stable API, but you need an API
|
||||
# key, see: https://www.flickr.com/services/apps/create/
|
||||
# engine: flickr
|
||||
engine: flickr
|
||||
categories: images
|
||||
shortcut: fla
|
||||
# api_key: 'apikey' # required!
|
||||
# Or you can use the html non-stable engine, activated by default
|
||||
engine: flickr_noapi
|
||||
inactive: true
|
||||
|
||||
- name: free software directory
|
||||
engine: mediawiki
|
||||
@@ -916,13 +924,13 @@ engines:
|
||||
website: https://directory.fsf.org/
|
||||
wikidata_id: Q2470288
|
||||
|
||||
# - name: freesound
|
||||
# engine: freesound
|
||||
# shortcut: fnd
|
||||
# disabled: true
|
||||
# timeout: 15.0
|
||||
# API key required, see: https://freesound.org/docs/api/overview.html
|
||||
# api_key: MyAPIkey
|
||||
- name: freesound
|
||||
engine: freesound
|
||||
shortcut: fnd
|
||||
timeout: 15.0
|
||||
# API key required, see: https://freesound.org/docs/api/overview.html
|
||||
# api_key: MyAPIkey
|
||||
inactive: true
|
||||
|
||||
- name: frinkiac
|
||||
engine: frinkiac
|
||||
@@ -977,7 +985,7 @@ engines:
|
||||
- name: github code
|
||||
engine: github_code
|
||||
shortcut: ghc
|
||||
disabled: true
|
||||
inactive: true
|
||||
ghc_auth:
|
||||
# type is one of:
|
||||
# * none
|
||||
@@ -1264,9 +1272,9 @@ engines:
|
||||
# https://github.com/LibreTranslate/LibreTranslate?tab=readme-ov-file#mirrors
|
||||
base_url:
|
||||
- https://libretranslate.com/translate
|
||||
# api_key: abc123
|
||||
# api_key: ''
|
||||
shortcut: lt
|
||||
disabled: true
|
||||
inactive: true
|
||||
|
||||
- name: lingva
|
||||
engine: lingva
|
||||
@@ -1303,7 +1311,7 @@ engines:
|
||||
shortcut: mar
|
||||
# To get an API key, please follow the instructions at
|
||||
# - https://about.marginalia-search.com/article/api/
|
||||
# api_key: ...
|
||||
# api_key: ''
|
||||
disabled: true
|
||||
inactive: true
|
||||
|
||||
@@ -2084,19 +2092,19 @@ engines:
|
||||
# engine in combination with Jackett opens the possibility to query a lot of
|
||||
# public and private indexers directly from SearXNG. More details at:
|
||||
# https://docs.searxng.org/dev/engines/online/torznab.html
|
||||
#
|
||||
# - name: Torznab EZTV
|
||||
# engine: torznab
|
||||
# shortcut: eztv
|
||||
# base_url: http://localhost:9117/api/v2.0/indexers/eztv/results/torznab
|
||||
# enable_http: true # if using localhost
|
||||
# api_key: xxxxxxxxxxxxxxx
|
||||
# show_magnet_links: true
|
||||
# show_torrent_files: false
|
||||
# # https://github.com/Jackett/Jackett/wiki/Jackett-Categories
|
||||
# torznab_categories: # optional
|
||||
# - 2000
|
||||
# - 5000
|
||||
- name: Torznab EZTV
|
||||
engine: torznab
|
||||
shortcut: eztv
|
||||
# base_url: http://localhost:9117/api/v2.0/indexers/eztv/results/torznab
|
||||
# enable_http: true # if using localhost
|
||||
# api_key: xxxxxxxxxxxxxxx
|
||||
show_magnet_links: true
|
||||
show_torrent_files: false
|
||||
# https://github.com/Jackett/Jackett/wiki/Jackett-Categories
|
||||
torznab_categories: # optional
|
||||
- 2000
|
||||
- 5000
|
||||
inactive: true
|
||||
|
||||
# tmp suspended - too slow, too many errors
|
||||
# - name: urbandictionary
|
||||
@@ -2144,14 +2152,15 @@ engines:
|
||||
|
||||
- name: youtube
|
||||
shortcut: yt
|
||||
engine: youtube_noapi
|
||||
|
||||
- name: youtube_api
|
||||
# You can use the engine using the official stable API, but you need an API
|
||||
# key See: https://console.developers.google.com/project
|
||||
#
|
||||
# engine: youtube_api
|
||||
# api_key: 'apikey' # required!
|
||||
#
|
||||
# Or you can use the html non-stable engine, activated by default
|
||||
engine: youtube_noapi
|
||||
engine: youtube_api
|
||||
# api_key: '' # required!
|
||||
shortcut: yta
|
||||
inactive: true
|
||||
|
||||
- name: dailymotion
|
||||
engine: dailymotion
|
||||
@@ -2304,18 +2313,21 @@ engines:
|
||||
|
||||
- name: wolframalpha
|
||||
shortcut: wa
|
||||
# You can use the engine using the official stable API, but you need an API
|
||||
# key. See: https://products.wolframalpha.com/api/
|
||||
#
|
||||
# engine: wolframalpha_api
|
||||
# api_key: ''
|
||||
#
|
||||
# Or you can use the html non-stable engine, activated by default
|
||||
engine: wolframalpha_noapi
|
||||
timeout: 6.0
|
||||
categories: general
|
||||
disabled: true
|
||||
|
||||
- name: wolframalpha_api
|
||||
# You can use the engine using the official stable API, but you need an API
|
||||
# key. See: https://products.wolframalpha.com/api/
|
||||
engine: wolframalpha_api
|
||||
# api_key: '' # required!
|
||||
shortcut: waa
|
||||
timeout: 6.0
|
||||
categories: general
|
||||
inactive: true
|
||||
|
||||
- name: dictzone
|
||||
engine: dictzone
|
||||
shortcut: dc
|
||||
@@ -2363,14 +2375,14 @@ engines:
|
||||
engine: seznam
|
||||
disabled: true
|
||||
|
||||
# - name: deepl
|
||||
# engine: deepl
|
||||
# shortcut: dpl
|
||||
# # You can use the engine using the official stable API, but you need an API key
|
||||
# # See: https://www.deepl.com/pro-api?cta=header-pro-api
|
||||
# api_key: '' # required!
|
||||
# timeout: 5.0
|
||||
# disabled: true
|
||||
- name: deepl
|
||||
engine: deepl
|
||||
shortcut: dpl
|
||||
# You can use the engine using the official stable API, but you need an API key
|
||||
# See: https://www.deepl.com/pro-api?cta=header-pro-api
|
||||
# api_key: '' # required!
|
||||
timeout: 5.0
|
||||
inactive: true
|
||||
|
||||
- name: mojeek
|
||||
shortcut: mjk
|
||||
@@ -2585,7 +2597,7 @@ engines:
|
||||
engine: wallhaven
|
||||
# api_key: abcdefghijklmnopqrstuvwxyz
|
||||
shortcut: wh
|
||||
disabled: true
|
||||
inactive: true
|
||||
|
||||
# wikimini: online encyclopedia for children
|
||||
# The fulltext and title parameter is necessary for Wikimini because
|
||||
|
||||
File diff suppressed because one or more lines are too long
15
searx/static/themes/simple/chunk/BmuYt_wm.min.js
vendored
Normal file
15
searx/static/themes/simple/chunk/BmuYt_wm.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
15
searx/static/themes/simple/chunk/CGazvOKw.min.js
vendored
15
searx/static/themes/simple/chunk/CGazvOKw.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
File diff suppressed because one or more lines are too long
1
searx/static/themes/simple/chunk/DtYCnLFs.min.js.map
Normal file
1
searx/static/themes/simple/chunk/DtYCnLFs.min.js.map
Normal file
File diff suppressed because one or more lines are too long
@@ -1,2 +1,2 @@
|
||||
import{i as e,n as t,r as n}from"../sxng-core.min.js";import{t as r}from"./13gvpunf.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=t=>{i&&clearTimeout(i);let n=t.querySelector(`.result-images-source img`);if(!n)return;let r=t.querySelector(`.image_thumbnail`);if(r){if(r.src===`${e.theme_static_path}/img/img_load_error.svg`)return;n.onerror=()=>{n.src=r.src},n.src=r.src}let a=n.getAttribute(`data-src`);a&&(i=setTimeout(()=>{n.src=a,n.removeAttribute(`data-src`)},1e3))},o=document.querySelectorAll(`#urls img.image_thumbnail`);for(let t of o)t.complete&&t.naturalWidth===0&&(t.src=`${e.theme_static_path}/img/img_load_error.svg`),t.onerror=()=>{t.src=`${e.theme_static_path}/img/img_load_error.svg`};document.querySelector(`#search_url button#copy_url`)?.style.setProperty(`display`,`block`),n.selectImage=e=>{document.getElementById(`results`)?.classList.add(`image-detail-open`),window.location.hash=`#image-viewer`,n.scrollPageToSelected?.(),e&&a(e)},n.closeDetail=()=>{document.getElementById(`results`)?.classList.remove(`image-detail-open`),window.location.hash===`#image-viewer`&&window.history.back(),n.scrollPageToSelected?.()},t(`click`,`.btn-collapse`,function(){let e=this.getAttribute(`data-btn-text-collapsed`),t=this.getAttribute(`data-btn-text-not-collapsed`),n=this.getAttribute(`data-target`);if(!(n&&e&&t))return;let i=document.querySelector(n);r(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(r(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(r(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`,e=>{e.preventDefault(),n.closeDetail?.()}),t(`click`,`.result-detail-previous`,e=>{e.preventDefault(),n.selectPrevious?.(!1)}),t(`click`,`.result-detail-next`,e=>{e.preventDefault(),n.selectNext?.(!1)}),window.addEventListener(`hashchange`,()=>{window.location.hash!==`#image-viewer`&&n.closeDetail?.()});var s=document.querySelectorAll(`.swipe-horizontal`);for(let e of s)t(`swiped-left`,e,()=>{n.selectNext?.(!1)}),t(`swiped-right`,e,()=>{n.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=Q2SRo2ED.min.js.map
|
||||
import{i as e,n as t,r as n}from"../sxng-core.min.js";import{t as r}from"./13gvpunf.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=t=>{i&&clearTimeout(i);let n=t.querySelector(`.result-images-source img`);if(!n)return;let r=t.querySelector(`.image_thumbnail`);if(r){if(r.src===`${e.theme_static_path}/img/img_load_error.svg`)return;n.onerror=()=>{n.src=r.src},n.src=r.src}let a=n.getAttribute(`data-src`);a&&(i=setTimeout(()=>{n.src=a,n.removeAttribute(`data-src`)},1e3))},o=document.querySelectorAll(`#urls img.image_thumbnail`);for(let t of o)t.complete&&t.naturalWidth===0&&(t.src=`${e.theme_static_path}/img/img_load_error.svg`),t.onerror=()=>{t.src=`${e.theme_static_path}/img/img_load_error.svg`};document.querySelector(`#search_url button#copy_url`)?.style.setProperty(`display`,`block`),n.selectImage=e=>{document.getElementById(`results`)?.classList.add(`image-detail-open`),window.location.hash=`#image-viewer`,n.scrollPageToSelected?.(),e&&a(e)},n.closeDetail=()=>{document.getElementById(`results`)?.classList.remove(`image-detail-open`),window.location.hash===`#image-viewer`&&window.history.back(),n.scrollPageToSelected?.()},t(`click`,`.btn-collapse`,function(){let e=this.getAttribute(`data-btn-text-collapsed`),t=this.getAttribute(`data-btn-text-not-collapsed`),n=this.getAttribute(`data-target`);if(!(n&&e&&t))return;let i=document.querySelector(n);r(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(r(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(r(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`)}}this.dataset.copiedText&&(this.innerText=this.dataset.copiedText)}),t(`click`,`.result-detail-close`,e=>{e.preventDefault(),n.closeDetail?.()}),t(`click`,`.result-detail-previous`,e=>{e.preventDefault(),n.selectPrevious?.(!1)}),t(`click`,`.result-detail-next`,e=>{e.preventDefault(),n.selectNext?.(!1)}),window.addEventListener(`hashchange`,()=>{window.location.hash!==`#image-viewer`&&n.closeDetail?.()});var s=document.querySelectorAll(`.swipe-horizontal`);for(let e of s)t(`swiped-left`,e,()=>{n.selectNext?.(!1)}),t(`swiped-right`,e,()=>{n.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=Dzkb_VTO.min.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -1,2 +1,2 @@
|
||||
import{i as e,n as t,t as n}from"../sxng-core.min.js";import{t as r}from"./13gvpunf.min.js";var i,a=async()=>{if(!i){try{i=await(await n(`GET`,`engine_descriptions.json`)).json()}catch(e){console.error(`Error fetching engineDescriptions:`,e)}if(i)for(let[t,[n,r]]of Object.entries(i)){let i=document.querySelectorAll(`[data-engine-name="${t}"] .engine-description`),a=` (<i>${e.translations?.Source}: ${r}</i>)`;for(let e of i)e.innerHTML=n+a}}},o=(e,t)=>{for(let n of t)n.offsetParent&&(n.checked=!e)},s=document.querySelectorAll(`[data-engine-name]`);for(let e of s)t(`mouseenter`,e,a);var c=document.querySelectorAll(`tbody input[type=checkbox][class~=checkbox-onoff]`),l=document.querySelectorAll(`.enable-all-engines`);for(let e of l)t(`click`,e,()=>o(!0,c));var u=document.querySelectorAll(`.disable-all-engines`);for(let e of u)t(`click`,e,()=>o(!1,c));t(`click`,`#copy-hash`,async function(){let e=this.parentElement?.querySelector(`pre`);if(r(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)});
|
||||
//# sourceMappingURL=CyyZ9XJS.min.js.map
|
||||
import{i as e,n as t,t as n}from"../sxng-core.min.js";import{t as r}from"./13gvpunf.min.js";var i,a=async()=>{if(!i){try{i=await(await n(`GET`,`engine_descriptions.json`)).json()}catch(e){console.error(`Error fetching engineDescriptions:`,e)}if(i)for(let[t,[n,r]]of Object.entries(i)){let i=document.querySelectorAll(`[data-engine-name="${t}"] .engine-description`),a=` (<i>${e.translations?.Source}: ${r}</i>)`;for(let e of i)e.innerHTML=n+a}}},o=(e,t)=>{for(let n of t)n.offsetParent&&(n.checked=!e)},s=document.querySelectorAll(`[data-engine-name]`);for(let e of s)t(`mouseenter`,e,a);var c=document.querySelectorAll(`tbody input[type=checkbox][class~=checkbox-onoff]`),l=document.querySelectorAll(`.enable-all-engines`);for(let e of l)t(`click`,e,()=>o(!0,c));var u=document.querySelectorAll(`.disable-all-engines`);for(let e of u)t(`click`,e,()=>o(!1,c));t(`click`,`#copy-hash`,async function(){let e=this.parentElement?.querySelector(`pre`);if(r(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`)}}this.dataset.copiedText&&(this.innerText=this.dataset.copiedText)});
|
||||
//# sourceMappingURL=u0MAGmsp.min.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"CyyZ9XJS.min.js","names":["engineDescriptions: Record<string, [string, string]> | undefined","engineElements: NodeListOf<HTMLElement>","engineToggles: NodeListOf<HTMLInputElement>","enableAllEngines: NodeListOf<HTMLElement>","disableAllEngines: NodeListOf<HTMLElement>"],"sources":["../../../../../client/simple/src/js/main/preferences.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { http, listen, settings } from \"../toolkit.ts\";\nimport { assertElement } from \"../util/assertElement.ts\";\n\nlet engineDescriptions: Record<string, [string, string]> | undefined;\n\nconst loadEngineDescriptions = async (): Promise<void> => {\n if (engineDescriptions) return;\n try {\n const res = await http(\"GET\", \"engine_descriptions.json\");\n engineDescriptions = await res.json();\n } catch (error) {\n console.error(\"Error fetching engineDescriptions:\", error);\n }\n if (!engineDescriptions) return;\n\n for (const [engine_name, [description, source]] of Object.entries(engineDescriptions)) {\n const elements = document.querySelectorAll<HTMLElement>(`[data-engine-name=\"${engine_name}\"] .engine-description`);\n const sourceText = ` (<i>${settings.translations?.Source}: ${source}</i>)`;\n\n for (const element of elements) {\n element.innerHTML = description + sourceText;\n }\n }\n};\n\nconst toggleEngines = (enable: boolean, engineToggles: NodeListOf<HTMLInputElement>): void => {\n for (const engineToggle of engineToggles) {\n // check if element visible, so that only engines of the current category are modified\n if (engineToggle.offsetParent) {\n engineToggle.checked = !enable;\n }\n }\n};\n\nconst engineElements: NodeListOf<HTMLElement> = document.querySelectorAll<HTMLElement>(\"[data-engine-name]\");\nfor (const engineElement of engineElements) {\n listen(\"mouseenter\", engineElement, loadEngineDescriptions);\n}\n\nconst engineToggles: NodeListOf<HTMLInputElement> = document.querySelectorAll<HTMLInputElement>(\n \"tbody input[type=checkbox][class~=checkbox-onoff]\"\n);\n\nconst enableAllEngines: NodeListOf<HTMLElement> = document.querySelectorAll<HTMLElement>(\".enable-all-engines\");\nfor (const engine of enableAllEngines) {\n listen(\"click\", engine, () => toggleEngines(true, engineToggles));\n}\n\nconst disableAllEngines: NodeListOf<HTMLElement> = document.querySelectorAll<HTMLElement>(\".disable-all-engines\");\nfor (const engine of disableAllEngines) {\n listen(\"click\", engine, () => toggleEngines(false, engineToggles));\n}\n\nlisten(\"click\", \"#copy-hash\", async function (this: HTMLElement) {\n const target = this.parentElement?.querySelector<HTMLPreElement>(\"pre\");\n assertElement(target);\n\n if (window.isSecureContext) {\n await navigator.clipboard.writeText(target.innerText);\n } else {\n const selection = window.getSelection();\n if (selection) {\n const range = document.createRange();\n range.selectNodeContents(target);\n selection.removeAllRanges();\n selection.addRange(range);\n document.execCommand(\"copy\");\n }\n }\n\n const copiedText = this.dataset.copiedText;\n if (copiedText) {\n this.innerText = copiedText;\n }\n});\n"],"mappings":"4FAKA,IAAIA,EAEE,EAAyB,SAA2B,CACpD,MACJ,IAAI,CAEF,EAAqB,MADT,MAAM,EAAK,MAAO,2BAA2B,EAC1B,MAAM,OAC9B,EAAO,CACd,QAAQ,MAAM,qCAAsC,EAAM,CAEvD,KAEL,IAAK,GAAM,CAAC,EAAa,CAAC,EAAa,MAAY,OAAO,QAAQ,EAAmB,CAAE,CACrF,IAAM,EAAW,SAAS,iBAA8B,sBAAsB,EAAY,wBAAwB,CAC5G,EAAa,QAAQ,EAAS,cAAc,OAAO,SAAS,EAAO,OAEzE,IAAK,IAAM,KAAW,EACpB,EAAQ,UAAY,EAAc,KAKlC,GAAiB,EAAiB,IAAsD,CAC5F,IAAK,IAAM,KAAgB,EAErB,EAAa,eACf,EAAa,QAAU,CAAC,IAKxBC,EAA0C,SAAS,iBAA8B,qBAAqB,CAC5G,IAAK,IAAM,KAAiB,EAC1B,EAAO,aAAc,EAAe,EAAuB,CAG7D,IAAMC,EAA8C,SAAS,iBAC3D,oDACD,CAEKC,EAA4C,SAAS,iBAA8B,sBAAsB,CAC/G,IAAK,IAAM,KAAU,EACnB,EAAO,QAAS,MAAc,EAAc,GAAM,EAAc,CAAC,CAGnE,IAAMC,EAA6C,SAAS,iBAA8B,uBAAuB,CACjH,IAAK,IAAM,KAAU,EACnB,EAAO,QAAS,MAAc,EAAc,GAAO,EAAc,CAAC,CAGpE,EAAO,QAAS,aAAc,gBAAmC,CAC/D,IAAM,EAAS,KAAK,eAAe,cAA8B,MAAM,CAGvE,GAFA,EAAc,EAAO,CAEjB,OAAO,gBACT,MAAM,UAAU,UAAU,UAAU,EAAO,UAAU,KAChD,CACL,IAAM,EAAY,OAAO,cAAc,CACvC,GAAI,EAAW,CACb,IAAM,EAAQ,SAAS,aAAa,CACpC,EAAM,mBAAmB,EAAO,CAChC,EAAU,iBAAiB,CAC3B,EAAU,SAAS,EAAM,CACzB,SAAS,YAAY,OAAO,EAIhC,IAAM,EAAa,KAAK,QAAQ,WAC5B,IACF,KAAK,UAAY,IAEnB"}
|
||||
{"version":3,"file":"u0MAGmsp.min.js","names":["engineDescriptions: Record<string, [string, string]> | undefined","engineElements: NodeListOf<HTMLElement>","engineToggles: NodeListOf<HTMLInputElement>","enableAllEngines: NodeListOf<HTMLElement>","disableAllEngines: NodeListOf<HTMLElement>"],"sources":["../../../../../client/simple/src/js/main/preferences.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { http, listen, settings } from \"../toolkit.ts\";\nimport { assertElement } from \"../util/assertElement.ts\";\n\nlet engineDescriptions: Record<string, [string, string]> | undefined;\n\nconst loadEngineDescriptions = async (): Promise<void> => {\n if (engineDescriptions) return;\n try {\n const res = await http(\"GET\", \"engine_descriptions.json\");\n engineDescriptions = await res.json();\n } catch (error) {\n console.error(\"Error fetching engineDescriptions:\", error);\n }\n if (!engineDescriptions) return;\n\n for (const [engine_name, [description, source]] of Object.entries(engineDescriptions)) {\n const elements = document.querySelectorAll<HTMLElement>(`[data-engine-name=\"${engine_name}\"] .engine-description`);\n const sourceText = ` (<i>${settings.translations?.Source}: ${source}</i>)`;\n\n for (const element of elements) {\n element.innerHTML = description + sourceText;\n }\n }\n};\n\nconst toggleEngines = (enable: boolean, engineToggles: NodeListOf<HTMLInputElement>): void => {\n for (const engineToggle of engineToggles) {\n // check if element visible, so that only engines of the current category are modified\n if (engineToggle.offsetParent) {\n engineToggle.checked = !enable;\n }\n }\n};\n\nconst engineElements: NodeListOf<HTMLElement> = document.querySelectorAll<HTMLElement>(\"[data-engine-name]\");\nfor (const engineElement of engineElements) {\n listen(\"mouseenter\", engineElement, loadEngineDescriptions);\n}\n\nconst engineToggles: NodeListOf<HTMLInputElement> = document.querySelectorAll<HTMLInputElement>(\n \"tbody input[type=checkbox][class~=checkbox-onoff]\"\n);\n\nconst enableAllEngines: NodeListOf<HTMLElement> = document.querySelectorAll<HTMLElement>(\".enable-all-engines\");\nfor (const engine of enableAllEngines) {\n listen(\"click\", engine, () => toggleEngines(true, engineToggles));\n}\n\nconst disableAllEngines: NodeListOf<HTMLElement> = document.querySelectorAll<HTMLElement>(\".disable-all-engines\");\nfor (const engine of disableAllEngines) {\n listen(\"click\", engine, () => toggleEngines(false, engineToggles));\n}\n\nlisten(\"click\", \"#copy-hash\", async function (this: HTMLElement) {\n const target = this.parentElement?.querySelector<HTMLPreElement>(\"pre\");\n assertElement(target);\n\n if (window.isSecureContext) {\n await navigator.clipboard.writeText(target.innerText);\n } else {\n const selection = window.getSelection();\n if (selection) {\n const range = document.createRange();\n range.selectNodeContents(target);\n selection.removeAllRanges();\n selection.addRange(range);\n document.execCommand(\"copy\");\n }\n }\n\n if (this.dataset.copiedText) {\n this.innerText = this.dataset.copiedText;\n }\n});\n"],"mappings":"4FAKA,IAAIA,EAEE,EAAyB,SAA2B,CACpD,MACJ,IAAI,CAEF,EAAqB,MADT,MAAM,EAAK,MAAO,2BAA2B,EAC1B,MAAM,OAC9B,EAAO,CACd,QAAQ,MAAM,qCAAsC,EAAM,CAEvD,KAEL,IAAK,GAAM,CAAC,EAAa,CAAC,EAAa,MAAY,OAAO,QAAQ,EAAmB,CAAE,CACrF,IAAM,EAAW,SAAS,iBAA8B,sBAAsB,EAAY,wBAAwB,CAC5G,EAAa,QAAQ,EAAS,cAAc,OAAO,SAAS,EAAO,OAEzE,IAAK,IAAM,KAAW,EACpB,EAAQ,UAAY,EAAc,KAKlC,GAAiB,EAAiB,IAAsD,CAC5F,IAAK,IAAM,KAAgB,EAErB,EAAa,eACf,EAAa,QAAU,CAAC,IAKxBC,EAA0C,SAAS,iBAA8B,qBAAqB,CAC5G,IAAK,IAAM,KAAiB,EAC1B,EAAO,aAAc,EAAe,EAAuB,CAG7D,IAAMC,EAA8C,SAAS,iBAC3D,oDACD,CAEKC,EAA4C,SAAS,iBAA8B,sBAAsB,CAC/G,IAAK,IAAM,KAAU,EACnB,EAAO,QAAS,MAAc,EAAc,GAAM,EAAc,CAAC,CAGnE,IAAMC,EAA6C,SAAS,iBAA8B,uBAAuB,CACjH,IAAK,IAAM,KAAU,EACnB,EAAO,QAAS,MAAc,EAAc,GAAO,EAAc,CAAC,CAGpE,EAAO,QAAS,aAAc,gBAAmC,CAC/D,IAAM,EAAS,KAAK,eAAe,cAA8B,MAAM,CAGvE,GAFA,EAAc,EAAO,CAEjB,OAAO,gBACT,MAAM,UAAU,UAAU,UAAU,EAAO,UAAU,KAChD,CACL,IAAM,EAAY,OAAO,cAAc,CACvC,GAAI,EAAW,CACb,IAAM,EAAQ,SAAS,aAAa,CACpC,EAAM,mBAAmB,EAAO,CAChC,EAAU,iBAAiB,CAC3B,EAAU,SAAS,EAAM,CACzB,SAAS,YAAY,OAAO,EAI5B,KAAK,QAAQ,aACf,KAAK,UAAY,KAAK,QAAQ,aAEhC"}
|
||||
@@ -37,7 +37,7 @@
|
||||
]
|
||||
},
|
||||
"src/js/main/keyboard.ts": {
|
||||
"file": "chunk/Db5v-hxx.min.js",
|
||||
"file": "chunk/DtYCnLFs.min.js",
|
||||
"name": "keyboard",
|
||||
"src": "src/js/main/keyboard.ts",
|
||||
"isDynamicEntry": true,
|
||||
@@ -47,7 +47,7 @@
|
||||
]
|
||||
},
|
||||
"src/js/main/preferences.ts": {
|
||||
"file": "chunk/CyyZ9XJS.min.js",
|
||||
"file": "chunk/u0MAGmsp.min.js",
|
||||
"name": "preferences",
|
||||
"src": "src/js/main/preferences.ts",
|
||||
"isDynamicEntry": true,
|
||||
@@ -57,7 +57,7 @@
|
||||
]
|
||||
},
|
||||
"src/js/main/results.ts": {
|
||||
"file": "chunk/Q2SRo2ED.min.js",
|
||||
"file": "chunk/Dzkb_VTO.min.js",
|
||||
"name": "results",
|
||||
"src": "src/js/main/results.ts",
|
||||
"isDynamicEntry": true,
|
||||
@@ -77,7 +77,7 @@
|
||||
]
|
||||
},
|
||||
"src/js/plugin/Calculator.ts": {
|
||||
"file": "chunk/CGazvOKw.min.js",
|
||||
"file": "chunk/BmuYt_wm.min.js",
|
||||
"name": "calculator",
|
||||
"src": "src/js/plugin/Calculator.ts",
|
||||
"isDynamicEntry": true,
|
||||
|
||||
4
searx/static/themes/simple/sxng-core.min.js
vendored
4
searx/static/themes/simple/sxng-core.min.js
vendored
@@ -1,3 +1,3 @@
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["chunk/DBO1tjH7.min.js","chunk/13gvpunf.min.js","chunk/gZqIRpW1.min.js","chunk/CGazvOKw.min.js","chunk/Db5v-hxx.min.js","chunk/Q2W2fJLA.min.js","chunk/KPZlR0ib.min.js","chunk/Q2SRo2ED.min.js","chunk/CyyZ9XJS.min.js"])))=>i.map(i=>d[i]);
|
||||
var e=class{id;constructor(e){this.id=e,this.invoke()}async invoke(){try{console.debug(`[PLUGIN] ${this.id}: Running...`);let e=await this.run();if(!e)return;console.debug(`[PLUGIN] ${this.id}: Running post-exec...`),await this.post(e)}catch(e){console.error(`[PLUGIN] ${this.id}:`,e)}finally{console.debug(`[PLUGIN] ${this.id}: Done.`)}}};const t={index:`index`,results:`results`,preferences:`preferences`,unknown:`unknown`},n={closeDetail:void 0,scrollPageToSelected:void 0,selectImage:void 0,selectNext:void 0,selectPrevious:void 0};var r=()=>{let e=document.querySelector(`meta[name="endpoint"]`)?.getAttribute(`content`);return e&&e in t?e:t.unknown},i=()=>{let e=document.querySelector(`script[client_settings]`)?.getAttribute(`client_settings`);if(!e)return{};try{return JSON.parse(atob(e))}catch(e){return console.error(`Failed to load client_settings:`,e),{}}};const a=async(e,t,n)=>{let r=new AbortController,i=setTimeout(()=>r.abort(),n?.timeout??3e4),a=await fetch(t,{body:n?.body,method:e,signal:r.signal}).finally(()=>clearTimeout(i));if(!a.ok)throw Error(a.statusText);return a},o=(e,t,n,r)=>{if(typeof t!=`string`){t.addEventListener(e,n,r);return}document.addEventListener(e,e=>{for(let r of e.composedPath())if(r instanceof HTMLElement&&r.matches(t)){try{n.call(r,e)}catch(e){console.error(e)}break}},r)},s=(e,t)=>{for(let e of t?.on??[])if(!e)return;document.readyState===`loading`?o(`DOMContentLoaded`,document,e,{once:!0}):e()},c=r(),l=i(),u=(e,t)=>{d(t)&&e()};var d=e=>{switch(e.on){case`global`:return!0;case`endpoint`:return!!e.where.includes(c)}},f=`modulepreload`,p=function(e){return`/static/themes/simple/`+e},m={};const h=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=p(t,n),t in m)return;m[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:f,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};s(()=>{document.documentElement.classList.remove(`no-js`),document.documentElement.classList.add(`js`),o(`click`,`.close`,function(){this.parentNode?.classList.add(`invisible`)}),o(`click`,`.searxng_init_map`,async function(e){e.preventDefault(),this.classList.remove(`searxng_init_map`),u(()=>h(async()=>{let{default:e}=await import(`./chunk/BAcZkB_P.min.js`);return{default:e}},[]).then(({default:e})=>new e(this)),{on:`endpoint`,where:[t.results]})}),l.plugins?.includes(`infiniteScroll`)&&u(()=>h(async()=>{let{default:e}=await import(`./chunk/DBO1tjH7.min.js`);return{default:e}},__vite__mapDeps([0,1,2])).then(({default:e})=>new e),{on:`endpoint`,where:[t.results]}),l.plugins?.includes(`calculator`)&&u(()=>h(async()=>{let{default:e}=await import(`./chunk/CGazvOKw.min.js`);return{default:e}},__vite__mapDeps([3,2,1])).then(({default:e})=>new e),{on:`endpoint`,where:[t.results]})}),s(()=>{h(()=>import(`./chunk/Db5v-hxx.min.js`),__vite__mapDeps([4,1])),h(()=>import(`./chunk/Q2W2fJLA.min.js`),__vite__mapDeps([5,2,1])),l.autocomplete&&h(()=>import(`./chunk/KPZlR0ib.min.js`),__vite__mapDeps([6,1]))},{on:[c===t.index]}),s(()=>{h(()=>import(`./chunk/Db5v-hxx.min.js`),__vite__mapDeps([4,1])),h(()=>import(`./chunk/Q2SRo2ED.min.js`),__vite__mapDeps([7,1])),h(()=>import(`./chunk/Q2W2fJLA.min.js`),__vite__mapDeps([5,2,1])),l.autocomplete&&h(()=>import(`./chunk/KPZlR0ib.min.js`),__vite__mapDeps([6,1]))},{on:[c===t.results]}),s(()=>{h(()=>import(`./chunk/CyyZ9XJS.min.js`),__vite__mapDeps([8,1]))},{on:[c===t.preferences]});export{e as a,l as i,o as n,n as r,a as t};
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["chunk/DBO1tjH7.min.js","chunk/13gvpunf.min.js","chunk/gZqIRpW1.min.js","chunk/BmuYt_wm.min.js","chunk/DtYCnLFs.min.js","chunk/Q2W2fJLA.min.js","chunk/KPZlR0ib.min.js","chunk/Dzkb_VTO.min.js","chunk/u0MAGmsp.min.js"])))=>i.map(i=>d[i]);
|
||||
var e=class{id;constructor(e){this.id=e,this.invoke()}async invoke(){try{console.debug(`[PLUGIN] ${this.id}: Running...`);let e=await this.run();if(!e)return;console.debug(`[PLUGIN] ${this.id}: Running post-exec...`),await this.post(e)}catch(e){console.error(`[PLUGIN] ${this.id}:`,e)}finally{console.debug(`[PLUGIN] ${this.id}: Done.`)}}};const t={index:`index`,results:`results`,preferences:`preferences`,unknown:`unknown`},n={closeDetail:void 0,scrollPageToSelected:void 0,selectImage:void 0,selectNext:void 0,selectPrevious:void 0};var r=()=>{let e=document.querySelector(`meta[name="endpoint"]`)?.getAttribute(`content`);return e&&e in t?e:t.unknown},i=()=>{let e=document.querySelector(`script[client_settings]`)?.getAttribute(`client_settings`);if(!e)return{};try{return JSON.parse(atob(e))}catch(e){return console.error(`Failed to load client_settings:`,e),{}}};const a=async(e,t,n)=>{let r=new AbortController,i=setTimeout(()=>r.abort(),n?.timeout??3e4),a=await fetch(t,{body:n?.body,method:e,signal:r.signal}).finally(()=>clearTimeout(i));if(!a.ok)throw Error(a.statusText);return a},o=(e,t,n,r)=>{if(typeof t!=`string`){t.addEventListener(e,n,r);return}document.addEventListener(e,e=>{for(let r of e.composedPath())if(r instanceof HTMLElement&&r.matches(t)){try{n.call(r,e)}catch(e){console.error(e)}break}},r)},s=(e,t)=>{for(let e of t?.on??[])if(!e)return;document.readyState===`loading`?o(`DOMContentLoaded`,document,e,{once:!0}):e()},c=r(),l=i(),u=(e,t)=>{d(t)&&e()};var d=e=>{switch(e.on){case`global`:return!0;case`endpoint`:return!!e.where.includes(c)}},f=`modulepreload`,p=function(e){return`/static/themes/simple/`+e},m={};const h=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=p(t,n),t in m)return;m[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:f,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};s(()=>{document.documentElement.classList.remove(`no-js`),document.documentElement.classList.add(`js`),o(`click`,`.close`,function(){this.parentNode?.classList.add(`invisible`)}),o(`click`,`.searxng_init_map`,async function(e){e.preventDefault(),this.classList.remove(`searxng_init_map`),u(()=>h(async()=>{let{default:e}=await import(`./chunk/BAcZkB_P.min.js`);return{default:e}},[]).then(({default:e})=>new e(this)),{on:`endpoint`,where:[t.results]})}),l.plugins?.includes(`infiniteScroll`)&&u(()=>h(async()=>{let{default:e}=await import(`./chunk/DBO1tjH7.min.js`);return{default:e}},__vite__mapDeps([0,1,2])).then(({default:e})=>new e),{on:`endpoint`,where:[t.results]}),l.plugins?.includes(`calculator`)&&u(()=>h(async()=>{let{default:e}=await import(`./chunk/BmuYt_wm.min.js`);return{default:e}},__vite__mapDeps([3,2,1])).then(({default:e})=>new e),{on:`endpoint`,where:[t.results]})}),s(()=>{h(()=>import(`./chunk/DtYCnLFs.min.js`),__vite__mapDeps([4,1])),h(()=>import(`./chunk/Q2W2fJLA.min.js`),__vite__mapDeps([5,2,1])),l.autocomplete&&h(()=>import(`./chunk/KPZlR0ib.min.js`),__vite__mapDeps([6,1]))},{on:[c===t.index]}),s(()=>{h(()=>import(`./chunk/DtYCnLFs.min.js`),__vite__mapDeps([4,1])),h(()=>import(`./chunk/Dzkb_VTO.min.js`),__vite__mapDeps([7,1])),h(()=>import(`./chunk/Q2W2fJLA.min.js`),__vite__mapDeps([5,2,1])),l.autocomplete&&h(()=>import(`./chunk/KPZlR0ib.min.js`),__vite__mapDeps([6,1]))},{on:[c===t.results]}),s(()=>{h(()=>import(`./chunk/u0MAGmsp.min.js`),__vite__mapDeps([8,1]))},{on:[c===t.preferences]});export{e as a,l as i,o as n,n as r,a as t};
|
||||
//# sourceMappingURL=sxng-core.min.js.map
|
||||
Binary file not shown.
@@ -25,13 +25,14 @@
|
||||
# dansmachina <dansmachina@noreply.codeberg.org>, 2025.
|
||||
# return42 <return42@noreply.codeberg.org>, 2025.
|
||||
# eudemo <eudemo@noreply.codeberg.org>, 2025.
|
||||
# dtalens <dtalens@noreply.codeberg.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2025-12-05 10:19+0000\n"
|
||||
"PO-Revision-Date: 2025-12-10 16:10+0000\n"
|
||||
"Last-Translator: eudemo <eudemo@noreply.codeberg.org>\n"
|
||||
"PO-Revision-Date: 2025-12-18 23:21+0000\n"
|
||||
"Last-Translator: dtalens <dtalens@noreply.codeberg.org>\n"
|
||||
"Language-Team: Catalan <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/ca/>\n"
|
||||
"Language: ca\n"
|
||||
@@ -39,7 +40,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.14.3\n"
|
||||
"X-Generator: Weblate 5.15\n"
|
||||
"Generated-By: Babel 2.17.0\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
@@ -375,22 +376,22 @@ msgstr "Molta pluja"
|
||||
#. WEATHER_CONDITIONS
|
||||
#: searx/searxng.msg
|
||||
msgid "Light sleet and thunder"
|
||||
msgstr ""
|
||||
msgstr "Calamarsa lleugera i trons"
|
||||
|
||||
#. WEATHER_CONDITIONS
|
||||
#: searx/searxng.msg
|
||||
msgid "Light sleet showers and thunder"
|
||||
msgstr ""
|
||||
msgstr "Calamarsada lleugera i trons"
|
||||
|
||||
#. WEATHER_CONDITIONS
|
||||
#: searx/searxng.msg
|
||||
msgid "Light sleet showers"
|
||||
msgstr ""
|
||||
msgstr "Calamarsa lleugera"
|
||||
|
||||
#. WEATHER_CONDITIONS
|
||||
#: searx/searxng.msg
|
||||
msgid "Light sleet"
|
||||
msgstr ""
|
||||
msgstr "Calamarsada lleugera"
|
||||
|
||||
#. WEATHER_CONDITIONS
|
||||
#: searx/searxng.msg
|
||||
@@ -400,12 +401,12 @@ msgstr "Calamarsa i trons"
|
||||
#. WEATHER_CONDITIONS
|
||||
#: searx/searxng.msg
|
||||
msgid "Sleet showers and thunder"
|
||||
msgstr ""
|
||||
msgstr "Calamarsada i trons"
|
||||
|
||||
#. WEATHER_CONDITIONS
|
||||
#: searx/searxng.msg
|
||||
msgid "Sleet showers"
|
||||
msgstr ""
|
||||
msgstr "Calamarsada"
|
||||
|
||||
#. WEATHER_CONDITIONS
|
||||
#: searx/searxng.msg
|
||||
@@ -415,7 +416,7 @@ msgstr "Calamarsa"
|
||||
#. WEATHER_CONDITIONS
|
||||
#: searx/searxng.msg
|
||||
msgid "Heavy sleet and thunder"
|
||||
msgstr ""
|
||||
msgstr "Calamarsa intensa i trons"
|
||||
|
||||
#. WEATHER_CONDITIONS
|
||||
#: searx/searxng.msg
|
||||
@@ -1423,6 +1424,8 @@ msgid ""
|
||||
"A URL containing your preferences. This URL can be used to restore your "
|
||||
"settings on a different device."
|
||||
msgstr ""
|
||||
"Un URL que conté les vostres preferències. Aquest URL es pot utilitzar per "
|
||||
"restaurar la configuració en un altre dispositiu."
|
||||
|
||||
#: searx/templates/simple/preferences/cookies.html:46
|
||||
msgid "Copy preferences hash"
|
||||
@@ -1438,7 +1441,7 @@ msgstr "Hash de preferències"
|
||||
|
||||
#: searx/templates/simple/preferences/doi_resolver.html:1
|
||||
msgid "Digital Object Identifier (DOI)"
|
||||
msgstr ""
|
||||
msgstr "Identificador d'objecte digital (DOI)"
|
||||
|
||||
#: searx/templates/simple/preferences/doi_resolver.html:6
|
||||
msgid "Open Access DOI resolver"
|
||||
@@ -1453,6 +1456,8 @@ msgid ""
|
||||
"This tab does not exist in the user interface, but you can search with "
|
||||
"these engines via !bangs."
|
||||
msgstr ""
|
||||
"Aquesta pestanya no existeix a la interfície d'usuari, però podeu cercar amb "
|
||||
"aquests motors mitjançant !bangs."
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:15
|
||||
msgid "Enable all"
|
||||
@@ -1590,7 +1595,7 @@ msgstr "Tema"
|
||||
|
||||
#: searx/templates/simple/preferences/theme.html:14
|
||||
msgid "Change the layout of SearXNG"
|
||||
msgstr ""
|
||||
msgstr "Canvieu el disseny de SearXNG"
|
||||
|
||||
#: searx/templates/simple/preferences/theme.html:19
|
||||
msgid "Theme style"
|
||||
|
||||
Binary file not shown.
@@ -27,20 +27,22 @@
|
||||
# return42 <return42@noreply.codeberg.org>, 2025.
|
||||
# SecularSteve <secularsteve@noreply.codeberg.org>, 2025.
|
||||
# pikzim <pikzim@noreply.codeberg.org>, 2025.
|
||||
# Stzyxh <stzyxh@noreply.codeberg.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2025-12-05 10:19+0000\n"
|
||||
"PO-Revision-Date: 2025-10-22 02:09+0000\n"
|
||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
||||
"PO-Revision-Date: 2025-12-25 09:21+0000\n"
|
||||
"Last-Translator: Stzyxh <stzyxh@noreply.codeberg.org>\n"
|
||||
"Language-Team: German <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/de/>\n"
|
||||
"Language: de\n"
|
||||
"Language-Team: German "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/de/>\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
"Generated-By: Babel 2.17.0\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
@@ -737,11 +739,11 @@ msgstr "Filtern der Onion Links, die in der schwarzen Liste von Ahmia erscheinen
|
||||
|
||||
#: searx/plugins/calculator.py:25
|
||||
msgid "Calculator"
|
||||
msgstr ""
|
||||
msgstr "Rechner"
|
||||
|
||||
#: searx/plugins/calculator.py:26
|
||||
msgid "Parses and solves mathematical expressions."
|
||||
msgstr ""
|
||||
msgstr "Analysiert und löst mathematische Ausdrücke."
|
||||
|
||||
#: searx/plugins/hash_plugin.py:33
|
||||
msgid "Hash plugin"
|
||||
@@ -778,6 +780,8 @@ msgid ""
|
||||
"Automatically loads the next page when scrolling to bottom of the current"
|
||||
" page"
|
||||
msgstr ""
|
||||
"Lädt automatisch die nächste Seite, wenn zum Ende der aktuellen Seite "
|
||||
"gescrollt wird."
|
||||
|
||||
#: searx/plugins/oa_doi_rewrite.py:54
|
||||
msgid "Open Access DOI rewrite"
|
||||
@@ -2456,4 +2460,3 @@ msgstr "Video verstecken"
|
||||
#~ "Automatisches Laden der nächsten Seite "
|
||||
#~ "beim Scrollen zum Ende der aktuellen "
|
||||
#~ "Seite"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -47,20 +47,22 @@
|
||||
# realkendrick_fr <realkendrick_fr@noreply.codeberg.org>, 2025.
|
||||
# Carlos Solís <csolisr@azkware.net>, 2025.
|
||||
# jperegrinm <jperegrinm@noreply.codeberg.org>, 2025.
|
||||
# gallegonovato <gallegonovato@noreply.codeberg.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2025-12-05 10:19+0000\n"
|
||||
"PO-Revision-Date: 2025-10-22 02:09+0000\n"
|
||||
"Last-Translator: jperegrinm <jperegrinm@noreply.codeberg.org>\n"
|
||||
"PO-Revision-Date: 2025-12-24 08:54+0000\n"
|
||||
"Last-Translator: gallegonovato <gallegonovato@noreply.codeberg.org>\n"
|
||||
"Language-Team: Spanish <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/es/>\n"
|
||||
"Language: es\n"
|
||||
"Language-Team: Spanish "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/es/>\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
"Generated-By: Babel 2.17.0\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
@@ -756,11 +758,11 @@ msgstr "Filtrar resultados de onion que aparezcan en la lista negra de Ahmia."
|
||||
|
||||
#: searx/plugins/calculator.py:25
|
||||
msgid "Calculator"
|
||||
msgstr ""
|
||||
msgstr "Calculadora"
|
||||
|
||||
#: searx/plugins/calculator.py:26
|
||||
msgid "Parses and solves mathematical expressions."
|
||||
msgstr ""
|
||||
msgstr "Analiza y resuelve expresiones matemáticas."
|
||||
|
||||
#: searx/plugins/hash_plugin.py:33
|
||||
msgid "Hash plugin"
|
||||
@@ -797,6 +799,8 @@ msgid ""
|
||||
"Automatically loads the next page when scrolling to bottom of the current"
|
||||
" page"
|
||||
msgstr ""
|
||||
"Carga automáticamente la siguiente página al desplazarse a la parte inferior "
|
||||
"de la página actual"
|
||||
|
||||
#: searx/plugins/oa_doi_rewrite.py:54
|
||||
msgid "Open Access DOI rewrite"
|
||||
@@ -2457,4 +2461,3 @@ msgstr "ocultar video"
|
||||
#~ "Cargar automáticamente la siguiente página "
|
||||
#~ "cuando llegues al final de la "
|
||||
#~ "página actual"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -22,7 +22,7 @@ msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2025-12-05 10:19+0000\n"
|
||||
"PO-Revision-Date: 2025-12-10 16:10+0000\n"
|
||||
"PO-Revision-Date: 2025-12-23 13:21+0000\n"
|
||||
"Last-Translator: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>\n"
|
||||
"Language-Team: Estonian <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/et/>\n"
|
||||
@@ -31,7 +31,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.14.3\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
"Generated-By: Babel 2.17.0\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
@@ -1279,23 +1279,23 @@ msgstr "Ajavahemik"
|
||||
|
||||
#: searx/templates/simple/filters/time_range.html:3
|
||||
msgid "Anytime"
|
||||
msgstr "Igal ajal"
|
||||
msgstr "Millal iganes"
|
||||
|
||||
#: searx/templates/simple/filters/time_range.html:6
|
||||
msgid "Last day"
|
||||
msgstr "Viimane päev"
|
||||
msgstr "Viimase päeva jooksul"
|
||||
|
||||
#: searx/templates/simple/filters/time_range.html:9
|
||||
msgid "Last week"
|
||||
msgstr "Viimane nädal"
|
||||
msgstr "Eelmisel nädalal"
|
||||
|
||||
#: searx/templates/simple/filters/time_range.html:12
|
||||
msgid "Last month"
|
||||
msgstr "Viimane kuu"
|
||||
msgstr "Eelmisel kuul"
|
||||
|
||||
#: searx/templates/simple/filters/time_range.html:15
|
||||
msgid "Last year"
|
||||
msgstr "Viimane aasta"
|
||||
msgstr "Eelmisel aastal"
|
||||
|
||||
#: searx/templates/simple/messages/no_cookies.html:3
|
||||
msgid "Information!"
|
||||
|
||||
Binary file not shown.
@@ -43,20 +43,22 @@
|
||||
# return42 <return42@noreply.codeberg.org>, 2025.
|
||||
# LinuxWizard <linuxwizard@noreply.codeberg.org>, 2025.
|
||||
# langckx <langckx@noreply.codeberg.org>, 2025.
|
||||
# MaiuZ <maiuz@noreply.codeberg.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2025-12-05 10:19+0000\n"
|
||||
"PO-Revision-Date: 2025-10-27 14:09+0000\n"
|
||||
"Last-Translator: langckx <langckx@noreply.codeberg.org>\n"
|
||||
"PO-Revision-Date: 2025-12-20 11:21+0000\n"
|
||||
"Last-Translator: MaiuZ <maiuz@noreply.codeberg.org>\n"
|
||||
"Language-Team: Italian <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/it/>\n"
|
||||
"Language: it\n"
|
||||
"Language-Team: Italian "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/it/>\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
"Generated-By: Babel 2.17.0\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
@@ -753,11 +755,11 @@ msgstr "Escludi i risultati onion che appaiono nella blacklist Ahmia."
|
||||
|
||||
#: searx/plugins/calculator.py:25
|
||||
msgid "Calculator"
|
||||
msgstr ""
|
||||
msgstr "Calcolatrice"
|
||||
|
||||
#: searx/plugins/calculator.py:26
|
||||
msgid "Parses and solves mathematical expressions."
|
||||
msgstr ""
|
||||
msgstr "Analizza e risolve espressioni matematiche."
|
||||
|
||||
#: searx/plugins/hash_plugin.py:33
|
||||
msgid "Hash plugin"
|
||||
@@ -792,6 +794,8 @@ msgid ""
|
||||
"Automatically loads the next page when scrolling to bottom of the current"
|
||||
" page"
|
||||
msgstr ""
|
||||
"Carica automaticamente la pagina successiva quando si scorre fino alla fine "
|
||||
"della pagina corrente"
|
||||
|
||||
#: searx/plugins/oa_doi_rewrite.py:54
|
||||
msgid "Open Access DOI rewrite"
|
||||
@@ -2450,4 +2454,3 @@ msgstr "nascondi video"
|
||||
#~ "Carica automaticamente la prossima pagina "
|
||||
#~ "quando scorri alla fine della pagina "
|
||||
#~ "corrente"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -54,7 +54,7 @@ msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2025-12-05 10:19+0000\n"
|
||||
"PO-Revision-Date: 2025-12-06 09:07+0000\n"
|
||||
"PO-Revision-Date: 2025-12-23 13:21+0000\n"
|
||||
"Last-Translator: Outbreak2096 <outbreak2096@noreply.codeberg.org>\n"
|
||||
"Language-Team: Chinese (Simplified Han script) <https://"
|
||||
"translate.codeberg.org/projects/searxng/searxng/zh_Hans/>\n"
|
||||
@@ -63,7 +63,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 5.14.3\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
"Generated-By: Babel 2.17.0\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
@@ -1291,19 +1291,19 @@ msgstr "不限时间"
|
||||
|
||||
#: searx/templates/simple/filters/time_range.html:6
|
||||
msgid "Last day"
|
||||
msgstr "一天内"
|
||||
msgstr "过去一天内"
|
||||
|
||||
#: searx/templates/simple/filters/time_range.html:9
|
||||
msgid "Last week"
|
||||
msgstr "一周内"
|
||||
msgstr "过去一周内"
|
||||
|
||||
#: searx/templates/simple/filters/time_range.html:12
|
||||
msgid "Last month"
|
||||
msgstr "一月内"
|
||||
msgstr "过去一个月内"
|
||||
|
||||
#: searx/templates/simple/filters/time_range.html:15
|
||||
msgid "Last year"
|
||||
msgstr "一年内"
|
||||
msgstr "过去一年内"
|
||||
|
||||
#: searx/templates/simple/messages/no_cookies.html:3
|
||||
msgid "Information!"
|
||||
|
||||
Reference in New Issue
Block a user