MediaWiki:Common.js

Материал из Revera Wiki

Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • 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 fetchReverinYear(callback) {
        $.ajax({
            url: "/wiki/index.php?title=Шаблон:Текущий_год_Альдморры&action=raw",
            dataType: "text",
            success: function(data) {
                let reverinYear = parseInt(data.trim(), 10);
                if (!isNaN(reverinYear)) {
                    console.log("Год Альдморры загружен:", reverinYear);
                    callback(reverinYear);
                } else {
                    console.error("Ошибка: невозможно прочитать год.");
                    callback(null);
                }
            },
            error: function() {
                console.error("Ошибка загрузки шаблона.");
                callback(null);
            }
        });
    }

    function fetchGuardian(year, callback) {
        $.ajax({
            url: "/wiki/index.php?title=Шаблон:Хранители_лет&action=raw",
            dataType: "text",
            success: function(data) {
                let lines = data.split("\n");
                let guardian = "Неизвестный Хранитель";

                for (let line of lines) {
                    let parts = line.split("=");
                    if (parts.length === 2) {
                        let storedYear = parseInt(parts[0].trim(), 10);
                        if (storedYear === year) {
                            guardian = parts[1].trim();
                            break;
                        }
                    }
                }

                console.log(`Хранитель для ${year}: ${guardian}`);
                callback(guardian);
            },
            error: function() {
                console.error("Ошибка загрузки Хранителей лет.");
                callback("Неизвестный Хранитель");
            }
        });
    }

    function isReverinLeap(year) {
        return [1, 5, 9, 13, 17, 22, 26, 30].includes(year % 33);
    }

    function getReverinDate(reverinYear, guardian, 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;