Diferencia entre revisiones de «MediaWiki:Common.js»
De Enciclopedia Católica
(No se muestran 3 ediciones intermedias del mismo usuario) | |||
Línea 1: | Línea 1: | ||
− | /* | + | /* Script completo para cargar Parse.ly y metadatos enriquecidos */ |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | (function () { | + | 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); | ||
− | mw.loader.using('mediawiki.util', function () { | + | // 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 |
+ | }); | ||
+ | }); | ||
+ | } | ||
+ | }); |
Ú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 }); }); } });