МедияУики:Common.js
Направо към навигацията
Направо към търсенето
Забележка: За да се видят промените, необходимо е след публикуване на страницата, кешът на браузъра да бъде изтрит.
- Firefox / Safari: Задържа се клавиш Shift и се щраква върху Презареждане (Reload) или чрез клавишната комбинация Ctrl-F5 or Ctrl-R (⌘-R за Mac);
- Google Chrome: клавишна комбинация Ctrl-Shift-R (⌘-Shift-R за Mac)
- Internet Explorer / Edge: Задържа се клавиш Ctrl и се щраква върху Refresh или чрез клавишната комбинация Ctrl-F5;
- Opera: Press Ctrl-F5.
/* Този файл съдържа код на Джаваскрипт и се зарежда при всички потребители. */
/* 🌙 Тъмен режим */
console.log("✅ Common.js се зарежда!");
function initDarkModeToggle() {
if (!document.body) {
return setTimeout(initDarkModeToggle, 100); // изчакай, ако body още не е заредено
}
const toggle = document.createElement("button");
toggle.innerText = "🌙";
toggle.id = "darkModeToggle";
toggle.style.position = "fixed";
toggle.style.top = "15px";
toggle.style.right = "15px";
toggle.style.zIndex = "9999";
toggle.style.padding = "8px 12px";
toggle.style.borderRadius = "8px";
toggle.style.border = "none";
toggle.style.background = "#333";
toggle.style.color = "#fff";
toggle.style.cursor = "pointer";
toggle.style.fontSize = "18px";
toggle.title = "Превключи тъмен/светъл режим";
document.body.appendChild(toggle);
const enableDark = () => {
document.documentElement.classList.add("dark-mode");
localStorage.setItem("darkMode", "on");
toggle.innerText = "☀️";
};
const disableDark = () => {
document.documentElement.classList.remove("dark-mode");
localStorage.setItem("darkMode", "off");
toggle.innerText = "🌙";
};
toggle.addEventListener("click", () => {
if (document.documentElement.classList.contains("dark-mode")) {
disableDark();
} else {
enableDark();
}
});
if (localStorage.getItem("darkMode") === "on") {
enableDark();
}
}
initDarkModeToggle();
// Изчакваме зареждането на съдържанието на страницата
document.addEventListener("DOMContentLoaded", function () {
// Избираме всички кодови блокове със синтактично оцветяване
const blocks = document.querySelectorAll(".mw-highlight");
// За всеки намерен блок добавяме бутон
blocks.forEach((block) => {
// Създаваме HTML <button> елемент
const button = document.createElement("button");
button.innerHTML = "📋 Копирай кода";
// Добавяме стилове към бутона
button.style.cssText = `
margin-top: 6px;
background: #238636;
color: #fff;
border: none;
padding: 6px 12px;
border-radius: 6px;
cursor: pointer;
font-size: 13px;
font-family: inherit;
`;
// Когато бутонът бъде натиснат...
button.addEventListener("click", () => {
// Вземаме текста от кодовия блок
const code = block.innerText;
// Копираме текста в клипборда
navigator.clipboard.writeText(code).then(() => {
// Смяна на текста на бутона за обратна връзка
button.innerHTML = "✅ Копирано!";
// След 2 секунди връщаме оригиналния текст
setTimeout(() => (button.innerHTML = "📋 Копирай кода"), 2000);
});
});
// Поставяме бутона под кодовия блок
block.parentNode.insertBefore(button, block.nextSibling);
});
});