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 00:17, 17 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>'
);
}
});
});
});