|
|
Строка 1: |
Строка 1: |
| /* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
| | mw.loader.load("https://revera.world/js/reverin-date.js"); |
| $(document).ready(function() {
| |
| function fetchReverinYear(callback) {
| |
| $.ajax({
| |
| url: "/wiki/index.php?title=Шаблон:Текущий_год_Альдморры&action=raw",
| |
| dataType: "text",
| |
| success: function(data) {
| |
| console.log("Сырые данные из шаблона:", data); // Отладка
| |
| | |
| let reverinYear = parseInt(data.trim(), 10);
| |
| if (!isNaN(reverinYear)) {
| |
| console.log("Год Альдморры загружен:", reverinYear);
| |
| callback(reverinYear);
| |
| } else {
| |
| console.error("Ошибка: невозможно прочитать год. Получено:", data);
| |
| callback(null);
| |
| }
| |
| },
| |
| error: function() {
| |
| console.error("Ошибка загрузки шаблона через raw HTML.");
| |
| callback(null);
| |
| }
| |
| });
| |
| }
| |
| | |
| function getReverinDate(reverinYear) {
| |
| 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; // 18 февраля - 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 weekDays = ["Вивидис", "Аспирис", "Альтис", "Эквилис", "Либерис", "Реновис", "Мистерис"];
| |
| | |
| let dayCount = D_r, monthIndex = 0;
| |
| while (dayCount > monthLengths[monthIndex]) {
| |
| dayCount -= monthLengths[monthIndex];
| |
| monthIndex++;
| |
| }
| |
| | |
| const reverinWeekDay = weekDays[(D_r - 1) % 7];
| |
| return `${reverinWeekDay} \n${dayCount} ${monthNames[monthIndex]}, ${reverinYear}`;
| |
| }
| |
| | |
| 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.innerText = "Загрузка...";
| |
| sidebar.appendChild(dateDiv);
| |
| | |
| fetchReverinYear(function(reverinYear) {
| |
| if (reverinYear) {
| |
| dateDiv.innerText = getReverinDate(reverinYear);
| |
| } else {
| |
| dateDiv.innerText = "Ошибка загрузки даты";
| |
| }
| |
| });
| |
| }
| |
| }
| |
| | |
| insertReverinDate();
| |
| });
| |