1
0
mirror of https://github.com/hacks-guide/Guide_3DS.git synced 2025-08-30 03:39:50 +02:00

first rebase

ALSO: Remove fading on dropdown menu click. This is also a bug on the actual upstream, when the cursor leaves the screen the menu disappears but the fading doesn't.
This causes things like the menu saying it's open when it's not and closed when open. I'm not dealing with an upstream bug.
This commit is contained in:
lifehackerhansol
2021-10-02 02:28:46 -07:00
committed by lifehackerhansol
parent 247e815186
commit 5641d7e51a
163 changed files with 20233 additions and 15180 deletions

View File

@@ -2,49 +2,89 @@
jQuery plugin settings and other scripts
========================================================================== */
$(document).ready(function(){
// external links should open in a new tab
var host = location.hostname
var allLinks = document.querySelectorAll('a')
for (var i = 0; i < allLinks.length; ++i) {
if (allLinks[i].hostname !== host && allLinks[i].hostname !== '') {
allLinks[i].target = '_blank'
}
}
// Sticky footer
var bumpIt = function() {
$('body').css('margin-bottom', $('.page__footer').outerHeight(true));
},
didResize = false;
bumpIt();
$(window).resize(function() {
didResize = true;
});
setInterval(function() {
if(didResize) {
didResize = false;
bumpIt();
}
}, 250);
$(document).ready(function() {
// FitVids init
$("#main").fitVids();
// Sticky sidebar
var stickySideBar = function() {
var show =
$(".author__urls-wrapper button").length === 0
? $(window).width() > 1024 // width should match $large Sass variable
: !$(".author__urls-wrapper button").is(":visible");
if (show) {
// fix
$(".sidebar").addClass("sticky");
} else {
// unfix
$(".sidebar").removeClass("sticky");
}
};
stickySideBar();
$(window).resize(function() {
stickySideBar();
});
// Follow menu drop down
$(".author__urls-wrapper button").on("click", function() {
$(".author__urls").toggleClass("is--visible");
$(".author__urls-wrapper button").toggleClass("open");
});
// init smooth scroll
$("a").smoothScroll({offset: -20});
// Close search screen with Esc key
$(document).keyup(function(e) {
if (e.keyCode === 27) {
if ($(".initial-content").hasClass("is--hidden")) {
$(".search-content").toggleClass("is--visible");
$(".initial-content").toggleClass("is--hidden");
}
}
});
// Search toggle
$(".search__toggle").on("click", function() {
$(".search-content").toggleClass("is--visible");
$(".initial-content").toggleClass("is--hidden");
// set focus on input
setTimeout(function() {
$(".search-content input").focus();
}, 400);
});
// Smooth scrolling
var scroll = new SmoothScroll('a[href*="#"]', {
offset: 20,
speed: 400,
speedAsDuration: true,
durationMax: 500
});
// Gumshoe scroll spy init
if($("nav.toc").length > 0) {
var spy = new Gumshoe("nav.toc a", {
// Active classes
navClass: "active", // applied to the nav list item
contentClass: "active", // applied to the content
// Nested navigation
nested: false, // if true, add classes to parents of active link
nestedClass: "active", // applied to the parent items
// Offset & reflow
offset: 20, // how far from the top of the page to activate a content area
reflow: true, // if true, listen for reflows
// Event support
events: true // if true, emit custom events
});
}
// add lightbox class to all image links
$("a[href$='.jpg'],a[href$='.jpeg'],a[href$='.JPG'],a[href$='.png'],a[href$='.gif']").addClass("image-popup");
$(
"a[href$='.jpg'],a[href$='.jpeg'],a[href$='.JPG'],a[href$='.png'],a[href$='.gif'],a[href$='.webp']"
).addClass("image-popup");
// Magnific-Popup options
$(".image-popup").magnificPopup({
@@ -54,191 +94,43 @@ $(document).ready(function(){
// }
// return true;
// },
type: 'image',
tLoading: 'Loading image #%curr%...',
type: "image",
tLoading: "Loading image #%curr%...",
gallery: {
enabled: true,
navigateByImgClick: true,
preload: [0,1] // Will preload 0 - before current, and 1 after the current image
preload: [0, 1] // Will preload 0 - before current, and 1 after the current image
},
image: {
tError: '<a href="%url%">Image #%curr%</a> could not be loaded.',
tError: '<a href="%url%">Image #%curr%</a> could not be loaded.'
},
removalDelay: 500, // Delay in milliseconds before popup is removed
// Class that is added to body when popup is open.
// make it unique to apply your CSS animations just to this exact popup
mainClass: 'mfp-zoom-in',
mainClass: "mfp-zoom-in",
callbacks: {
beforeOpen: function() {
// just a hack that adds mfp-anim class to markup
this.st.image.markup = this.st.image.markup.replace('mfp-figure', 'mfp-figure mfp-with-anim');
this.st.image.markup = this.st.image.markup.replace(
"mfp-figure",
"mfp-figure mfp-with-anim"
);
}
},
closeOnContentClick: true,
midClick: true // allow opening popup on middle mouse click. Always set it to true if you don't provide alternative source.
});
if((window.location.href.indexOf("/he_IL/") > -1) || (window.location.href.indexOf("/ar_SA/") > -1)) {
$("body").css("direction", "rtl");
$("nav.greedy-nav .nav-selector").css("left", "2.5rem");
$("nav.greedy-nav .lang-selector").css("left", ".2rem");
$("nav.greedy-nav .links-menu").css("right", "auto");
$("nav.greedy-nav .lang-menu").css("right", "auto");
$("nav.greedy-nav .links-menu").css("left", "2.5rem");
$("nav.greedy-nav .lang-menu").css("left", ".2rem");
$("nav.greedy-nav .visible-links").css("padding-right", "0");
$("nav.greedy-nav .visible-links").css("padding-left", "2rem");
$("nav.greedy-nav .visible-links li:first-child a").css("margin-right", "0");
$("nav.greedy-nav .visible-links li:first-child a").css("margin-left", "1rem");
$("nav.greedy-nav .visible-links li:first-child").css("padding-right", "0");
$("nav.greedy-nav .visible-links li:first-child").css("padding-left", "2em");
$("nav.greedy-nav .visible-links li:last-child a").css("margin-right", "1rem");
$("nav.greedy-nav .visible-links li:last-child a").css("margin-left", "0");
// for some reason js cannot directly modify :before and :after pseudo-elements' css
$('nav.greedy-nav').prepend('<style>.hidden-links:before{right:inherit !important;}</style>');
$('nav.greedy-nav').prepend('<style>.hidden-links:before{left:5px !important;}</style>');
$('nav.greedy-nav').prepend('<style>.hidden-links:after{right:inherit !important;}</style>');
$('nav.greedy-nav').prepend('<style>.hidden-links:after{left:5px !important;}</style>');
}
var sidebar_shown = true;
var sidebar_hidden_pages = ["404", "a9lh-to-b9s", "credits", "donations", "dumping-titles-and-game-cartridges",
"f3-(linux)", "f3xswift-(mac)", "faq", "file-extensions-(windows)", "get-started",
"godmode9-usage", "h2testw-(windows)", "region-changing", "site-navigation", "troubleshooting",
"uninstall-cfw","updating-b9s", "why-ads", "privacy-policy", "checking-for-cfw"];
for(var i = 0; i < sidebar_hidden_pages.length; i++){
if(window.location.href.indexOf(sidebar_hidden_pages[i]) > -1) {
sidebar_shown = false;
// Add anchors for headings
$('.page__content').find('h1, h2, h3, h4, h5, h6').each(function() {
var id = $(this).attr('id');
if (id) {
var anchor = document.createElement("a");
anchor.className = 'header-link';
anchor.href = '#' + id;
anchor.innerHTML = '<span class=\"sr-only\">Permalink</span><i class=\"fas fa-link\"></i>';
anchor.title = "Permalink";
$(this).append(anchor);
}
}
var devices = {
"get-started-(old-3ds)": "0",
"get-started-(new-3ds)": "1",
};
// The pages used to lookup which route to display
// parsed from the location of the url
// the value is the key to the displayed route in the device_common/old/new variable below
//
var methods = {
"installing-boot9strap-(2xrsa)": "0",
"installing-boot9strap-(mset)": "1",
"installing-boot9strap-(browser)": "2",
"homebrew-launcher-(soundhax)": "3",
"homebrew-launcher-(alternatives)": "4",
"installing-boot9strap-(soundhax)": "7",
"ntrboot": "8",
"flashing-ntrboot-(3ds-single-system)": "9",
"flashing-ntrboot-(3ds-multi-system)": "10",
"flashing-ntrboot-(dsi)": "11",
"flashing-ntrboot-(nds)": "12",
"installing-boot9strap-(hardmod)": "14",
"seedminer": "15",
"installing-boot9strap-(fredtool)": "17",
"bannerbomb3": "18",
"homebrew-launcher-(pichaxx)": "19",
"installing-boot9strap-(usm)": "20",
"installing-boot9strap-(safecerthax)": "22",
"installing-boot9strap-(ssloth-browser)": "23",
"installing-boot9strap-(pichaxx)": "24",
};
for(var device in devices){
if(window.location.href.indexOf("/" + device) > -1) {
localStorage.setItem('device', devices[device]);
}
}
for(var method in methods){
if(window.location.href.indexOf("/" + method) > -1) {
localStorage.setItem('method', methods[method]);
}
}
var device, method;
if(!((device = localStorage.getItem('device')) && (method = localStorage.getItem('method')))){
sidebar_shown = false;
}
if(sidebar_shown){
var unhide = [];
// Common paths for navigation. Added to both routes.
// These values of the array will be mapped to the _data/navigation/country_lang.yml files
// be sure to add the relevent values to it, in the order of display. (finalizing setup last, for instance)
//
// The key/propery name must match the value associated with the page in the methods variable above
//
var device_common = {
"0": ["installing-boot9strap-(2xrsa)", "finalizing-setup"],
"1": ["installing-boot9strap-(mset)", "finalizing-setup"],
"2": ["installing-boot9strap-(browser)", "finalizing-setup"],
"3": ["homebrew-launcher-(soundhax)", "installing-boot9strap-(homebrew-launcher)", "finalizing-setup"],
"4": ["homebrew-launcher-(alternatives)", "installing-boot9strap-(homebrew-launcher)", "finalizing-setup"],
"7": ["installing-boot9strap-(soundhax)", "finalizing-setup"],
"8": ["ntrboot", "multiple-options", "installing-boot9strap-(ntrboot)", "finalizing-setup"],
"9": ["ntrboot", "flashing-ntrboot-(3ds-single-system)", "installing-boot9strap-(ntrboot)", "finalizing-setup"],
"10": ["ntrboot", "flashing-ntrboot-(3ds-multi-system)", "installing-boot9strap-(ntrboot)", "finalizing-setup"],
"11": ["ntrboot", "flashing-ntrboot-(dsi)", "installing-boot9strap-(ntrboot)", "finalizing-setup"],
"12": ["ntrboot", "flashing-ntrboot-(nds)", "installing-boot9strap-(ntrboot)", "finalizing-setup"],
"14": ["installing-boot9strap-(hardmod)", "finalizing-setup"],
"15": ["seedminer", "multiple-options", "finalizing-setup"],
"17": ["seedminer", "multiple-options", "installing-boot9strap-(fredtool)", "finalizing-setup"],
"18": ["seedminer", "bannerbomb3", "installing-boot9strap-(fredtool)", "finalizing-setup"],
"19": ["seedminer", "homebrew-launcher-(pichaxx)", "installing-boot9strap-(frogtool)", "finalizing-setup"],
"20": ["seedminer", "installing-boot9strap-(usm)", "finalizing-setup"],
"22": ["installing-boot9strap-(safecerthax)", "finalizing-setup"],
"23": ["installing-boot9strap-(ssloth-browser)", "finalizing-setup"],
"24": ["seedminer", "installing-boot9strap-(pichaxx)", "finalizing-setup"],
}
// Can add custom routing if necessary but currently both routes are identical
var device_old = Object.assign({}, device_common,{
// custom routing here
// example: "24": ["seedminer", "multiple-options", "installing-boot9strap-(pichaxx)", "finalizing-setup"],
});
var device_new = Object.assign({}, device_common,{
// custom routing here
});
var route = {
"0": device_old,
"1": device_new,
}
unhide = unhide.concat(route[device][method]);
if(typeof unhide !== 'undefined' && unhide.length > 0){
unhide.push("home");
unhide.push("get-started");
var ol = $('.sidebar.sticky .nav__list .nav__items ol');
for (var i = 0; i < unhide.length; i++){
ol.children('li[data-name="' + unhide[i] + '"]').css("display", "");
}
ol.children().each(function(idx, li) {
var link = $(li).find("a").attr('href');
var name = $(li).attr('data-name');
if((window.location.href.endsWith(link) ||
window.location.href.endsWith(link + "/") ||
window.location.href.indexOf(link + "#") > -1 ||
window.location.href.indexOf(link + ".html") > -1)
&& name !== "home"){
$(li).addClass("active");
return false;
}
$(li).addClass("completed");
});
if (ol.children(".active").css("display") != "none"){
$('.sidebar.sticky').css("display", "inherit");
}
}
}
});
});
});