文档版本显示提交信息

This commit is contained in:
xiaoqi.cxq 2022-09-23 23:18:15 +08:00
parent b1ad58a121
commit 95d27a4a0a
12 changed files with 29 additions and 66 deletions

View File

@ -33,6 +33,7 @@
<div class="revision__header flex flex--column"> <div class="revision__header flex flex--column">
<user-name :user-id="revision.sub"></user-name> <user-name :user-id="revision.sub"></user-name>
<div class="revision__created">{{revision.created | formatTime}}</div> <div class="revision__created">{{revision.created | formatTime}}</div>
<div class="revision__msg">{{revision.message}}</div>
</div> </div>
</a> </a>
</div> </div>
@ -412,6 +413,14 @@ export default {
opacity: 0.6; opacity: 0.6;
} }
.revision__msg {
font-size: 0.75em;
opacity: 0.6;
white-space: pre-wrap;
word-break: break-word;
word-wrap: break-word;
}
.layout--revision { .layout--revision {
.cledit-section *, .cledit-section *,
.cl-preview-section * { .cl-preview-section * {

View File

@ -70,6 +70,7 @@ export default new Provider({
return { return {
sub, sub,
id: entry.version, id: entry.version,
message: entry.commit && entry.commit.message,
created: new Date(entry.committed_at).getTime(), created: new Date(entry.committed_at).getTime(),
}; };
}); });

View File

@ -155,6 +155,7 @@ export default new Provider({
return { return {
id: sha, id: sha,
sub, sub,
message: commit.message,
created: date ? new Date(date).getTime() : 1, created: date ? new Date(date).getTime() : 1,
}; };
}); });

View File

@ -278,6 +278,7 @@ export default new Provider({
return { return {
id: sha, id: sha,
sub, sub,
message: commit.message,
created: new Date(date).getTime(), created: new Date(date).getTime(),
}; };
}); });

View File

@ -237,6 +237,7 @@ export default new Provider({
return { return {
id: sha, id: sha,
sub, sub,
message: commit.message,
created: new Date(date).getTime(), created: new Date(date).getTime(),
}; };
}); });

View File

@ -145,6 +145,7 @@ export default new Provider({
return { return {
id: sha, id: sha,
sub, sub,
message: commit.message,
created: date ? new Date(date).getTime() : 1, created: date ? new Date(date).getTime() : 1,
}; };
}); });

View File

@ -266,6 +266,7 @@ export default new Provider({
return { return {
id: sha, id: sha,
sub, sub,
message: commit.message,
created: new Date(date).getTime(), created: new Date(date).getTime(),
}; };
}); });

View File

@ -134,14 +134,17 @@ export default new Provider({
user = author; user = author;
} else if (committer && committer.login) { } else if (committer && committer.login) {
user = committer; user = committer;
} else if (commit && commit.author) {
user = commit.author;
} }
const sub = `${githubHelper.subPrefix}:${user.id}`; const sub = `${githubHelper.subPrefix}:${user.id || user.name}`;
userSvc.addUserInfo({ id: sub, name: user.login, imageUrl: user.avatar_url }); userSvc.addUserInfo({ id: sub, name: user.login || user.name, imageUrl: user.avatar_url });
const date = (commit.author && commit.author.date) const date = (commit.author && commit.author.date)
|| (commit.committer && commit.committer.date); || (commit.committer && commit.committer.date);
return { return {
id: sha, id: sha,
sub, sub,
message: commit.message,
created: date ? new Date(date).getTime() : 1, created: date ? new Date(date).getTime() : 1,
}; };
}); });

View File

@ -254,15 +254,18 @@ export default new Provider({
user = author; user = author;
} else if (committer && committer.login) { } else if (committer && committer.login) {
user = committer; user = committer;
} else if (commit && commit.author) {
user = commit.author;
} }
const sub = `${githubHelper.subPrefix}:${user.id}`; const sub = `${githubHelper.subPrefix}:${user.id || user.name}`;
userSvc.addUserInfo({ id: sub, name: user.login, imageUrl: user.avatar_url }); userSvc.addUserInfo({ id: sub, name: user.login || user.name, imageUrl: user.avatar_url });
const date = (commit.author && commit.author.date) const date = (commit.author && commit.author.date)
|| (commit.committer && commit.committer.date) || (commit.committer && commit.committer.date)
|| 1; || 1;
return { return {
id: sha, id: sha,
sub, sub,
message: commit.message,
created: new Date(date).getTime(), created: new Date(date).getTime(),
}; };
}); });

View File

@ -148,6 +148,7 @@ export default new Provider({
return { return {
id: entry.id, id: entry.id,
sub, sub,
message: entry.commit && entry.commit.message,
created: date ? new Date(date).getTime() : 1, created: date ? new Date(date).getTime() : 1,
}; };
}); });

View File

@ -270,6 +270,7 @@ export default new Provider({
return { return {
id: entry.id, id: entry.id,
sub, sub,
message: entry.commit && entry.commit.message,
created: date ? new Date(date).getTime() : 1, created: date ? new Date(date).getTime() : 1,
}; };
}); });

View File

@ -65,62 +65,6 @@ function strftime(time, formatString) {
}); });
} }
let dayFirst = null;
let yearSeparator = null;
// Private: Determine if the day should be formatted before the month name in
// the user's current locale. For example, `9 Jun` for en-GB and `Jun 9`
// for en-US.
//
// Returns true if the day appears before the month.
function isDayFirst() {
if (dayFirst !== null) {
return dayFirst;
}
if (!('Intl' in window)) {
return false;
}
const options = { day: 'numeric', month: 'short' };
const formatter = new window.Intl.DateTimeFormat(undefined, options);
const output = formatter.format(new Date(0));
dayFirst = !!output.match(/^\d/);
return dayFirst;
}
// Private: Determine if the year should be separated from the month and day
// with a comma. For example, `9 Jun 2014` in en-GB and `Jun 9, 2014` in en-US.
//
// Returns true if the date needs a separator.
function isYearSeparator() {
if (yearSeparator !== null) {
return yearSeparator;
}
if (!('Intl' in window)) {
return true;
}
const options = { day: 'numeric', month: 'short', year: 'numeric' };
const formatter = new window.Intl.DateTimeFormat(undefined, options);
const output = formatter.format(new Date(0));
yearSeparator = !!output.match(/\d,/);
return yearSeparator;
}
// Private: Determine if the date occurs in the same year as today's date.
//
// date - The Date to test.
//
// Returns true if it's this year.
function isThisYear(date) {
const now = new Date();
return now.getUTCFullYear() === date.getUTCFullYear();
}
class RelativeTime { class RelativeTime {
constructor(date) { constructor(date) {
this.date = date; this.date = date;
@ -128,7 +72,7 @@ class RelativeTime {
toString() { toString() {
const ago = this.timeElapsed(); const ago = this.timeElapsed();
return ago || `on ${this.formatDate()}`; return ago || `${this.formatDate()}`;
} }
timeElapsed() { timeElapsed() {
@ -158,11 +102,7 @@ class RelativeTime {
} }
formatDate() { formatDate() {
let format = isDayFirst() ? '%e %b' : '%b %e'; return strftime(this.date, '%Y-%m-%d');
if (!isThisYear(this.date)) {
format += isYearSeparator() ? ', %Y' : ' %Y';
}
return strftime(this.date, format);
} }
} }