Scaffolding from degoog-cli

This commit is contained in:
2026-06-12 14:44:23 +02:00
parent 3e26aded06
commit 255e492afc
5 changed files with 95 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
{
"folders": [
{
"path": "."
}
],
"settings": {}
}
+11
View File
@@ -0,0 +1,11 @@
# gitea-searchengine
A custom search engine for degoog.
## Usage
<!-- explain how to use this extension -->
## Configuration
<!-- list any settings this extension requires -->
+4
View File
@@ -0,0 +1,4 @@
{
"name": "Kenneth van Ewijk",
"url": "https://gitea.furb.it/kennyboy55"
}
+55
View File
@@ -0,0 +1,55 @@
export const name = "gitea-searchengine"
export const type = "web" // web | images | videos | news | custom
export const bangShortcut = "gitea-searchengine"
// settingsSchema example:
// export const settingsSchema = [
// { key: "apiKey", label: "API Key", type: "password", required: true },
// ]
//
// export const configure = (settings) => {
// // called after settings save and on server restart
// }
export const executeSearch = async (
query: string,
page = 1,
timeFilter: string,
context: {
lang: string
fetch: typeof fetch
signProxyUrl: (url: string) => string
buildAcceptLanguage: () => string
dateFrom?: string
dateTo?: string
sentinel?: (
response: { ok: boolean; status: number },
engineName?: string
) => void
engineError?: (
status: string,
message: string,
opts?: { httpStatus?: number; engine?: string }
) => Error
}
) => {
const results: Array<{
title: string
url: string
snippet: string
source: string
thumbnail?: string
}> = []
try {
const doFetch = context?.fetch ?? fetch
const response = await doFetch(`https://api.example.com/search?q=${encodeURIComponent(query)}`)
context?.sentinel?.(response, name)
const data = await response.json()
// TODO: map data into results
return results
} catch (e: any) {
if (e?.name === "SentinelBreach") throw e
return []
}
}
+17
View File
@@ -0,0 +1,17 @@
{
"name": "degoog-extensions",
"description": "degoog-extensions extensions for degoog",
"author": "Kenneth van Ewijk",
"plugins": [],
"themes": [],
"engines": [
{
"path": "engines/gitea-searchengine",
"name": "gitea-searchengine",
"description": "",
"version": "1.0.0"
}
],
"transports": [],
"autocomplete": []
}