MediaWiki:Common.js
Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
- Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
- Internet Explorer / Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
- Opera: Нажмите Ctrl+F5.
$(document).ready(function() {
function getReverinDate(dateDiv) {
const now = new Date();
const startOfYear = new Date(now.getFullYear(), 0, 1);
const dayOfYear = Math.floor((now - startOfYear) / (1000 * 60 * 60 * 24)) + 1;
const D_offset = 49;
const D_r = ((dayOfYear - D_offset + 365) % 365) + 1;
const monthLengths = [30, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 29];
const monthNames = ["Любимца", "Жреца", "Хранителя", "Правителя", "Воителя",
"Хозяина", "Купца", "Творца", "Плута", "Колдуна", "Отшельника", "Наставника"];
const earthToReveraWeekDays = {
"Monday": "Вивидис",
"Tuesday": "Аспирис",
"Wednesday": "Альтис",
"Thursday": "Эквилис",
"Friday": "Либерис",
"Saturday": "Реновис",
"Sunday": "Мистерис"
};
const earthDayOfWeek = new Date().toLocaleDateString("en-US", { weekday: "long" });
const reverinWeekDay = earthToReveraWeekDays[earthDayOfWeek] || "Неизвестный день";
let dayCount = D_r, monthIndex = 0;
while (dayCount > monthLengths[monthIndex]) {
dayCount -= monthLengths[monthIndex];
monthIndex++;
}
const monthName = monthNames[monthIndex];
while (dateDiv.firstChild) {
dateDiv.removeChild(dateDiv.firstChild);
}
let firstRow = document.createElement("div");
firstRow.classList.add("row");
firstRow.appendChild(document.createTextNode(`${reverinWeekDay}, ${dayCount} ${monthName}`));
dateDiv.appendChild(firstRow);
}
function insertReverinDate() {
let sidebar = document.getElementById("p-navigation") || document.getElementById("p-tb");
if (sidebar) {
let dateDiv = document.createElement("div");
dateDiv.id = "reverinDateWidget";
dateDiv.style.padding = "10px";
dateDiv.style.borderTop = "1px solid #ccc";
dateDiv.style.marginTop = "10px";
dateDiv.style.fontWeight = "bold";
dateDiv.style.whiteSpace = "pre-line";
dateDiv.appendChild(document.createTextNode("Загрузка..."));
sidebar.appendChild(dateDiv);
getReverinDate(dateDiv);
}
}
insertReverinDate();
});