MediaWiki:Common.js: Difference between revisions

From stencil.wiki
No edit summary
No edit summary
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */


document.addEventListener("DOMContentLoaded", function () {
document.addEventListener("DOMContentLoaded",function(){const e=document.querySelector("h2 > #Steps");console.log("Steps header:",e);if(e){const t=e.parentElement.nextElementSibling;console.log("Adjacent ordered list:",t);if(t&&t.tagName==="OL"){t.querySelectorAll("li").forEach((e,n)=>{console.log(`Processing <li> ${n+1}:`,e.textContent.trim());const t=e.textContent.trim(),o=t.indexOf(".")+1;if(o>0){const c=t.slice(0,o),l=t.slice(o).trim();e.innerHTML=`<strong>${c}</strong> ${l}`,console.log(`Updated <li> ${n+1}:`,e.innerHTML)}else console.log(`No sentence found in <li> ${n+1}`)})}else console.log("No <ol> found as the adjacent sibling of #Steps")}else console.log("No h2 > #Steps element found")});
    // Select the h2 > #Steps element
    const stepsHeader = document.querySelector("h2 > #Steps");
    console.log("Steps header:", stepsHeader); // Log the stepsHeader to check if it's found
   
    if (stepsHeader) {
        // Find the adjacent ordered list
        const orderedList = stepsHeader.parentElement.nextElementSibling;
        console.log("Adjacent ordered list:", orderedList); // Log the ordered list to ensure it's the right element
 
        // Ensure the next sibling is an <ol>
        if (orderedList && orderedList.tagName === "OL") {
            // Loop through each <li> in the <ol>
            orderedList.querySelectorAll("li").forEach((listItem, index) => {
                console.log(`Processing <li> ${index + 1}:`, listItem.textContent.trim()); // Log each <li> before modification
               
                // Split the text content into the first sentence and the rest
                const text = listItem.textContent.trim();
                const firstSentenceEnd = text.indexOf(".") + 1; // Find the end of the first sentence
 
                if (firstSentenceEnd > 0) {
                    // Extract the first sentence and the remaining content
                    const firstSentence = text.slice(0, firstSentenceEnd);
                    const restOfText = text.slice(firstSentenceEnd).trim();
 
                    // Replace the <li> content with the formatted version
                    listItem.innerHTML = `<strong>${firstSentence}</strong> ${restOfText}`;
                    console.log(`Updated <li> ${index + 1}:`, listItem.innerHTML); // Log the updated <li>
                } else {
                    console.log(`No sentence found in <li> ${index + 1}`); // Log if no period is found
                }
            });
        } else {
            console.log("No <ol> found as the adjacent sibling of #Steps"); // Log if no <ol> is found
        }
    } else {
        console.log("No h2 > #Steps element found"); // Log if the stepsHeader is not found
    }
});

Revision as of 01:50, 14 January 2025

/* Any JavaScript here will be loaded for all users on every page load. */

document.addEventListener("DOMContentLoaded",function(){const e=document.querySelector("h2 > #Steps");console.log("Steps header:",e);if(e){const t=e.parentElement.nextElementSibling;console.log("Adjacent ordered list:",t);if(t&&t.tagName==="OL"){t.querySelectorAll("li").forEach((e,n)=>{console.log(`Processing <li> ${n+1}:`,e.textContent.trim());const t=e.textContent.trim(),o=t.indexOf(".")+1;if(o>0){const c=t.slice(0,o),l=t.slice(o).trim();e.innerHTML=`<strong>${c}</strong> ${l}`,console.log(`Updated <li> ${n+1}:`,e.innerHTML)}else console.log(`No sentence found in <li> ${n+1}`)})}else console.log("No <ol> found as the adjacent sibling of #Steps")}else console.log("No h2 > #Steps element found")});