From db7657cf7af88085c80ee869cb3a3b0421952780 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Mon, 13 Feb 2023 14:45:24 +0300 Subject: [PATCH] Added GotHub https://github.com/libredirect/libredirect/issues/569 --- src/assets/images/github-icon-light.svg | 1 + src/assets/images/github-icon.svg | 1 + src/assets/javascripts/services.js | 15 +++++++++++++-- src/config.json | 20 ++++++++++++++++++++ src/manifest.json | 1 + src/pages/options/widgets/services.pug | 7 ++++++- 6 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 src/assets/images/github-icon-light.svg create mode 100644 src/assets/images/github-icon.svg diff --git a/src/assets/images/github-icon-light.svg b/src/assets/images/github-icon-light.svg new file mode 100644 index 00000000..d5e64918 --- /dev/null +++ b/src/assets/images/github-icon-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/github-icon.svg b/src/assets/images/github-icon.svg new file mode 100644 index 00000000..37fa923d --- /dev/null +++ b/src/assets/images/github-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index 624edc9f..80c927cf 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -483,7 +483,6 @@ function redirect(url, type, initiator, forceRedirection) { } case "waybackClassic": { const regex = /^\/\web\/[0-9]+\*\/(.*)/.exec(url.pathname) - console.log('regex', regex) if (regex) { const link = regex[1] return `${randomInstance}/cgi-bin/history.cgi?utf8=✓&q=${encodeURIComponent(link)}` @@ -493,6 +492,17 @@ function redirect(url, type, initiator, forceRedirection) { default: { return `${randomInstance}${url.pathname}${url.search}` } + case "gothub": { + const regex = /^\/(.*)\/(.*)\/(?:blob|tree)\/(.*)\/(.*)/.exec(url.pathname) + if (regex) { + const user = regex[1] + const repo = regex[2] + const branch = regex[3] + const path = regex[4] + return `${randomInstance}/file/${user}/${repo}/${branch}/${path}` + } + return `${randomInstance}${url.pathname}${url.search}` + } } } @@ -618,7 +628,8 @@ const defaultInstances = { 'biblioReads': ['https://biblioreads.ml'], 'wikiless': ['https://wikiless.org'], 'suds': ['https://sd.vern.cc'], - 'waybackClassic': ['https://wayback-classic.net'] + 'waybackClassic': ['https://wayback-classic.net'], + 'gothub': ['https://gh.odyssey346.dev'] } function initDefaults() { diff --git a/src/config.json b/src/config.json index 5eea75bf..29934e3c 100644 --- a/src/config.json +++ b/src/config.json @@ -652,6 +652,26 @@ "imageType": "svgMono", "embeddable": false, "url": "https://web.archive.org" + }, + "github": { + "frontends": { + "gothub": { + "name": "Gothub", + "instanceList": true, + "url": "https://codeberg.org/gothub/gothub" + } + }, + "targets": [ + "^https?:\\/{2}github\\.com\\/" + ], + "name": "GitHub", + "options": { + "enabled": false, + "unsupportedUrls": "bypass" + }, + "imageType": "svgMono", + "embeddable": false, + "url": "https://web.archive.org" } } } \ No newline at end of file diff --git a/src/manifest.json b/src/manifest.json index f72e5b6f..5d45ce05 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -26,6 +26,7 @@ "clipboardWrite", "contextMenus", "bookmarks", + "browserSettings", "" ], "browser_action": { diff --git a/src/pages/options/widgets/services.pug b/src/pages/options/widgets/services.pug index 5b44b391..e375c052 100644 --- a/src/pages/options/widgets/services.pug +++ b/src/pages/options/widgets/services.pug @@ -39,7 +39,12 @@ each val, service in services select(id=service+"-unsupportedUrls") option(value="bypass") bypass option(value="block") block - hr + + if (service == 'search') + div(class="some-block option-block") + h4 Set LibRedirect as Default Search Engine + + hr each val, frontend in services[service].frontends if services[service].frontends[frontend].instanceList