MediaWiki:Common.js: Unterschied zwischen den Versionen
Aus ISMS-Ratgeber WiKi
Zur Navigation springenZur Suche springen
Dirk (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
Dirk (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 14: | Zeile 14: | ||
rcshow: 'new', | rcshow: 'new', | ||
rcnamespace: 0, | rcnamespace: 0, | ||
rclimit: | rclimit: 30, | ||
format: 'json' | format: 'json' | ||
}).done(function(data) { | }).done(function(data) { |
Aktuelle Version vom 13. Mai 2025, 13:24 Uhr
/* Das folgende JavaScript wird für alle Benutzer geladen. */ // Top 10 zuletzt geänderte Seiten: $(function() { var $target = $('#seo-pages-table'); if (!$target.length) return; // 1. Neue Seiten holen new mw.Api().get({ action: 'query', list: 'recentchanges', rcprop: 'title|timestamp', rcshow: 'new', rcnamespace: 0, rclimit: 30, format: 'json' }).done(function(data) { var pages = data.query && data.query.recentchanges ? data.query.recentchanges : []; if (!pages.length) { $target.html('Keine neuen Seiten gefunden.'); return; } // 2. Für jede Seite SEO-Title holen (pageprops) var titles = pages.map(function(p) { return p.title; }).join('|'); new mw.Api().get({ action: 'query', prop: 'pageprops', titles: titles, format: 'json' }).done(function(seoData) { var seoProps = {}; if (seoData.query && seoData.query.pages) { Object.values(seoData.query.pages).forEach(function(page) { if (page.pageprops && (page.pageprops.wikiseo_title || page.pageprops.seo_title)) { seoProps[page.title] = page.pageprops.wikiseo_title || page.pageprops.seo_title; } }); } // 3. Tabelle bauen var table = '<table class="wikitable"><tr><th>Seitenname</th><th>Erstellungsdatum</th><th>SEO-Titel</th></tr>'; pages.forEach(function(p) { var link = '<a href="' + mw.util.getUrl(p.title) + '">' + mw.html.escape(p.title) + '</a>'; var date = new Date(p.timestamp).toLocaleDateString('de-DE'); var seo = seoProps[p.title] ? mw.html.escape(seoProps[p.title]) : '–'; table += '<tr><td>' + link + '</td><td>' + date + '</td><td>' + seo + '</td></tr>'; }); table += '</table>'; $target.html(table); }).fail(function() { $target.html('Fehler beim Laden der SEO-Daten.'); }); }).fail(function() { $target.html('Fehler beim Laden der neuen Seiten.'); }); });