// <nowiki>
mw.hook('wikipage.content').add(function($content) {
if (mw.config.get('wgAction') !== 'view') {
return;
}
if (mw.config.get('wgIsRedirect')) {
return;
}
if (mw.config.get('wgArticleId') === 0) {
return;
}
var ns = mw.config.get('wgNamespaceNumber');
var title = mw.config.get('wgTitle').replace(/_/g, ' ');
if (title === 'Main Page') {
return;
}
var isValidNamespace = (ns === 0 || ns === 118);
var rawHTML = $content.html().toLowerCase();
// Check if there is a <references tag anywhere or a <ref tag.
var hasReferencesTag = rawHTML.indexOf('<references') !== -1 || rawHTML.indexOf('<ref') !== -1 || rawHTML.indexOf('{{reflist}}';
// For {{reflist ...}}: look for the starting substring and then check for the closing "}}".
var startPos = rawHTML.indexOf('{{reflist');
var hasReflistTemplate = false;
if (startPos !== -1) {
var endPos = rawHTML.indexOf('}}', startPos);
if (endPos !== -1) {
hasReflistTemplate = true;
}
}
if (isValidNamespace && !(hasReferencesTag || hasReflistTemplate)) {
var warningMessage = document.createElement('div');
warningMessage.style.backgroundColor = '#ffcc00';
warningMessage.style.color = '#000';
warningMessage.style.padding = '10px';
warningMessage.style.fontSize = '16px';
warningMessage.style.fontWeight = 'bold';
warningMessage.style.position = 'relative';
warningMessage.style.zIndex = '1000';
warningMessage.style.marginBottom = '20px';
warningMessage.innerHTML = 'Warning: This page does not contain a references section.';
var $firstHeading = $('#firstHeading');
if ($firstHeading.length) {
$firstHeading.after(warningMessage);
}
}
});
// </nowiki>