Content deleted Content added
eslint cleanup |
fixes |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 131:
const minute = addLeadingZero(time.getMinutes());
const finalTime = `${hour}:${minute}${ampm}`;
// Determine the time offset.
Line 138 ⟶ 137:
utcValue >= 0 ? `+${utcValue}` : `−${Math.abs(utcValue.toFixed(1))}`;
if (this.LocalComments.timeFirst) {▼
▲ returnDate = `${finalTime}, ${date} (UTC${utcOffset})`;
} else {▼
: `${date}, ${finalTime} ${utcPart}`;
}▼
return
}
Line 165 ⟶ 164:
createDateText({ day, month, time, today, year }) {
//
const dayNames = [
this.language.Sunday,
Line 189 ⟶ 188:
const monthName = this.convertNumberToMonth(time.getMonth());
//
let formattedDate = '';
Line 205 ⟶ 204:
}
▲ formattedDayOfTheWeek = `, ${last}${dayOfTheWeek}`;
▲ return formattedDate + formattedDayOfTheWeek + descriptiveDifference;
}
Line 221 ⟶ 218:
* @returns {Object.<string, *>} Relative date data
*/
createRelativeDate(today, time) {
/**
Line 337 ⟶ 333:
const day = time.getDate();
//
if (
year === today.getFullYear() &&
Line 367 ⟶ 363:
getHour(time) {
let ampm;
let hour = Number.parseInt(time.getHours(), 10);
if (this.LocalComments.twentyFourHours) {
Line 410 ⟶ 406:
}
replaceText(node, search) {
if (!node) {
Line 418 ⟶ 413:
// Check if this is a text node.
if (node.nodeType === 3) {
// Don't continue if this text node's parent tag is one of these.
▲ if (['CODE', 'PRE'].includes(parentNodeName)) {
return;
}
Line 429 ⟶ 421:
const matches = value.match(search);
if (matches) {
// Only act on the first timestamp we found in this node. This is for
//
//
const [match] = matches;
const position = value.search(search);
const stringLength = match.toString().length;
const beforeMatch = value.substring(0, position);▼
const afterMatch = value.substring(position + stringLength);▼
const { returnDate, time } = this.adjustTime(▼
match.toString(),▼
search▼
▲ );
//
// which we'll then wrap in their own SPAN nodes.
// Create the code to display the new local comments content.
const $span
`<span class="localcomments" style="font-size: 95%;" title="${match}">${returnDate}</span>`
span.title = match;▼
parent = node.parentNode;▼
parent.replaceChild(span, node);▼
// Replace the existing text node in the page with our new local
// Replace the text content that appears before the timestamp.
if (beforeMatch) {
`<span class="before-localcomments">${beforeMatch}</span>`
// Replace the text content that appears after the timestamp.
`<span class="after-localcomments">${afterMatch}</span>`
);
▲ }
}
} else {
Line 509 ⟶ 495:
this.replaceText(
document.querySelector('.mw-body-content .mw-parser-output'),
/(\d{1,2}):(\d{2}), (\d{1,2}) ([A-Z][a-z]+) (\d{4}) \(UTC\)/
);
|