Content deleted Content added
sync from User:SD0001/comments in local time.js - requested on talk Tag: Reverted |
fixes |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1:
/**
* COMMENTS IN LOCAL TIME
Line 10 ⟶ 9:
* [[Wikipedia:Comments in Local Time]]
*/
$(() => {
/**
* Given a number, add a leading zero if necessary, so that the final number
Line 132 ⟶ 131:
const minute = addLeadingZero(time.getMinutes());
const finalTime = `${hour}:${minute}${ampm}`;
// Determine the time offset.
Line 139 ⟶ 137:
utcValue >= 0 ? `+${utcValue}` : `−${Math.abs(utcValue.toFixed(1))}`;
if (this.LocalComments.timeFirst) {▼
▲ returnDate = `${finalTime}, ${date} (UTC${utcOffset})`;
} else {▼
: `${date}, ${finalTime} ${utcPart}`;
}▼
return
}
Line 206 ⟶ 204:
}
▲ formattedDayOfTheWeek = `, ${last}${dayOfTheWeek}`;
▲ return formattedDate + formattedDayOfTheWeek + descriptiveDifference;
}
Line 367 ⟶ 363:
getHour(time) {
let ampm;
let hour = Number.parseInt(time.getHours(), 10);
if (this.LocalComments.twentyFourHours) {
Line 417 ⟶ 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 428 ⟶ 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;▼
$(node).replaceWith($span);
if (beforeMatch) {
`<span class="before-localcomments">${beforeMatch}</span>`
// Replace the text content that appears after the timestamp.
if (afterMatch) {
▲ }
}
} else {
Line 504 ⟶ 491:
if (isDisabledUrl) {
▲ return;
}▼
return;
}
this.replaceText(
/(\d{1,2}):(\d{2}), (\d{1,2}) ([A-Z][a-z]+) (\d{4}) \(UTC\)/
);
Line 625 ⟶ 606:
}
// Check if we've already ran this script.
new CommentsInLocalTime().run();▼
if (window.commentsInLocalTimeWasRun) {
return;
window.commentsInLocalTimeWasRun = true;
commentsInLocalTime.run();
});
|