MediaWiki:Common.js: Difference between revisions
Appearance
Cdjensen94 (talk | contribs) |
Cdjensen94 (talk | contribs) |
||
| Line 15: | Line 15: | ||
}); | }); | ||
$(function () { | $(function () { | ||
// Only run on the Main Page | |||
if (mw.config.get('wgPageName') !== 'Continuum_Universes_Wiki') return; | |||
var $spot = $('<div id="lore-spotlight"><h3>Random Lore Spotlight</h3><div class="content">Loading…</div></div>'); | var $spot = $('<div id="lore-spotlight"><h3>Random Lore Spotlight</h3><div class="content">Loading…</div></div>'); | ||
$('#mw-content-text').prepend($spot); | $('#mw-content-text').prepend($spot); | ||
Revision as of 23:17, 16 August 2025
$(function() {
fetch('/api.php?action=query&meta=siteinfo&siprop=statistics&format=json')
.then(res => res.json())
.then(data => {
const current = data.query.statistics.articles;
const goal = 500;
const left = goal - current;
const el = document.getElementById("article-countdown");
if (el) {
el.innerHTML = left > 0
? `🚧 Only <strong>${left}</strong> articles to go until 500!`
: `🎯 We've reached 500 articles! Celebrate good times, c'mon!`;
}
});
});
$(function () {
// Only run on the Main Page
if (mw.config.get('wgPageName') !== 'Continuum_Universes_Wiki') return;
var $spot = $('<div id="lore-spotlight"><h3>Random Lore Spotlight</h3><div class="content">Loading…</div></div>');
$('#mw-content-text').prepend($spot);
// Query API for random page in Lore category
$.getJSON(mw.util.wikiScript('api'), {
action: 'query',
list: 'random',
rnnamespace: 0,
rnlimit: 1,
rncategory: 'Lore',
format: 'json'
}).done(function (data) {
var page = data.query.random[0];
// Get full HTML of page
$.get(mw.util.wikiScript('index'), {
action: 'render',
title: page.title
}).done(function (html) {
var $html = $('<div>').html(html);
// Look for hidden spotlight text
var hooks = $html.find('.lore-spotlight-text').map(function () {
return $(this).text();
}).get();
if (hooks.length > 0) {
// Pick one at random
var hook = hooks[Math.floor(Math.random() * hooks.length)];
$spot.find('.content').html(hook);
} else {
// Fallback if no hook
$spot.find('.content').html(
'<b><a href="/wiki/' + encodeURIComponent(page.title) + '">' + page.title + '</a></b>'
);
}
});
});
});