Jump to content

MediaWiki:Common.js: Difference between revisions

From A Modern Way To Be Known
No edit summary
Blanked the page
Tags: Blanking Manual revert
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
mw.loader.using('mediawiki.util', function () {


  // Wait until page HTML is fully ready
  document.addEventListener('DOMContentLoaded', function () {
    if (mw.config.get('wgNamespaceNumber') !== 0) return;
    const infobox = document.querySelector('table.infobox');
    if (!infobox) return;
    const metaDesc =
      document.querySelector('meta[name="description"]')?.content || "";
    const pageUrl = location.href;
    const pageTitle = mw.config.get('wgTitle');
    let schema = null;
    const infoboxText = infobox.innerText.toLowerCase();
    // COMPANY
    if (infoboxText.includes('industry') || infoboxText.includes('founded')) {
      schema = {
        "@context": "https://schema.org",
        "@type": "Organization",
        "name": pageTitle,
        "url": pageUrl,
        "description": metaDesc
      };
      const logo = infobox.querySelector('img')?.src;
      if (logo) schema.logo = logo;
    }
    // PERSON
    else if (infoboxText.includes('born')) {
      schema = {
        "@context": "https://schema.org",
        "@type": "Person",
        "name": pageTitle,
        "url": pageUrl,
        "description": metaDesc
      };
      const image = infobox.querySelector('img')?.src;
      if (image) schema.image = image;
    }
    if (!schema) return;
    const script = document.createElement('script');
    script.type = 'application/ld+json';
    script.text = JSON.stringify(schema);
    document.head.appendChild(script);
  });
});

Latest revision as of 19:43, 17 December 2025