MediaWiki

Difference between revisions of "Common.js"

From Shadow Era Wiki

m
m
Line 1: Line 1:
 +
$(document).ready(function() {
 +
    if (mw.config.get('wgPageName') === 'Main_Page1') {
 +
        // Image de fond
 +
        $('body').css({
 +
            'background-image': 'url("https://www.shadowera.com/landing/img/developers.jpg")',
 +
            'background-size': 'cover',
 +
            'background-attachment': 'fixed',
 +
            'background-repeat': 'no-repeat'
 +
        });
 +
 +
        // Ajouter l'overlay
 +
        $('body').append('<div class="overlay"></div>');
 +
        $('.overlay').css({
 +
            'position': 'absolute', // Gardez l'overlay en position absolue
 +
            'top': '55px',  // Positionnement d'origine
 +
            'left': '70px', // Positionnement d'origine
 +
            'width': '90%',  // Largeur d'origine
 +
            'height': '90%', // Hauteur d'origine
 +
            'background-color': 'rgba(24, 29, 35, 0.9)', // Votre couleur semi-transparente
 +
            'z-index': '0', // Garder un z-index pour l'overlay
 +
            'pointer-events': 'none', // Permettre l'interaction avec le contenu
 +
            'border-radius': '10px' // Arrondir les bords de l'overlay
 +
        });
 +
 +
        // Appliquer le style au contenu du wiki
 +
        $('#mw-content-text').css({
 +
            'position': 'relative',
 +
            'color': 'white', // Assurez-vous que le texte soit lisible
 +
            'padding': '20px' // Ajouter du padding pour l'esthétique
 +
        });
 +
 +
        // Assurez-vous que la barre de navigation est au-dessus de l'overlay
 +
        $('.fandom-community-header').css({
 +
            'position': 'relative',
 +
            'z-index': '2' // Assurez-vous que la barre de navigation est au-dessus
 +
        });
 +
 +
        // Appliquer des styles aux titres
 +
        $('.mw-headline').css({
 +
            'color': 'white' // Mettre le texte en blanc
 +
        });
 +
 +
        // Rendre le titre blanc
 +
        $('.title').css({
 +
            'color': 'white' // Titre en blanc
 +
        });
 +
       
 +
        // Rendre le tagline moins blanc
 +
        $('#tagline').css({
 +
            'color': 'rgba(255, 255, 255, 0.5)' // Tagline en blanc avec opacité
 +
        });
 +
    }
 +
});
 +
 
// Charger le module collapsible de MediaWiki pour rendre la section repliable.
 
// Charger le module collapsible de MediaWiki pour rendre la section repliable.
 
mw.loader.load('mediawiki.collapsible');
 
mw.loader.load('mediawiki.collapsible');

Revision as of 06:28, 6 October 2024

$(document).ready(function() {
    if (mw.config.get('wgPageName') === 'Main_Page1') {
        // Image de fond
        $('body').css({
            'background-image': 'url("https://www.shadowera.com/landing/img/developers.jpg")',
            'background-size': 'cover',
            'background-attachment': 'fixed',
            'background-repeat': 'no-repeat'
        });
 
        // Ajouter l'overlay
        $('body').append('<div class="overlay"></div>');
        $('.overlay').css({
            'position': 'absolute', // Gardez l'overlay en position absolue
            'top': '55px',  // Positionnement d'origine
            'left': '70px', // Positionnement d'origine
            'width': '90%',  // Largeur d'origine
            'height': '90%', // Hauteur d'origine
            'background-color': 'rgba(24, 29, 35, 0.9)', // Votre couleur semi-transparente
            'z-index': '0', // Garder un z-index pour l'overlay
            'pointer-events': 'none', // Permettre l'interaction avec le contenu
            'border-radius': '10px' // Arrondir les bords de l'overlay
        });
 
        // Appliquer le style au contenu du wiki
        $('#mw-content-text').css({
            'position': 'relative',
            'color': 'white', // Assurez-vous que le texte soit lisible
            'padding': '20px' // Ajouter du padding pour l'esthétique
        });
 
        // Assurez-vous que la barre de navigation est au-dessus de l'overlay
        $('.fandom-community-header').css({
            'position': 'relative',
            'z-index': '2' // Assurez-vous que la barre de navigation est au-dessus
        });
 
        // Appliquer des styles aux titres
        $('.mw-headline').css({
            'color': 'white' // Mettre le texte en blanc
        });
 
        // Rendre le titre blanc
        $('.title').css({
            'color': 'white' // Titre en blanc
        });
 
        // Rendre le tagline moins blanc
        $('#tagline').css({
            'color': 'rgba(255, 255, 255, 0.5)' // Tagline en blanc avec opacité
        });
    }
});
 
// Charger le module collapsible de MediaWiki pour rendre la section repliable.
mw.loader.load('mediawiki.collapsible');
 
// Cette fonction affiche ou masque un élément avec l'ID spécifié.
// Si l'élément est masqué ('none' ou vide), il est affiché en tant que 'table-row-group'.
// Sinon, il est masqué.
function toggleContent(id) {
    var element = document.getElementById(id);
    if (element.style.display === 'none' || element.style.display === '') {
        element.style.display = 'table-row-group';
    } else {
        element.style.display = 'none';
    }
}
/* ----------------------------- */
/* Custom Script for Highlighting Backticks */
/* Applies custom visual styles to text wrapped in backticks without altering the content */
/* ----------------------------- */
 
// This script waits for the document to fully load, and applies a visual style 
// to any text that is surrounded by backticks (` `), without altering the content.
 
document.addEventListener('DOMContentLoaded', function () {
    // Check if we are in edit mode (to avoid changing the editor content)
    if (document.querySelector('#wpTextbox1') !== null) {
        return; // Do nothing in edit mode
    }
 
    /**
     * Function to highlight text between backticks by wrapping it in a span element
     * @param {string} text
     * @returns {string}
     */
    function highlightBackticks(text) {
        const backtickRegex = /`([^`]+)`/g; // Matches text between backticks
        const styledText = text.replace(backtickRegex, function (match, p1) {
            return '<span class="backtick-style">' + p1 + '</span>';
        });
        return styledText;
    }
 
    /**
     * Traverse all text nodes and apply the backtick highlighting
     * @param {Node} node
     */
    function traverseTextNodes(node) {
        if (node.nodeType === 3 && node.nodeValue.includes('`')) { // Only process text nodes
            const span = document.createElement('span');
            span.innerHTML = highlightBackticks(node.nodeValue);
            node.parentNode.replaceChild(span, node);
        } else if (node.nodeType === 1 && node.childNodes) { // Traverse element children
            node.childNodes.forEach(traverseTextNodes);
        }
    }
 
    // Apply the changes to the entire body
    traverseTextNodes(document.body);
});
 
console.log('Backtick script loaded');