MediaWiki:Common.js
Appearance
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* GoodToKnow original daily observances calendar */
(function () {
'use strict';
function updateCalendar() {
var dateElement = document.getElementById('date-today');
var observancesElement = document.getElementById('today-in-history');
var sourceElement = document.querySelector('.todayisurl');
if (!dateElement || !observancesElement) {
return;
}
var now = new Date();
var months = [
'jan', 'feb', 'mar', 'apr', 'may', 'jun',
'jul', 'aug', 'sep', 'oct', 'nov', 'dec'
];
var month = months[now.getMonth()];
var day = String(now.getDate());
dateElement.textContent = 'Today is: ' +
now.toLocaleDateString('en-US', {
month: 'long',
day: 'numeric'
});
if (sourceElement) {
sourceElement.textContent =
'- Source: https://nationaldaycalendar.com/' +
now.toLocaleDateString('en-US', { month: 'long' }).toLowerCase() + '/';
}
fetch('/resources/assets/todayis.json')
.then(function (response) {
if (!response.ok) {
throw new Error('Calendar HTTP ' + response.status);
}
return response.json();
})
.then(function (data) {
var entries = (data.month && data.month[month]) || [];
var entry = entries.find(function (item) {
return String(item.date) === day;
});
observancesElement.textContent =
entry && Array.isArray(entry.day)
? entry.day.join(', ')
: '';
})
.catch(function (error) {
console.error('GoodToKnow calendar:', error);
});
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', updateCalendar);
} else {
updateCalendar();
}
})();