diff options
Diffstat (limited to 'src/assets/javascripts')
-rw-r--r-- | src/assets/javascripts/services.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index b91fd233..00e48932 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -425,6 +425,28 @@ function redirect(url, type, initiator, forceRedirection) { if (!url.pathname.startsWith('/book/show/') && url.pathname != '/') return return `${randomInstance}${url.pathname}${url.search}` } + case "wikiless": { + let GETArguments = [] + if (url.search.length > 0) { + let search = url.search.substring(1) //get rid of '?' + let argstrings = search.split("&") + for (let i = 0; i < argstrings.length; i++) { + let args = argstrings[i].split("=") + GETArguments.push([args[0], args[1]]) + } + } + + let link = `${randomInstance}${url.pathname}` + let urlSplit = url.host.split(".") + if (urlSplit[0] != "wikipedia" && urlSplit[0] != "www") { + if (urlSplit[0] == "m") GETArguments.push(["mobileaction", "toggle_view_mobile"]) + else GETArguments.push(["lang", urlSplit[0]]) + if (urlSplit[1] == "m") GETArguments.push(["mobileaction", "toggle_view_mobile"]) + // wikiless doesn't have mobile view support yet + } + for (let i = 0; i < GETArguments.length; i++) link += (i == 0 ? "?" : "&") + GETArguments[i][0] + "=" + GETArguments[i][1] + return link + } default: return `${randomInstance}${url.pathname}${url.search}` } @@ -568,6 +590,7 @@ function initDefaults() { options['ruralDictionary'] = ['https://rd.vern.cc'] options['anonymousOverflow'] = ['https://code.whatever.social'] options['biblioReads'] = ['https://biblioreads.ml'] + options['wikiless'] = ['https://wikiless.org'] browser.storage.local.set({ options }, () => resolve() |