Herramientas personales
En la EC encontrarás artículos autorizados
sobre la fe católica
Sábado, 31 de mayo de 2025

Diferencia entre revisiones de «MediaWiki:Common.js»

De Enciclopedia Católica

Saltar a: navegación, buscar
 
Línea 2: Línea 2:
  
 
document.addEventListener('DOMContentLoaded', function () {
 
document.addEventListener('DOMContentLoaded', function () {
   // Cargar Parse.ly
+
   // Parse.ly loader
 
   (function(w, d) {
 
   (function(w, d) {
 
     w.Parsely = w.Parsely || function() {
 
     w.Parsely = w.Parsely || function() {
Línea 14: Línea 14:
 
   })(window, document);
 
   })(window, document);
  
   // Insertar JSON-LD solo si MediaWiki está disponible
+
   // JSON-LD + Meta + JS fallback
 
   if (typeof mw !== 'undefined') {
 
   if (typeof mw !== 'undefined') {
 
     mw.loader.using('mediawiki.util', function () {
 
     mw.loader.using('mediawiki.util', function () {
Línea 24: Línea 24:
 
       const isMainPage = mw.config.get('wgIsMainPage');
 
       const isMainPage = mw.config.get('wgIsMainPage');
  
      // Asignar tipo según si es portada o artículo
 
 
       const type = isMainPage ? "WebSite" : "NewsArticle";
 
       const type = isMainPage ? "WebSite" : "NewsArticle";
 
      // Usar categorías si existen, o 'General'
 
 
       const section = categories.length ? categories[0] : "General";
 
       const section = categories.length ? categories[0] : "General";
 
       const keywords = categories;
 
       const keywords = categories;
 +
      const author = "Enciclopedia Católica";
 +
      const publisher = {
 +
        "@type": "Organization",
 +
        "name": "ACI Prensa",
 +
        "logo": {
 +
          "@type": "ImageObject",
 +
          "url": "https://ec.aciprensa.com/newwiki/images/ACI_logo.png"
 +
        }
 +
      };
  
      // JSON-LD enriquecido
 
 
       const metadata = {
 
       const metadata = {
 
         "@context": "http://schema.org",
 
         "@context": "http://schema.org",
Línea 37: Línea 42:
 
         "headline": title,
 
         "headline": title,
 
         "url": url,
 
         "url": url,
         "author": { "name": "Enciclopedia Católica" },
+
         "author": { "name": author },
 
         "datePublished": datePublished,
 
         "datePublished": datePublished,
 
         "articleSection": section,
 
         "articleSection": section,
 
         "keywords": keywords,
 
         "keywords": keywords,
         "publisher": {
+
         "publisher": publisher,
          "@type": "Organization",
+
          "name": "ACI Prensa",
+
          "logo": {
+
            "@type": "ImageObject",
+
            "url": "https://ec.aciprensa.com/newwiki/images/ACI_logo.png"
+
          }
+
        },
+
 
         "mainEntityOfPage": url
 
         "mainEntityOfPage": url
 
       };
 
       };
  
       const script = document.createElement('script');
+
      // Insert JSON-LD
       script.type = 'application/ld+json';
+
       const jsonLd = document.createElement('script');
       script.text = JSON.stringify(metadata);
+
       jsonLd.type = 'application/ld+json';
       document.head.appendChild(script);
+
       jsonLd.text = JSON.stringify(metadata);
 +
       document.head.appendChild(jsonLd);
 +
 
 +
      // Insert <meta name="parsely-page">
 +
      const meta = document.createElement('meta');
 +
      meta.name = 'parsely-page';
 +
      meta.content = JSON.stringify({
 +
        title: title,
 +
        link: url,
 +
        type: 'post',
 +
        pub_date: datePublished,
 +
        section: section,
 +
        author: author
 +
      });
 +
      document.head.appendChild(meta);
 +
 
 +
      // JS fallback config
 +
      window.PARSELY = window.PARSELY || {};
 +
      window.PARSELY.autotrack = true;
 +
      window.PARSELY.page = {
 +
        title: title,
 +
        link: url,
 +
        type: 'post',
 +
        pub_date: datePublished,
 +
        section: section,
 +
        author: author
 +
      };
  
       console.log("✅ JSON-LD inserted by Common.js →", metadata);
+
       console.log("✅ Parse.ly: metadata inserted", {
 +
        jsonLd: metadata,
 +
        parselyMeta: meta.content
 +
      });
 
     });
 
     });
 
   }
 
   }
 
});
 
});

Última revisión de 23:46 21 may 2025

/* Script completo para cargar Parse.ly y metadatos enriquecidos */

document.addEventListener('DOMContentLoaded', function () {
  // Parse.ly loader
  (function(w, d) {
    w.Parsely = w.Parsely || function() {
      (w.Parsely.q = w.Parsely.q || []).push(arguments);
    };
    var s = d.createElement('script');
    s.async = true;
    s.src = 'https://cdn.parsely.com/keys/ec.aciprensa.com/p.js';
    var x = d.getElementsByTagName('script')[0];
    x.parentNode.insertBefore(s, x);
  })(window, document);

  // JSON-LD + Meta + JS fallback
  if (typeof mw !== 'undefined') {
    mw.loader.using('mediawiki.util', function () {
      const namespace = mw.config.get('wgNamespaceNumber');
      const title = mw.config.get('wgTitle');
      const url = window.location.href;
      const datePublished = new Date(document.lastModified).toISOString();
      const categories = mw.config.get('wgCategories') || [];
      const isMainPage = mw.config.get('wgIsMainPage');

      const type = isMainPage ? "WebSite" : "NewsArticle";
      const section = categories.length ? categories[0] : "General";
      const keywords = categories;
      const author = "Enciclopedia Católica";
      const publisher = {
        "@type": "Organization",
        "name": "ACI Prensa",
        "logo": {
          "@type": "ImageObject",
          "url": "https://ec.aciprensa.com/newwiki/images/ACI_logo.png"
        }
      };

      const metadata = {
        "@context": "http://schema.org",
        "@type": type,
        "headline": title,
        "url": url,
        "author": { "name": author },
        "datePublished": datePublished,
        "articleSection": section,
        "keywords": keywords,
        "publisher": publisher,
        "mainEntityOfPage": url
      };

      // Insert JSON-LD
      const jsonLd = document.createElement('script');
      jsonLd.type = 'application/ld+json';
      jsonLd.text = JSON.stringify(metadata);
      document.head.appendChild(jsonLd);

      // Insert <meta name="parsely-page">
      const meta = document.createElement('meta');
      meta.name = 'parsely-page';
      meta.content = JSON.stringify({
        title: title,
        link: url,
        type: 'post',
        pub_date: datePublished,
        section: section,
        author: author
      });
      document.head.appendChild(meta);

      // JS fallback config
      window.PARSELY = window.PARSELY || {};
      window.PARSELY.autotrack = true;
      window.PARSELY.page = {
        title: title,
        link: url,
        type: 'post',
        pub_date: datePublished,
        section: section,
        author: author
      };

      console.log("✅ Parse.ly: metadata inserted", {
        jsonLd: metadata,
        parselyMeta: meta.content
      });
    });
  }
});