diff --git a/src/assets/images/github-icon-light.svg b/src/assets/images/github-icon-light.svg new file mode 100644 index 0000000..d5e6491 --- /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 0000000..37fa923 --- /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 624edc9..80c927c 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 5eea75b..29934e3 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 f72e5b6..5d45ce0 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 5b44b39..e375c05 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