Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
(function ($) {
    const watchlist = new Set();

    function processWatchlist(data) {
        if (data.watchlistraw) {
            data.watchlistraw.forEach(item => {
                watchlist.add(item.title);
            });
        }
        
        addColorToLinks();
        
        if (data.continue && data.continue.wrcontinue) {
            getData(data.continue.wrcontinue);
        } else {
            console.log("Fin de la récupération des données de la liste de suivi.");
        }
    }

    function getData(wrContinueToken = "") {
        const requestData = {
            action: "query",
            format: "json",
            list: "watchlistraw",
            wrnamespace: "0",
            wrlimit: "max",
        };

        if (wrContinueToken !== "") {
            requestData.wrcontinue = wrContinueToken;
        }

        $.getJSON(mw.util.wikiScript('api'), requestData)
            .done(processWatchlist)
            .fail(function (error) {
                console.error("Erreur lors de la récupération des données de la liste de suivi :", error);
            });
    }

    function addColorToLinks() {
        const $links = $("#mw-content-text a[href^='/wiki/']");

        $links.each(function () {
            const title = $(this).attr('title');
            if (watchlist.has(title)) {
                $(this).addClass('watchlist-link'); // Ajoute une classe au lien
            }
        });
    }

    $(document).ready(function () {
        const conditionsMet = (
            mw.config.get("wgCanonicalNamespace") === "" &&
            mw.config.get('wgAction') === 'view' &&
            !mw.config.get('wgDiffOldId') &&
            mw.config.get('wgArticleId') &&
            !$('html').hasClass('ve-active')
        );

        if (conditionsMet) {
            getData();
        }
    });

})(jQuery);