Searching via search path + capturing main pages

This includes updating all wiki data to include the origin and destination main page names, as well as destination search path
breezewiki-header-control
Kevin Payravi 2023-12-12 04:03:31 -06:00
parent d07c7f3303
commit 7c64890ec1
17 changed files with 969 additions and 572 deletions

View File

@ -59,28 +59,33 @@ Entries are formatted as follows:
{ {
"origin": "Example Fandom Wiki", "origin": "Example Fandom Wiki",
"origin_base_url": "example.fandom.com", "origin_base_url": "example.fandom.com",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Example_Wiki"
} }
], ],
"destination": "Example Wiki", "destination": "Example Wiki",
"destination_base_url": "example.com", "destination_base_url": "example.com",
"destination_content_path": "/w/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "example.png" "destination_icon": "example.png",
"destination_main_page": "Main_Page",
"destination_search_path": "/index.php"
} }
``` ```
* `id`: A unique identifier for the wiki; should start with the two-letter language code for the wiki, followed by a hypen and the name of the subject/franchise the wiki covers. * `id`: A unique identifier for the wiki; should start with the two-letter language code for the wiki, followed by a hypen and the name of the subject/franchise the wiki covers.
* `label`: A label that is shown to the user, identifying the non-indie wiki(s). This is usually just the name of the wiki, but in the case of multiple wikis, it may be something like "Example Fandom Wikis" (plural). * `label`: A label that is shown to the user, identifying the non-indie wiki(s). This is usually just the name of the wiki, but in the case of multiple wikis, it may be something like "Example Fandom Wikis" (plural).
* `origins`: An array of wikis being redirected to the independent wiki. The vast majority of the time, there is just one wiki here. There may be multiple when a series has multiple wikis that combined into one independent wiki; when a Fandom wiki has archived alternatives; or when there are multiple non-independent wikis across multiple wiki farms. * `origins`: An array of wikis being redirected to the destination wiki. The vast majority of the time, there is just one wiki here. There may be multiple when a series has multiple wikis that combined into one destination wiki; when a Fandom wiki has archived alternatives; or when there are multiple non-independent wikis across multiple wiki farms.
* `origin`: Name of the wiki being redirected. * `origin`: Name of the wiki being redirected.
* `origin_base_url`: Fully qualified domain name of the wiki being redirected. * `origin_base_url`: Fully qualified domain name of the wiki being redirected.
* `origin_content_path`: The URL path prefix for article links on the wiki being redirected. On MediaWiki wikis, it can be found at Special:Version. Fandom wikis are usually `/wiki/`. * `origin_content_path`: The URL path prefix for article links on the wiki being redirected. On MediaWiki wikis, it can be found at Special:Version. Fandom wikis are usually `/wiki/`.
* `origin_main_page`: The title of the main page of the wiki. This is used to direct the user to the corresponding main page on the destination wiki.
* `destination`: Name of the wiki being redirected to. * `destination`: Name of the wiki being redirected to.
* `destination_base_url`: Fully qualified domain name of the wiki being redirected to. * `destination_base_url`: Fully qualified domain name of the wiki being redirected to.
* `destination_content_path`: The URL path prefix for article links on the wiki being redirected to. On MediaWiki wikis, it can be found at Special:Version. It is typically `/wiki/` or `/`.
* `destination_content_prefix`: A prefix that is prepended to article names before performing a search on the destination wiki. This can be useful if a wiki separates its content into different namespaces. For example, if we wanted to redirect a wiki about Super Mario Odyssey to a general Mario wiki that has Odyssey content in a namespace called `Odyssey`, we would set `destination_content_prefix` to `Odyssey:`. * `destination_content_prefix`: A prefix that is prepended to article names before performing a search on the destination wiki. This can be useful if a wiki separates its content into different namespaces. For example, if we wanted to redirect a wiki about Super Mario Odyssey to a general Mario wiki that has Odyssey content in a namespace called `Odyssey`, we would set `destination_content_prefix` to `Odyssey:`.
* `destination_platform`: The wiki's software. The current supported options are `mediawiki` and `doku`. If you are contributing a wiki that is on another wiki platform, please open an issue so that support for the platform can be added. * `destination_platform`: The wiki's software. The current supported options are `mediawiki` and `doku`. If you are contributing a wiki that is on another wiki platform, please open an issue so that support for the platform can be added.
* `destination_icon`: The name of the wiki's favicon in the [favicons](favicons) folder. * `destination_icon`: The name of the wiki's favicon in the [favicons](favicons) folder.
* `destination_main_page`: The title of the main page of the destination wiki.
* `destination_search_path`: The URL path prefix for performing searches. On MediaWiki wikis, it is called the index.php entry point and can be found at Special:Version.
Favicons should be uploaded as 16px PNGs inside the [favicons](favicons) folder. Favicons should be uploaded as 16px PNGs inside the [favicons](favicons) folder.

View File

@ -193,11 +193,12 @@ function updateDeclarativeRule() {
function redirectToBreezeWiki(storage, tabId, url) { function redirectToBreezeWiki(storage, tabId, url) {
function processRedirect(host) { function processRedirect(host) {
// Extract article from URL
const urlFormatted = new URL(url); const urlFormatted = new URL(url);
const subdomain = urlFormatted.hostname.split(".")[0]; const subdomain = urlFormatted.hostname.split(".")[0];
const article = url.split('fandom.com/wiki/')[1].replaceAll('%20', '_'); const article = url.split('fandom.com/wiki/')[1].replaceAll('%20', '_');
// Extract article from URL // Perform redirect
if (article) { if (article) {
chrome.tabs.update(tabId, { url: host + '/' + subdomain + '/wiki/' + article }); chrome.tabs.update(tabId, { url: host + '/' + subdomain + '/wiki/' + article });
} else { } else {
@ -281,12 +282,14 @@ async function getData() {
"origin": origin.origin, "origin": origin.origin,
"origin_base_url": origin.origin_base_url, "origin_base_url": origin.origin_base_url,
"origin_content_path": origin.origin_content_path, "origin_content_path": origin.origin_content_path,
"origin_main_page": origin.origin_main_page,
"destination": site.destination, "destination": site.destination,
"destination_base_url": site.destination_base_url, "destination_base_url": site.destination_base_url,
"destination_content_path": site.destination_content_path, "destination_search_path": site.destination_search_path,
"destination_content_prefix": (site.destination_content_prefix ? site.destination_content_prefix : ""), "destination_content_prefix": (site.destination_content_prefix ? site.destination_content_prefix : ""),
"destination_platform": site.destination_platform, "destination_platform": site.destination_platform,
"destination_icon": site.destination_icon, "destination_icon": site.destination_icon,
"destination_main_page": site.destination_main_page,
"lang": LANGS[i] "lang": LANGS[i]
}) })
}) })
@ -344,20 +347,25 @@ async function main(url, tabId) {
// Get article name from the end of the URL; // Get article name from the end of the URL;
// We can't just take the last part of the path due to subpages; // We can't just take the last part of the path due to subpages;
// Instead, we take everything after the wiki's base URL + content path // Instead, we take everything after the wiki's base URL + content path
let article = url.split(site['origin_base_url'] + site['origin_content_path'])[1]; let article = decodeURIComponent(url.split(site['origin_base_url'] + site['origin_content_path'])[1]);
// Set up URL to redirect user to based on wiki platform // Set up URL to redirect user to based on wiki platform
let newURL = ''; let newURL = '';
if (article) { if (article) {
// Check if main page
if (article === site['origin_main_page']) {
article = site['destination_main_page'];
}
let searchParams = ''; let searchParams = '';
switch (site['destination_platform']) { switch (site['destination_platform']) {
case 'mediawiki': case 'mediawiki':
searchParams = 'Special:Search/' + site['destination_content_prefix'] + article; searchParams = '?search=' + site['destination_content_prefix'] + article;
break; break;
case 'doku': case 'doku':
searchParams = 'start?do=search&q=' + article; searchParams = 'start?do=search&q=' + article;
break; break;
} }
newURL = 'https://' + site["destination_base_url"] + site["destination_content_path"] + searchParams; newURL = 'https://' + site["destination_base_url"] + site["destination_search_path"] + searchParams;
} else { } else {
newURL = 'https://' + site["destination_base_url"]; newURL = 'https://' + site["destination_base_url"];
} }

View File

@ -26,12 +26,14 @@ async function getData() {
"origin": origin.origin, "origin": origin.origin,
"origin_base_url": origin.origin_base_url, "origin_base_url": origin.origin_base_url,
"origin_content_path": origin.origin_content_path, "origin_content_path": origin.origin_content_path,
"origin_main_page": origin.origin_main_page,
"destination": site.destination, "destination": site.destination,
"destination_base_url": site.destination_base_url, "destination_base_url": site.destination_base_url,
"destination_content_path": site.destination_content_path, "destination_search_path": site.destination_search_path,
"destination_content_prefix": (site.destination_content_prefix ? site.destination_content_prefix : ""), "destination_content_prefix": (site.destination_content_prefix ? site.destination_content_prefix : ""),
"destination_platform": site.destination_platform, "destination_platform": site.destination_platform,
"destination_icon": site.destination_icon, "destination_icon": site.destination_icon,
"destination_main_page": site.destination_main_page,
"lang": LANGS[i] "lang": LANGS[i]
}) })
}) })
@ -272,20 +274,25 @@ function main() {
// Get article name from the end of the URL; // Get article name from the end of the URL;
// We can't just take the last part of the path due to subpages; // We can't just take the last part of the path due to subpages;
// Instead, we take everything after the wiki's base URL + content path: // Instead, we take everything after the wiki's base URL + content path:
let article = String(origin).split(site['origin_content_path'])[1]; let article = decodeURIComponent(String(origin).split(site['origin_content_path'])[1]);
// Set up URL to redirect user to based on wiki platform: // Set up URL to redirect user to based on wiki platform:
let newURL = ''; let newURL = '';
if (article) { if (article) {
// Check if main page
if (article === site['origin_main_page']) {
article = site['destination_main_page'];
}
let searchParams = ''; let searchParams = '';
switch (site['destination_platform']) { switch (site['destination_platform']) {
case 'mediawiki': case 'mediawiki':
searchParams = 'Special:Search/' + site['destination_content_prefix'] + article; searchParams = '?search=' + site['destination_content_prefix'] + article;
break; break;
case 'doku': case 'doku':
searchParams = 'start?do=search&q=' + article; searchParams = 'start?do=search&q=' + article;
break; break;
} }
newURL = 'https://' + site["destination_base_url"] + site["destination_content_path"] + searchParams.replaceAll('+', '_'); newURL = 'https://' + site["destination_base_url"] + site["destination_search_path"] + searchParams.replaceAll('+', '_');
// We replace plus signs with underscores since Fextralife uses pluses instead of spaces/underscores // We replace plus signs with underscores since Fextralife uses pluses instead of spaces/underscores
} else { } else {
newURL = 'https://' + site["destination_base_url"]; newURL = 'https://' + site["destination_base_url"];

View File

@ -41,12 +41,14 @@ async function getData() {
"origin_group": site.origins_label, "origin_group": site.origins_label,
"origin_base_url": origin.origin_base_url, "origin_base_url": origin.origin_base_url,
"origin_content_path": origin.origin_content_path, "origin_content_path": origin.origin_content_path,
"origin_main_page": origin.origin_main_page,
"destination": site.destination, "destination": site.destination,
"destination_base_url": site.destination_base_url, "destination_base_url": site.destination_base_url,
"destination_content_path": site.destination_content_path, "destination_search_path": site.destination_search_path,
"destination_content_prefix": (site.destination_content_prefix ? site.destination_content_prefix : ""), "destination_content_prefix": (site.destination_content_prefix ? site.destination_content_prefix : ""),
"destination_platform": site.destination_platform, "destination_platform": site.destination_platform,
"destination_icon": site.destination_icon, "destination_icon": site.destination_icon,
"destination_main_page": site.destination_main_page,
"lang": LANGS[i] "lang": LANGS[i]
}) })
}) })
@ -193,19 +195,24 @@ function escapeRegex(string) {
function replaceSearchResults(searchResultContainer, site, link) { function replaceSearchResults(searchResultContainer, site, link) {
// Build new URL: // Build new URL:
let article = link.split(site['origin_content_path'])[1]?.split('#')[0].split('?')[0].split('&')[0]; let article = decodeURIComponent(link.split(site['origin_content_path'])[1]?.split('#')[0].split('?')[0].split('&')[0]);
let newURL = ''; let newURL = '';
if (article) { if (article) {
// Check if main page
if (article === site['origin_main_page']) {
article = site['destination_main_page'];
}
let searchParams = ''; let searchParams = '';
switch (site['destination_platform']) { switch (site['destination_platform']) {
case 'mediawiki': case 'mediawiki':
searchParams = 'Special:Search/' + site['destination_content_prefix'] + article; searchParams = '?search=' + site['destination_content_prefix'] + article;
break; break;
case 'doku': case 'doku':
searchParams = 'start?do=search&q=' + article; searchParams = 'start?do=search&q=' + article;
break; break;
} }
newURL = 'https://' + site['destination_base_url'] + site['destination_content_path'] + searchParams; newURL = 'https://' + site['destination_base_url'] + site['destination_search_path'] + searchParams;
} else { } else {
newURL = 'https://' + site['destination_base_url']; newURL = 'https://' + site['destination_base_url'];
} }
@ -231,6 +238,11 @@ function replaceSearchResults(searchResultContainer, site, link) {
indieResultFaviconContainer.append(indieResultFavicon); indieResultFaviconContainer.append(indieResultFavicon);
let indieResultText = document.createElement('span'); let indieResultText = document.createElement('span');
if (article) { if (article) {
// Check if main page
if (article === site['origin_main_page']) {
article = site['destination_main_page'];
}
if (site['lang'] === 'EN' && link.match(/fandom\.com\/[a-z]{2}\/wiki\//)) { if (site['lang'] === 'EN' && link.match(/fandom\.com\/[a-z]{2}\/wiki\//)) {
indieResultText.innerText = 'Look up "' + decodeURIComponent(decodeURIComponent(article.replaceAll('_', ' '))) + '" on ' + site.destination + ' (EN)'; indieResultText.innerText = 'Look up "' + decodeURIComponent(decodeURIComponent(article.replaceAll('_', ' '))) + '" on ' + site.destination + ' (EN)';
} else { } else {

View File

@ -6,14 +6,16 @@
{ {
"origin": "Animal Crossing Fandom Wiki", "origin": "Animal Crossing Fandom Wiki",
"origin_base_url": "animalcrossing.fandom.com/de", "origin_base_url": "animalcrossing.fandom.com/de",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Animal_Crossing_Wiki"
} }
], ],
"destination": "Animal Crossing Wiki", "destination": "Animal Crossing Wiki",
"destination_base_url": "animalcrossingwiki.de", "destination_base_url": "animalcrossingwiki.de",
"destination_content_path": "/",
"destination_platform": "doku", "destination_platform": "doku",
"destination_icon": "animalcrossingwiki.png" "destination_icon": "animalcrossingwiki.png",
"destination_main_page": "start",
"destination_search_path": "/"
}, },
{ {
"id": "de-detektivconan", "id": "de-detektivconan",
@ -22,14 +24,16 @@
{ {
"origin": "Detektiv Conan Fandom Wiki", "origin": "Detektiv Conan Fandom Wiki",
"origin_base_url": "detektivconan.fandom.com", "origin_base_url": "detektivconan.fandom.com",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Detektiv_Conan_Wiki"
} }
], ],
"destination": "ConanWiki", "destination": "ConanWiki",
"destination_base_url": "conanwiki.org", "destination_base_url": "conanwiki.org",
"destination_content_path": "/wiki/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "detektivconan.png" "destination_icon": "detektivconan.png",
"destination_main_page": "Hauptseite",
"destination_search_path": "/index.php"
}, },
{ {
"id": "de-minecraft", "id": "de-minecraft",
@ -38,14 +42,16 @@
{ {
"origin": "Minecraft Fandom Wiki", "origin": "Minecraft Fandom Wiki",
"origin_base_url": "minecraft.fandom.com/de", "origin_base_url": "minecraft.fandom.com/de",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Minecraft_Wiki"
} }
], ],
"destination": "Minecraft Wiki", "destination": "Minecraft Wiki",
"destination_base_url": "de.minecraft.wiki", "destination_base_url": "de.minecraft.wiki",
"destination_content_path": "/w/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "minecraftwiki.png" "destination_icon": "minecraftwiki.png",
"destination_main_page": "Minecraft_Wiki",
"destination_search_path": "/"
}, },
{ {
"id": "de-pokemon", "id": "de-pokemon",
@ -54,14 +60,16 @@
{ {
"origin": "Pokémon Fandom Wiki", "origin": "Pokémon Fandom Wiki",
"origin_base_url": "pokemon.fandom.com/de", "origin_base_url": "pokemon.fandom.com/de",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Pokémon_Wiki"
} }
], ],
"destination": "PokéWiki", "destination": "PokéWiki",
"destination_base_url": "www.pokewiki.de", "destination_base_url": "www.pokewiki.de",
"destination_content_path": "/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "pokewiki.png" "destination_icon": "pokewiki.png",
"destination_main_page": "Hauptseite",
"destination_search_path": "/index.php"
}, },
{ {
"id": "de-starcitizen", "id": "de-starcitizen",
@ -70,13 +78,15 @@
{ {
"origin": "Star Citizen Fandom Wiki", "origin": "Star Citizen Fandom Wiki",
"origin_base_url": "starcitizen.fandom.com/de", "origin_base_url": "starcitizen.fandom.com/de",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Star_Citizen_Wiki"
} }
], ],
"destination": "Star Citizen Wiki", "destination": "Star Citizen Wiki",
"destination_base_url": "star-citizen.wiki", "destination_base_url": "star-citizen.wiki",
"destination_content_path": "/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "starcitizen.png" "destination_icon": "starcitizen.png",
"destination_main_page": "Star_Citizen_Wiki",
"destination_search_path": "/index.php"
} }
] ]

File diff suppressed because it is too large Load Diff

View File

@ -6,14 +6,16 @@
{ {
"origin": "amiibopedia Fandom Wiki", "origin": "amiibopedia Fandom Wiki",
"origin_base_url": "amiibo.fandom.com/es", "origin_base_url": "amiibo.fandom.com/es",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Amiibopedia"
} }
], ],
"destination": "amiibopedia", "destination": "amiibopedia",
"destination_base_url": "es.amiibopedia.com", "destination_base_url": "es.amiibopedia.com",
"destination_content_path": "/wiki/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "amiibopedia.png" "destination_icon": "amiibopedia.png",
"destination_main_page": "Amiibopedia",
"destination_search_path": "/index.php"
}, },
{ {
"id": "es-animalcrossing", "id": "es-animalcrossing",
@ -22,14 +24,16 @@
{ {
"origin": "Animal Crossing Fandom Wiki", "origin": "Animal Crossing Fandom Wiki",
"origin_base_url": "animalcrossing.fandom.com/es", "origin_base_url": "animalcrossing.fandom.com/es",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Portada"
} }
], ],
"destination": "Animal Crossing Enciclopedia", "destination": "Animal Crossing Enciclopedia",
"destination_base_url": "animalcrossing.wikidex.net", "destination_base_url": "animalcrossing.wikidex.net",
"destination_content_path": "/wiki/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "animalcrossing.png" "destination_icon": "animalcrossing.png",
"destination_main_page": "Portada",
"destination_search_path": "/index.php"
}, },
{ {
"id": "es-minecraft", "id": "es-minecraft",
@ -38,14 +42,16 @@
{ {
"origin": "Minecraft Fandom Wiki", "origin": "Minecraft Fandom Wiki",
"origin_base_url": "minecraft.fandom.com/es", "origin_base_url": "minecraft.fandom.com/es",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Minecraft_Wiki"
} }
], ],
"destination": "Minecraft Wiki", "destination": "Minecraft Wiki",
"destination_base_url": "es.minecraft.wiki", "destination_base_url": "es.minecraft.wiki",
"destination_content_path": "/w/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "minecraftwiki.png" "destination_icon": "minecraftwiki.png",
"destination_main_page": "Minecraft_Wiki",
"destination_search_path": "/"
}, },
{ {
"id": "es-supersmashbros", "id": "es-supersmashbros",
@ -54,14 +60,16 @@
{ {
"origin": "Smashpedia Fandom Wiki", "origin": "Smashpedia Fandom Wiki",
"origin_base_url": "supersmashbros.fandom.com/es", "origin_base_url": "supersmashbros.fandom.com/es",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Smashpedia"
} }
], ],
"destination": "SmashPedia", "destination": "SmashPedia",
"destination_base_url": "es.ssbwiki.com", "destination_base_url": "es.ssbwiki.com",
"destination_content_path": "/wiki/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "smashpedia.png" "destination_icon": "smashpedia.png",
"destination_main_page": "SmashPedia",
"destination_search_path": "/index.php"
}, },
{ {
"id": "es-touhou", "id": "es-touhou",
@ -70,14 +78,16 @@
{ {
"origin": "Touhou Fandom Wiki", "origin": "Touhou Fandom Wiki",
"origin_base_url": "touhou.fandom.com/es", "origin_base_url": "touhou.fandom.com/es",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Página_principal"
} }
], ],
"destination": "Touhou Wiki", "destination": "Touhou Wiki",
"destination_base_url": "es.touhouwiki.net", "destination_base_url": "es.touhouwiki.net",
"destination_content_path": "/wiki/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "touhouwiki.png" "destination_icon": "touhouwiki.png",
"destination_main_page": "Touhou_Wiki",
"destination_search_path": "/index.php"
}, },
{ {
"id": "es-pokemon", "id": "es-pokemon",
@ -86,13 +96,15 @@
{ {
"origin": "Pokémon Fandom Wiki", "origin": "Pokémon Fandom Wiki",
"origin_base_url": "pokemon.fandom.com/es", "origin_base_url": "pokemon.fandom.com/es",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Pokémon_Wiki"
} }
], ],
"destination": "WikiDex", "destination": "WikiDex",
"destination_base_url": "www.wikidex.net", "destination_base_url": "www.wikidex.net",
"destination_content_path": "/wiki/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "wikidex.png" "destination_icon": "wikidex.png",
"destination_main_page": "WikiDex",
"destination_search_path": "/index.php"
} }
] ]

View File

@ -6,14 +6,16 @@
{ {
"origin": "Dragon Quest Fandom Wiki", "origin": "Dragon Quest Fandom Wiki",
"origin_base_url": "dragonquest.fandom.com/fr", "origin_base_url": "dragonquest.fandom.com/fr",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Wiki_Dragon_Quest"
} }
], ],
"destination": "Wiki Dragon Quest", "destination": "Wiki Dragon Quest",
"destination_base_url": "wikidragonquest.fr", "destination_base_url": "wikidragonquest.fr",
"destination_content_path": "/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "dragonquest.png" "destination_icon": "dragonquest.png",
"destination_main_page": "Wiki_Dragon_Quest",
"destination_search_path": "/index.php"
}, },
{ {
"id": "fr-heroes", "id": "fr-heroes",
@ -22,14 +24,16 @@
{ {
"origin": "Heroes Fandom Wiki", "origin": "Heroes Fandom Wiki",
"origin_base_url": "heroes.fandom.com/fr", "origin_base_url": "heroes.fandom.com/fr",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Accueil_Heroes"
} }
], ],
"destination": "Heroes Wiki", "destination": "Heroes Wiki",
"destination_base_url": "fr.heroeswiki.ddns.net", "destination_base_url": "fr.heroeswiki.ddns.net",
"destination_content_path": "/wiki/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "heroeswiki.png" "destination_icon": "heroeswiki.png",
"destination_main_page": "Accueil",
"destination_search_path": "/index.php"
}, },
{ {
"id": "fr-fallout", "id": "fr-fallout",
@ -38,14 +42,16 @@
{ {
"origin": "L'Abri Fallout Fandom Wiki", "origin": "L'Abri Fallout Fandom Wiki",
"origin_base_url": "fallout.fandom.com/fr", "origin_base_url": "fallout.fandom.com/fr",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Accueil"
} }
], ],
"destination": "Les Archives de Vault-Tec", "destination": "Les Archives de Vault-Tec",
"destination_base_url": "fallout-wiki.com", "destination_base_url": "fallout-wiki.com",
"destination_content_path": "/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "lesarchivesdevaulttec.png" "destination_icon": "lesarchivesdevaulttec.png",
"destination_main_page": "Accueil",
"destination_search_path": "/index.php"
}, },
{ {
"id": "fr-minecraft", "id": "fr-minecraft",
@ -54,19 +60,22 @@
{ {
"origin": "Minecraft Fandom Wiki", "origin": "Minecraft Fandom Wiki",
"origin_base_url": "minecraft.fandom.com/fr", "origin_base_url": "minecraft.fandom.com/fr",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Minecraft_Wiki"
}, },
{ {
"origin": "Minecraft Fandom Wiki (Archived)", "origin": "Minecraft Fandom Wiki (Archived)",
"origin_base_url": "minecraft-archive.fandom.com/fr", "origin_base_url": "minecraft-archive.fandom.com/fr",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Wiki_Minecraft"
} }
], ],
"destination": "Minecraft Wiki", "destination": "Minecraft Wiki",
"destination_base_url": "fr.minecraft.wiki", "destination_base_url": "fr.minecraft.wiki",
"destination_content_path": "/w/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "minecraftwiki.png" "destination_icon": "minecraftwiki.png",
"destination_main_page": "Minecraft_Wiki",
"destination_search_path": "/"
}, },
{ {
"id": "fr-pokemon", "id": "fr-pokemon",
@ -75,13 +84,15 @@
{ {
"origin": "Pokémon Fandom Wiki", "origin": "Pokémon Fandom Wiki",
"origin_base_url": "pokemon.fandom.com/fr", "origin_base_url": "pokemon.fandom.com/fr",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Wiki_Pokémon"
} }
], ],
"destination": "Poképédia", "destination": "Poképédia",
"destination_base_url": "www.pokepedia.fr", "destination_base_url": "www.pokepedia.fr",
"destination_content_path": "/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "pokepedia.png" "destination_icon": "pokepedia.png",
"destination_main_page": "Portail:Accueil",
"destination_search_path": "/index.php"
} }
] ]

View File

@ -6,14 +6,16 @@
{ {
"origin": "Analisi Pokémon Fandom Wiki", "origin": "Analisi Pokémon Fandom Wiki",
"origin_base_url": "pokemon.fandom.com/it", "origin_base_url": "pokemon.fandom.com/it",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Analisi_Pokémon_Wiki"
} }
], ],
"destination": "Pokémon Central Wiki", "destination": "Pokémon Central Wiki",
"destination_base_url": "wiki.pokemoncentral.it", "destination_base_url": "wiki.pokemoncentral.it",
"destination_content_path": "/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "pokemoncentral.png" "destination_icon": "pokemoncentral.png",
"destination_main_page": "Home",
"destination_search_path": "/index.php"
}, },
{ {
"id": "it-mario", "id": "it-mario",
@ -22,14 +24,16 @@
{ {
"origin": "Mario Fandom Wiki", "origin": "Mario Fandom Wiki",
"origin_base_url": "mario.fandom.com/it", "origin_base_url": "mario.fandom.com/it",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Mario_Wiki"
} }
], ],
"destination": "Super Mario Wiki", "destination": "Super Mario Wiki",
"destination_base_url": "www.mariowiki.it", "destination_base_url": "www.mariowiki.it",
"destination_content_path": "/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "supermariowiki.png" "destination_icon": "supermariowiki.png",
"destination_main_page": "Pagina_principale",
"destination_search_path": "/index.php"
}, },
{ {
"id": "it-earthbound", "id": "it-earthbound",
@ -38,13 +42,15 @@
{ {
"origin": "EarthBound Fandom Wiki", "origin": "EarthBound Fandom Wiki",
"origin_base_url": "earthbound.fandom.com/it", "origin_base_url": "earthbound.fandom.com/it",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "EarthBound_Wiki"
} }
], ],
"destination": "WikiBound", "destination": "WikiBound",
"destination_base_url": "it.wikibound.info", "destination_base_url": "it.wikibound.info",
"destination_content_path": "/wiki/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "wikibound.png" "destination_icon": "wikibound.png",
"destination_main_page": "Pagina_principale",
"destination_search_path": "/w/index.php"
} }
] ]

View File

@ -6,13 +6,15 @@
{ {
"origin": "Minecraft Fandom Wiki", "origin": "Minecraft Fandom Wiki",
"origin_base_url": "minecraft.fandom.com/ko", "origin_base_url": "minecraft.fandom.com/ko",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Minecraft_Wiki"
} }
], ],
"destination": "Minecraft Wiki", "destination": "Minecraft Wiki",
"destination_base_url": "ko.minecraft.wiki", "destination_base_url": "ko.minecraft.wiki",
"destination_content_path": "/w/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "minecraftwiki.png" "destination_icon": "minecraftwiki.png",
"destination_main_page": "Minecraft_Wiki",
"destination_search_path": "/"
} }
] ]

View File

@ -6,13 +6,15 @@
{ {
"origin": "Rayman Fandom Wiki", "origin": "Rayman Fandom Wiki",
"origin_base_url": "rayman.fandom.com/pl", "origin_base_url": "rayman.fandom.com/pl",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Rayman_Wiki"
} }
], ],
"destination": "RayWiki", "destination": "RayWiki",
"destination_base_url": "raymanpc.com", "destination_base_url": "raymanpc.com",
"destination_content_path": "/wiki/pl/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "rayman.png" "destination_icon": "rayman.png",
"destination_main_page": "Strona_główna",
"destination_search_path": "/wiki/script-pl/index.php"
} }
] ]

View File

@ -6,14 +6,16 @@
{ {
"origin": "Minecraft Fandom Wiki", "origin": "Minecraft Fandom Wiki",
"origin_base_url": "minecraft.fandom.com/pt", "origin_base_url": "minecraft.fandom.com/pt",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Minecraft_Wiki"
} }
], ],
"destination": "Minecraft Wiki", "destination": "Minecraft Wiki",
"destination_base_url": "pt.minecraft.wiki", "destination_base_url": "pt.minecraft.wiki",
"destination_content_path": "/w/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "minecraftwiki.png" "destination_icon": "minecraftwiki.png",
"destination_main_page": "Minecraft_Wiki",
"destination_search_path": "/"
}, },
{ {
"id": "pt-runescape", "id": "pt-runescape",
@ -22,13 +24,15 @@
{ {
"origin": "Runescape Fandom Wiki", "origin": "Runescape Fandom Wiki",
"origin_base_url": "runescape.fandom.com/pt", "origin_base_url": "runescape.fandom.com/pt",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "RuneScape_Wiki"
} }
], ],
"destination": "Runescape Wiki", "destination": "Runescape Wiki",
"destination_base_url": "pt.runescape.wiki", "destination_base_url": "pt.runescape.wiki",
"destination_content_path": "/w/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "runescape.png" "destination_icon": "runescape.png",
"destination_main_page": "RuneScape_Wiki",
"destination_search_path": "/"
} }
] ]

View File

@ -6,13 +6,15 @@
{ {
"origin": "Minecraft Fandom Wiki", "origin": "Minecraft Fandom Wiki",
"origin_base_url": "minecraft.fandom.com/ru", "origin_base_url": "minecraft.fandom.com/ru",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Заглавная_страница"
} }
], ],
"destination": "Minecraft Wiki", "destination": "Minecraft Wiki",
"destination_base_url": "ru.minecraft.wiki", "destination_base_url": "ru.minecraft.wiki",
"destination_content_path": "/w/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "minecraftwiki.png" "destination_icon": "minecraftwiki.png",
"destination_main_page": "Заглавная_страница",
"destination_search_path": "/"
} }
] ]

View File

@ -6,13 +6,15 @@
{ {
"origin": "Toki Pona Fandom Wiki", "origin": "Toki Pona Fandom Wiki",
"origin_base_url": "tokipona.fandom.com", "origin_base_url": "tokipona.fandom.com",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "lipu_lawa"
} }
], ],
"destination": "Wikipesija", "destination": "Wikipesija",
"destination_base_url": "wikipesija.org", "destination_base_url": "wikipesija.org",
"destination_content_path": "/wiki/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "wikipesija.png" "destination_icon": "wikipesija.png",
"destination_main_page": "lipu_open",
"destination_search_path": "/index.php"
} }
] ]

View File

@ -6,13 +6,15 @@
{ {
"origin": "Minecraft Fandom Wiki", "origin": "Minecraft Fandom Wiki",
"origin_base_url": "minecraft.fandom.com/uk", "origin_base_url": "minecraft.fandom.com/uk",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": оловна_сторінка"
} }
], ],
"destination": "Minecraft Wiki", "destination": "Minecraft Wiki",
"destination_base_url": "uk.minecraft.wiki", "destination_base_url": "uk.minecraft.wiki",
"destination_content_path": "/w/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "minecraftwiki.png" "destination_icon": "minecraftwiki.png",
"destination_main_page": оловна_сторінка",
"destination_search_path": "/"
} }
] ]

View File

@ -6,18 +6,21 @@
{ {
"origin": "Minecraft Fandom Wiki", "origin": "Minecraft Fandom Wiki",
"origin_base_url": "minecraft.fandom.com/zh", "origin_base_url": "minecraft.fandom.com/zh",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Minecraft_Wiki"
}, },
{ {
"origin": "Minecraft Fandom Wiki (Archived)", "origin": "Minecraft Fandom Wiki (Archived)",
"origin_base_url": "minecraft-archive.fandom.com/zh", "origin_base_url": "minecraft-archive.fandom.com/zh",
"origin_content_path": "/wiki/" "origin_content_path": "/wiki/",
"origin_main_page": "Minecraft_Wiki"
} }
], ],
"destination": "Minecraft Wiki", "destination": "Minecraft Wiki",
"destination_base_url": "zh.minecraft.wiki", "destination_base_url": "zh.minecraft.wiki",
"destination_content_path": "/w/",
"destination_platform": "mediawiki", "destination_platform": "mediawiki",
"destination_icon": "minecraftwiki.png" "destination_icon": "minecraftwiki.png",
"destination_main_page": "Minecraft_Wiki",
"destination_search_path": "/"
} }
] ]

View File

@ -200,9 +200,6 @@ async function loadOptions(lang, textFilter = '') {
// Populate individual wiki settings: // Populate individual wiki settings:
const toggleContainer = document.getElementById('toggles'); const toggleContainer = document.getElementById('toggles');
for (var i = 0; i < sites.length; i++) { for (var i = 0; i < sites.length; i++) {
console.log(sites[i].origins_label);
console.log(sites[i].destination);
console.log(textFilter);
var key = sites[i].id; var key = sites[i].id;
// Create radio for disabling action on wiki: // Create radio for disabling action on wiki:
@ -401,7 +398,7 @@ async function loadOptions(lang, textFilter = '') {
// Output wiki info: // Output wiki info:
let wikiInfo = document.createElement('span'); let wikiInfo = document.createElement('span');
let iconLink = document.createElement("a"); let iconLink = document.createElement("a");
iconLink.href = 'https://' + sites[i].destination_base_url + sites[i].destination_content_path; iconLink.href = 'https://' + sites[i].destination_base_url;
iconLink.title = 'Visit ' + sites[i].destination; iconLink.title = 'Visit ' + sites[i].destination;
iconLink.target = '_blank'; iconLink.target = '_blank';
let icon = document.createElement("img"); let icon = document.createElement("img");
@ -416,7 +413,7 @@ async function loadOptions(lang, textFilter = '') {
wikiInfo.appendChild(languageSpan); wikiInfo.appendChild(languageSpan);
} }
let wikiLink = document.createElement("a"); let wikiLink = document.createElement("a");
wikiLink.href = 'https://' + sites[i].destination_base_url + sites[i].destination_content_path; wikiLink.href = 'https://' + sites[i].destination_base_url;
wikiLink.title = 'Visit ' + sites[i].destination; wikiLink.title = 'Visit ' + sites[i].destination;
wikiLink.target = '_blank'; wikiLink.target = '_blank';
wikiLink.appendChild(document.createTextNode(sites[i].destination)); wikiLink.appendChild(document.createTextNode(sites[i].destination));