This commit is contained in:
2025-12-05 09:15:15 +01:00
commit 8837c20d66
1752 changed files with 1123339 additions and 0 deletions

85
themes/godocs-2/assets/js/bootstrap.js vendored Normal file
View File

@@ -0,0 +1,85 @@
// bootstrap js components
// import Alert from "js/bootstrap/src/alert";
// import Button from "js/bootstrap/src/button";
// import Carousel from "js/bootstrap/src/carousel";
import Collapse from "js/bootstrap/src/collapse";
import Dropdown from "js/bootstrap/src/dropdown";
import Modal from "js/bootstrap/src/modal";
// import Offcanvas from "js/bootstrap/src/offcanvas";
// import Popover from "js/bootstrap/src/popover";
// import ScrollSpy from "js/bootstrap/src/scrollspy";
import Tab from "js/bootstrap/src/tab";
// import Toast from "js/bootstrap/src/toast";
// import Tooltip from "js/bootstrap/src/tooltip";
(function () {
"use strict";
let searchModalEl = document.getElementById('searchModal');
let modalOpen = false;
let searchModal = new Modal(searchModalEl, {});
const params = new Proxy(new URLSearchParams(window.location.search), {
get: (searchParams, prop) => searchParams.get(prop),
});
if (params.search !== null && params.search !== undefined) {
searchModal.show();
modalOpen = true;
} else {
searchModal.hide();
modalOpen = false;
}
document.addEventListener('keydown', function(e) {
if (e.key === "Escape") {
searchModal.hide();
} else if ((e.ctrlKey || e.metaKey) && e.key === 'k') {
if (!modalOpen) {
e.preventDefault();
searchModal.show();
modalOpen = true;
} else {
e.preventDefault();
searchModal.hide();
modalOpen = false;
}
}
});
searchModalEl.addEventListener('hidden.bs.modal', e => {
modalOpen = false;
});
// document.addEventListener('keydown', function(e) {
// let searchModal = new Modal(document.getElementById('searchModal'), {});
// let modalOpen = document.getElementById('searchModal').classList.contains('show');
// if (e.key === "Escape") {
// searchModal.hide();
// } else if (e.ctrlKey && e.key === 'k' || e.metaKey && e.key === 'k') {
// e.preventDefault();
// if (modalOpen) {
// searchModal.hide();
// } else {
// searchModal.show();
// }
// }
// });
// let toastElList = [].slice.call(document.querySelectorAll(".toast"));
// let toastList = toastElList.map(function (toastEl) {
// return new Toast(toastEl);
// });
// toastList.forEach(function (toast) {
// toast.show();
// });
// let popoverTriggerList = [].slice.call(
// document.querySelectorAll('[data-bs-toggle="popover"]')
// );
// popoverTriggerList.map(function (popoverTriggerEl) {
// return new Popover(popoverTriggerEl);
// });
})();

View File

@@ -0,0 +1,57 @@
'use strict';
// searchToggler keyboard shortcut
const searchToggler = document.querySelectorAll('[data-search-toggler]');
searchToggler.forEach((item) => {
let userAgentData = navigator?.userAgentData?.platform || navigator?.platform || 'unknown';
if (userAgentData == 'macOS') {
item.innerText = `⌘ + K`
} else {
item.innerText = `Ctrl + K`
}
});
// Navbar fixed
window.onscroll = function () {
if (document.body.scrollTop > 50 || document.documentElement.scrollTop > 50) {
document.querySelector(".navigation").classList.add("nav-bg");
} else {
document.querySelector(".navigation").classList.remove("nav-bg");
}
};
// masonry
window.onload = function () {
let masonryWrapper = document.querySelector('.masonry-wrapper');
// if masonryWrapper is not null, then initialize masonry
if (masonryWrapper) {
let masonry = new Masonry(masonryWrapper, {
columnWidth: 1
});
}
};
// copy to clipboard
let blocks = document.querySelectorAll("pre");
blocks.forEach((block) => {
if (navigator.clipboard) {
let button = document.createElement("span");
button.innerText = "copy";
button.className = "copy-to-clipboard";
block.appendChild(button);
button.addEventListener("click", async () => {
await copyCode(block, button);
});
}
});
async function copyCode(block, button) {
let code = block.querySelector("code");
let text = code.innerText;
await navigator.clipboard.writeText(text);
button.innerText = "copied";
setTimeout(() => {
button.innerText = "copy";
}, 700);
}