@stats-organization/github-readme-stats-core 2.1.4 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/api/gist.d.ts +2 -7
- package/build/api/gist.d.ts.map +1 -1
- package/build/api/gist.js +28 -26
- package/build/api/index.d.ts +3 -8
- package/build/api/index.d.ts.map +1 -1
- package/build/api/index.js +32 -36
- package/build/api/pin.d.ts +2 -7
- package/build/api/pin.d.ts.map +1 -1
- package/build/api/pin.js +18 -33
- package/build/api/top-langs.d.ts +2 -7
- package/build/api/top-langs.d.ts.map +1 -1
- package/build/api/top-langs.js +32 -44
- package/build/api/wakatime.d.ts +2 -7
- package/build/api/wakatime.d.ts.map +1 -1
- package/build/api/wakatime.js +28 -26
- package/build/calculateRank.d.ts +12 -11
- package/build/calculateRank.d.ts.map +1 -1
- package/build/calculateRank.js +18 -18
- package/build/cards/common-options.d.ts +13 -0
- package/build/cards/common-options.d.ts.map +1 -0
- package/build/cards/common-options.js +1 -0
- package/build/cards/gist.d.ts +11 -16
- package/build/cards/gist.d.ts.map +1 -1
- package/build/cards/gist.js +26 -31
- package/build/cards/repo.d.ts +19 -16
- package/build/cards/repo.d.ts.map +1 -1
- package/build/cards/repo.js +79 -72
- package/build/cards/stats.d.ts +29 -44
- package/build/cards/stats.d.ts.map +1 -1
- package/build/cards/stats.js +118 -173
- package/build/cards/top-languages.d.ts +81 -77
- package/build/cards/top-languages.d.ts.map +1 -1
- package/build/cards/top-languages.js +186 -184
- package/build/cards/wakatime.d.ts +21 -11
- package/build/cards/wakatime.d.ts.map +1 -1
- package/build/cards/wakatime.js +92 -109
- package/build/common/Card.d.ts +41 -14
- package/build/common/Card.d.ts.map +1 -1
- package/build/common/Card.js +92 -31
- package/build/common/I18n.d.ts +4 -2
- package/build/common/I18n.d.ts.map +1 -1
- package/build/common/color.d.ts +91 -15
- package/build/common/color.d.ts.map +1 -1
- package/build/common/color.js +163 -17
- package/build/common/config.d.ts +2 -1
- package/build/common/config.d.ts.map +1 -1
- package/build/common/config.js +16 -26
- package/build/common/constants.d.ts +2 -1
- package/build/common/constants.d.ts.map +1 -1
- package/build/common/date.d.ts +37 -0
- package/build/common/date.d.ts.map +1 -0
- package/build/common/date.js +31 -0
- package/build/common/html.js +1 -1
- package/build/common/http.d.ts +37 -5
- package/build/common/http.d.ts.map +1 -1
- package/build/common/http.js +29 -6
- package/build/common/icons.d.ts +1 -0
- package/build/common/icons.d.ts.map +1 -1
- package/build/common/icons.js +1 -0
- package/build/common/languageColors.d.ts +11 -0
- package/build/common/languageColors.d.ts.map +1 -0
- package/build/common/languageColors.js +15 -0
- package/build/common/languageColors.json +10 -1
- package/build/common/ops.d.ts +27 -33
- package/build/common/ops.d.ts.map +1 -1
- package/build/common/ops.js +31 -48
- package/build/common/render.d.ts +154 -113
- package/build/common/render.d.ts.map +1 -1
- package/build/common/render.js +209 -92
- package/build/common/retryer.d.ts +15 -6
- package/build/common/retryer.d.ts.map +1 -1
- package/build/common/retryer.js +2 -0
- package/build/fetchers/gist.d.ts +6 -21
- package/build/fetchers/gist.d.ts.map +1 -1
- package/build/fetchers/gist.js +28 -64
- package/build/fetchers/repo.d.ts +12 -11
- package/build/fetchers/repo.d.ts.map +1 -1
- package/build/fetchers/repo.js +27 -68
- package/build/fetchers/stats.d.ts +24 -17
- package/build/fetchers/stats.d.ts.map +1 -1
- package/build/fetchers/stats.js +302 -184
- package/build/fetchers/top-languages.d.ts +10 -15
- package/build/fetchers/top-languages.d.ts.map +1 -1
- package/build/fetchers/top-languages.js +52 -103
- package/build/fetchers/types.d.ts +130 -0
- package/build/fetchers/types.d.ts.map +1 -0
- package/build/fetchers/types.js +1 -0
- package/build/fetchers/wakatime.d.ts +9 -5
- package/build/fetchers/wakatime.d.ts.map +1 -1
- package/build/fetchers/wakatime.js +8 -4
- package/build/graphql/contributionsDocument.d.ts +18 -0
- package/build/graphql/contributionsDocument.d.ts.map +1 -0
- package/build/graphql/contributionsDocument.js +30 -0
- package/build/graphql/generated/common.d.ts +42 -0
- package/build/graphql/generated/common.d.ts.map +1 -0
- package/build/graphql/generated/common.js +2 -0
- package/build/graphql/generated/gist.d.ts +44 -0
- package/build/graphql/generated/gist.d.ts.map +1 -0
- package/build/graphql/generated/gist.js +27 -0
- package/build/graphql/generated/repo.d.ts +67 -0
- package/build/graphql/generated/repo.d.ts.map +1 -0
- package/build/graphql/generated/repo.js +30 -0
- package/build/graphql/generated/stats.d.ts +150 -0
- package/build/graphql/generated/stats.d.ts.map +1 -0
- package/build/graphql/generated/stats.js +95 -0
- package/build/graphql/generated/top-languages.d.ts +54 -0
- package/build/graphql/generated/top-languages.d.ts.map +1 -0
- package/build/graphql/generated/top-languages.js +27 -0
- package/build/graphql/graphqlDocument.d.ts +22 -0
- package/build/graphql/graphqlDocument.d.ts.map +1 -0
- package/build/graphql/graphqlDocument.js +8 -0
- package/build/graphql/reposContributedToDocument.d.ts +27 -0
- package/build/graphql/reposContributedToDocument.d.ts.map +1 -0
- package/build/graphql/reposContributedToDocument.js +59 -0
- package/build/index.d.ts +3 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -1
- package/build/themes/index.d.ts +32 -0
- package/build/themes/index.d.ts.map +1 -1
- package/build/themes/index.js +28 -0
- package/build/translations.d.ts +17 -0
- package/build/translations.d.ts.map +1 -1
- package/build/translations.js +17 -0
- package/package.json +14 -8
- package/src/_emoji-name-map.d.ts +10 -0
- package/src/_github-username-regex.d.ts +4 -0
- package/src/api/gist.js +31 -31
- package/src/api/index.js +40 -42
- package/src/api/pin.js +20 -38
- package/src/api/top-langs.js +36 -49
- package/src/api/wakatime.js +31 -31
- package/src/{calculateRank.js → calculateRank.ts} +29 -19
- package/src/cards/common-options.ts +13 -0
- package/src/cards/{gist.js → gist.ts} +37 -37
- package/src/cards/{repo.js → repo.ts} +107 -79
- package/src/cards/{stats.js → stats.ts} +173 -210
- package/src/cards/{top-languages.js → top-languages.ts} +325 -243
- package/src/cards/{wakatime.js → wakatime.ts} +158 -127
- package/src/common/Card.ts +123 -43
- package/src/common/I18n.ts +6 -2
- package/src/common/color.ts +240 -28
- package/src/common/config.ts +22 -29
- package/src/common/constants.ts +3 -1
- package/src/common/date.ts +45 -0
- package/src/common/html.ts +1 -1
- package/src/common/http.ts +71 -0
- package/src/common/icons.ts +1 -0
- package/src/common/languageColors.json +10 -1
- package/src/common/languageColors.ts +19 -0
- package/src/common/ops.ts +158 -0
- package/src/common/render.ts +652 -0
- package/src/common/retryer.ts +21 -12
- package/src/fetchers/gist.ts +79 -0
- package/src/fetchers/repo.ts +114 -0
- package/src/fetchers/stats.ts +743 -0
- package/src/fetchers/top-languages.ts +135 -0
- package/src/fetchers/{types.d.ts → types.ts} +28 -20
- package/src/fetchers/{wakatime.js → wakatime.ts} +19 -5
- package/src/graphql/contributionsDocument.ts +44 -0
- package/src/graphql/generated/common.ts +26 -0
- package/src/graphql/generated/gist.ts +59 -0
- package/src/graphql/generated/repo.ts +90 -0
- package/src/graphql/generated/stats.ts +194 -0
- package/src/graphql/generated/top-languages.ts +75 -0
- package/src/graphql/graphqlDocument.ts +25 -0
- package/src/graphql/queries/gist.graphql +25 -0
- package/src/graphql/queries/repo.graphql +28 -0
- package/src/graphql/queries/stats.graphql +120 -0
- package/src/graphql/queries/top-languages.graphql +34 -0
- package/src/graphql/reposContributedToDocument.ts +86 -0
- package/src/index.ts +3 -1
- package/src/themes/index.ts +33 -0
- package/src/translations.ts +17 -0
- package/src/cards/types.d.ts +0 -78
- package/src/common/http.js +0 -19
- package/src/common/ops.js +0 -170
- package/src/common/render.js +0 -440
- package/src/fetchers/gist.js +0 -112
- package/src/fetchers/repo.js +0 -161
- package/src/fetchers/stats.js +0 -474
- package/src/fetchers/top-languages.js +0 -175
- package/src/themes/README.md +0 -229
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Card } from "../common/Card.js";
|
|
2
2
|
import { I18n } from "../common/I18n.js";
|
|
3
|
-
import {
|
|
3
|
+
import { getLightDarkColors } from "../common/color.js";
|
|
4
4
|
import { kFormatter, wrapTextMultiline } from "../common/fmt.js";
|
|
5
5
|
import { encodeHTML } from "../common/html.js";
|
|
6
6
|
import { icons } from "../common/icons.js";
|
|
@@ -8,15 +8,17 @@ import { buildSearchFilter, clampValue, parseEmojis } from "../common/ops.js";
|
|
|
8
8
|
import {
|
|
9
9
|
countWrappedLines,
|
|
10
10
|
createLanguageNode,
|
|
11
|
+
createTextNode,
|
|
11
12
|
flexLayout,
|
|
12
13
|
iconWithLabel,
|
|
13
14
|
measureText,
|
|
14
15
|
wrappedTextNode,
|
|
15
16
|
wrappedTextStyles,
|
|
16
17
|
} from "../common/render.js";
|
|
18
|
+
import type { RepositoryData } from "../fetchers/types.js";
|
|
17
19
|
import { repoCardLocales } from "../translations.js";
|
|
18
20
|
|
|
19
|
-
import {
|
|
21
|
+
import type { CommonOptions } from "./common-options.js";
|
|
20
22
|
|
|
21
23
|
const ICON_SIZE = 16;
|
|
22
24
|
const CARD_DEFAULT_WIDTH = 400;
|
|
@@ -25,41 +27,66 @@ const DESCRIPTION_FONT_SIZE = 13;
|
|
|
25
27
|
const DESCRIPTION_LINE_HEIGHT_PX = 16;
|
|
26
28
|
const DESCRIPTION_MAX_LINES = 3;
|
|
27
29
|
|
|
30
|
+
interface RepoCardOptions extends CommonOptions {
|
|
31
|
+
show_owner: boolean;
|
|
32
|
+
browser_rendering: boolean;
|
|
33
|
+
description_lines_count: number;
|
|
34
|
+
card_width_input: number;
|
|
35
|
+
show: Array<string>;
|
|
36
|
+
show_icons: boolean;
|
|
37
|
+
number_format: string;
|
|
38
|
+
text_bold: boolean;
|
|
39
|
+
line_height: number | string;
|
|
40
|
+
username: string;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
interface RepoStatItem {
|
|
44
|
+
icon: string;
|
|
45
|
+
label: string;
|
|
46
|
+
value: number | undefined;
|
|
47
|
+
id: string;
|
|
48
|
+
link: string;
|
|
49
|
+
unitSymbol?: string;
|
|
50
|
+
}
|
|
51
|
+
|
|
28
52
|
/**
|
|
29
53
|
* Retrieves the repository description and wraps it to fit the card width.
|
|
30
54
|
*
|
|
31
|
-
* @param
|
|
32
|
-
* @param
|
|
33
|
-
* @returns
|
|
55
|
+
* @param label The repository description.
|
|
56
|
+
* @param xOffset Horizontal offset of the badge.
|
|
57
|
+
* @returns Wrapped repo description SVG object.
|
|
34
58
|
*/
|
|
35
|
-
const getBadgeSVG = (label
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
x="23" y="-5"
|
|
40
|
-
alignment-baseline="central"
|
|
41
|
-
dominant-baseline="central"
|
|
42
|
-
text-anchor="middle"
|
|
43
|
-
fill="${textColor}"
|
|
44
|
-
>
|
|
45
|
-
${label}
|
|
46
|
-
</text>
|
|
47
|
-
</g>
|
|
48
|
-
`;
|
|
59
|
+
const getBadgeSVG = (label: string, xOffset = 0): string => {
|
|
60
|
+
if (!Number.isFinite(xOffset)) {
|
|
61
|
+
throw new Error(`Invalid xOffset: "${xOffset}"`);
|
|
62
|
+
}
|
|
49
63
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
64
|
+
return `
|
|
65
|
+
<g data-testid="badge" class="badge" transform="translate(${320 + xOffset}, -18)">
|
|
66
|
+
<rect stroke-width="1" width="70" height="20" x="-12" y="-14" ry="10" rx="10"></rect>
|
|
67
|
+
<text
|
|
68
|
+
x="23" y="-5"
|
|
69
|
+
alignment-baseline="central"
|
|
70
|
+
dominant-baseline="central"
|
|
71
|
+
text-anchor="middle"
|
|
72
|
+
>
|
|
73
|
+
${encodeHTML(label)}
|
|
74
|
+
</text>
|
|
75
|
+
</g>
|
|
76
|
+
`;
|
|
77
|
+
};
|
|
54
78
|
|
|
55
79
|
/**
|
|
56
80
|
* Renders repository card details.
|
|
57
81
|
*
|
|
58
|
-
* @param
|
|
59
|
-
* @param
|
|
60
|
-
* @returns
|
|
82
|
+
* @param repo Repository data.
|
|
83
|
+
* @param options Card options.
|
|
84
|
+
* @returns Repository card SVG object.
|
|
61
85
|
*/
|
|
62
|
-
const renderRepoCard = (
|
|
86
|
+
const renderRepoCard = (
|
|
87
|
+
repo: RepositoryData,
|
|
88
|
+
options: Partial<RepoCardOptions> = {},
|
|
89
|
+
): string => {
|
|
63
90
|
const {
|
|
64
91
|
name,
|
|
65
92
|
nameWithOwner,
|
|
@@ -67,7 +94,7 @@ const renderRepoCard = (repo, options = {}) => {
|
|
|
67
94
|
primaryLanguage,
|
|
68
95
|
isArchived,
|
|
69
96
|
isTemplate,
|
|
70
|
-
|
|
97
|
+
stargazerCount,
|
|
71
98
|
forkCount,
|
|
72
99
|
totalPRsAuthored,
|
|
73
100
|
totalPRsCommented,
|
|
@@ -77,10 +104,6 @@ const renderRepoCard = (repo, options = {}) => {
|
|
|
77
104
|
} = repo;
|
|
78
105
|
const {
|
|
79
106
|
hide_border = false,
|
|
80
|
-
title_color,
|
|
81
|
-
icon_color,
|
|
82
|
-
text_color,
|
|
83
|
-
bg_color,
|
|
84
107
|
card_width_input,
|
|
85
108
|
show_owner = false,
|
|
86
109
|
browser_rendering = false,
|
|
@@ -92,7 +115,6 @@ const renderRepoCard = (repo, options = {}) => {
|
|
|
92
115
|
username,
|
|
93
116
|
theme = "default_repocard",
|
|
94
117
|
border_radius,
|
|
95
|
-
border_color,
|
|
96
118
|
locale,
|
|
97
119
|
description_lines_count,
|
|
98
120
|
} = options;
|
|
@@ -109,68 +131,69 @@ const renderRepoCard = (repo, options = {}) => {
|
|
|
109
131
|
translations: repoCardLocales,
|
|
110
132
|
});
|
|
111
133
|
|
|
112
|
-
|
|
113
|
-
const
|
|
134
|
+
const repoFilter = encodeURIComponent(buildSearchFilter([nameWithOwner], []));
|
|
135
|
+
const encodedUsername = encodeURIComponent(username ?? "");
|
|
136
|
+
const STATS: Record<string, RepoStatItem> = {};
|
|
114
137
|
if (show.includes("prs_authored")) {
|
|
115
|
-
STATS
|
|
138
|
+
STATS["prs_authored"] = {
|
|
116
139
|
icon: icons.prs,
|
|
117
140
|
label: i18n.t("repocard.prs-authored"),
|
|
118
141
|
value: totalPRsAuthored,
|
|
119
142
|
id: "prs_authored",
|
|
120
|
-
link: `https://github.com/search?q=${repoFilter}author%3A${
|
|
143
|
+
link: `https://github.com/search?q=${repoFilter}author%3A${encodedUsername}&type=pullrequests`,
|
|
121
144
|
};
|
|
122
145
|
}
|
|
123
146
|
if (show.includes("prs_commented")) {
|
|
124
|
-
STATS
|
|
147
|
+
STATS["prs_commented"] = {
|
|
125
148
|
icon: icons.comments,
|
|
126
149
|
label: i18n.t("repocard.prs-commented"),
|
|
127
150
|
value: totalPRsCommented,
|
|
128
151
|
id: "prs_commented",
|
|
129
|
-
link: `https://github.com/search?q=${repoFilter}commenter%3A${
|
|
152
|
+
link: `https://github.com/search?q=${repoFilter}commenter%3A${encodedUsername}+-author%3A${encodedUsername}&type=pullrequests`,
|
|
130
153
|
};
|
|
131
154
|
}
|
|
132
155
|
if (show.includes("prs_reviewed")) {
|
|
133
|
-
STATS
|
|
156
|
+
STATS["prs_reviewed"] = {
|
|
134
157
|
icon: icons.reviews,
|
|
135
158
|
label: i18n.t("repocard.prs-reviewed"),
|
|
136
159
|
value: totalPRsReviewed,
|
|
137
160
|
id: "prs_reviewed",
|
|
138
|
-
link: `https://github.com/search?q=${repoFilter}reviewed-by%3A${
|
|
161
|
+
link: `https://github.com/search?q=${repoFilter}reviewed-by%3A${encodedUsername}+-author%3A${encodedUsername}&type=pullrequests`,
|
|
139
162
|
};
|
|
140
163
|
}
|
|
141
164
|
if (show.includes("issues_authored")) {
|
|
142
|
-
STATS
|
|
165
|
+
STATS["issues_authored"] = {
|
|
143
166
|
icon: icons.issues,
|
|
144
167
|
label: i18n.t("repocard.issues-authored"),
|
|
145
168
|
value: totalIssuesAuthored,
|
|
146
169
|
id: "issues_authored",
|
|
147
|
-
link: `https://github.com/search?q=${repoFilter}author%3A${
|
|
170
|
+
link: `https://github.com/search?q=${repoFilter}author%3A${encodedUsername}&type=issues`,
|
|
148
171
|
};
|
|
149
172
|
}
|
|
150
173
|
if (show.includes("issues_commented")) {
|
|
151
|
-
STATS
|
|
174
|
+
STATS["issues_commented"] = {
|
|
152
175
|
icon: icons.discussions_started,
|
|
153
176
|
label: i18n.t("repocard.issues-commented"),
|
|
154
177
|
value: totalIssuesCommented,
|
|
155
178
|
id: "issues_commented",
|
|
156
|
-
link: `https://github.com/search?q=${repoFilter}commenter%3A${
|
|
179
|
+
link: `https://github.com/search?q=${repoFilter}commenter%3A${encodedUsername}+-author%3A${encodedUsername}&type=issues`,
|
|
157
180
|
};
|
|
158
181
|
}
|
|
159
182
|
|
|
160
|
-
const statItems = Object.
|
|
183
|
+
const statItems = Object.values(STATS).map((stat, index) =>
|
|
161
184
|
// create the text nodes, and pass index so that we can calculate the line spacing
|
|
162
185
|
createTextNode({
|
|
163
|
-
icon:
|
|
164
|
-
label:
|
|
165
|
-
value:
|
|
166
|
-
id:
|
|
167
|
-
unitSymbol:
|
|
186
|
+
icon: stat.icon,
|
|
187
|
+
label: stat.label,
|
|
188
|
+
value: stat.value ?? 0,
|
|
189
|
+
id: stat.id,
|
|
190
|
+
unitSymbol: stat.unitSymbol,
|
|
168
191
|
index,
|
|
169
192
|
showIcons: show_icons,
|
|
170
193
|
shiftValuePos: 14.01,
|
|
171
194
|
bold: text_bold,
|
|
172
195
|
numberFormat: number_format,
|
|
173
|
-
link:
|
|
196
|
+
link: stat.link,
|
|
174
197
|
labelXOffset: 23,
|
|
175
198
|
}),
|
|
176
199
|
);
|
|
@@ -183,7 +206,8 @@ const renderRepoCard = (repo, options = {}) => {
|
|
|
183
206
|
const desc = parseEmojis(description || "No description provided");
|
|
184
207
|
const descriptionBoxWidth = card_width - 2 * X_OFFSET;
|
|
185
208
|
|
|
186
|
-
let descriptionLinesCount
|
|
209
|
+
let descriptionLinesCount: number;
|
|
210
|
+
let descriptionSvg: string;
|
|
187
211
|
if (browser_rendering) {
|
|
188
212
|
// The browser performs the actual text wrapping inside the foreignObject;
|
|
189
213
|
// we only estimate the line count server-side so the SVG can reserve enough
|
|
@@ -239,21 +263,13 @@ const renderRepoCard = (repo, options = {}) => {
|
|
|
239
263
|
descriptionLinesCount * lineHeight +
|
|
240
264
|
extraHeight;
|
|
241
265
|
|
|
242
|
-
|
|
243
|
-
const colors = getCardColors({
|
|
244
|
-
title_color,
|
|
245
|
-
icon_color,
|
|
246
|
-
text_color,
|
|
247
|
-
bg_color,
|
|
248
|
-
border_color,
|
|
249
|
-
theme,
|
|
250
|
-
});
|
|
266
|
+
const { lightColors, darkColors } = getLightDarkColors({ ...options, theme });
|
|
251
267
|
|
|
252
268
|
const svgLanguage = primaryLanguage
|
|
253
269
|
? createLanguageNode(langName, langColor)
|
|
254
270
|
: "";
|
|
255
271
|
|
|
256
|
-
const totalStars = kFormatter(
|
|
272
|
+
const totalStars = kFormatter(stargazerCount);
|
|
257
273
|
const totalForks = kFormatter(forkCount);
|
|
258
274
|
const svgStars = iconWithLabel(
|
|
259
275
|
icons.star,
|
|
@@ -278,7 +294,7 @@ const renderRepoCard = (repo, options = {}) => {
|
|
|
278
294
|
gap: 25,
|
|
279
295
|
}).join("");
|
|
280
296
|
|
|
281
|
-
|
|
297
|
+
const extraRows: Array<string> = [];
|
|
282
298
|
for (let i = 0; i < statItems.length; i += 2) {
|
|
283
299
|
extraRows.push(
|
|
284
300
|
flexLayout({
|
|
@@ -304,22 +320,24 @@ const renderRepoCard = (repo, options = {}) => {
|
|
|
304
320
|
width: card_width,
|
|
305
321
|
height,
|
|
306
322
|
border_radius,
|
|
307
|
-
colors,
|
|
323
|
+
colors: { light: lightColors, dark: darkColors },
|
|
308
324
|
});
|
|
309
325
|
|
|
310
326
|
card.disableAnimations();
|
|
311
327
|
card.setHideBorder(hide_border);
|
|
312
328
|
card.setHideTitle(false);
|
|
313
|
-
card.setCSS(
|
|
329
|
+
card.setCSS({
|
|
330
|
+
light: `
|
|
314
331
|
.description {
|
|
315
|
-
font: 400 ${DESCRIPTION_FONT_SIZE}px 'Segoe UI', Ubuntu, Sans-Serif;fill: ${
|
|
316
|
-
${browser_rendering ? wrappedTextStyles(
|
|
332
|
+
font: 400 ${DESCRIPTION_FONT_SIZE}px 'Segoe UI', Ubuntu, Sans-Serif;fill: ${lightColors.textColor};
|
|
333
|
+
${browser_rendering ? wrappedTextStyles(lightColors.textColor) : ""}
|
|
317
334
|
}
|
|
318
|
-
.gray { font: 400 12px 'Segoe UI', Ubuntu, Sans-Serif; fill: ${
|
|
335
|
+
.gray { font: 400 12px 'Segoe UI', Ubuntu, Sans-Serif; fill: ${lightColors.textColor} }
|
|
319
336
|
.badge { font: 600 11px 'Segoe UI', Ubuntu, Sans-Serif; }
|
|
320
|
-
.badge rect { opacity: 0.2 }
|
|
337
|
+
.badge rect { opacity: 0.2; stroke: ${lightColors.textColor} }
|
|
338
|
+
.badge text { fill: ${lightColors.textColor} }
|
|
321
339
|
|
|
322
|
-
.stat { font: 400 12px 'Segoe UI', Ubuntu, Sans-Serif; fill: ${
|
|
340
|
+
.stat { font: 400 12px 'Segoe UI', Ubuntu, Sans-Serif; fill: ${lightColors.textColor} }
|
|
323
341
|
.stagger {
|
|
324
342
|
opacity: 0;
|
|
325
343
|
animation: fadeInAnimation 0.3s ease-in-out forwards;
|
|
@@ -327,25 +345,35 @@ const renderRepoCard = (repo, options = {}) => {
|
|
|
327
345
|
.not_bold { font-weight: 400 }
|
|
328
346
|
.bold { font-weight: 700 }
|
|
329
347
|
.icon {
|
|
330
|
-
fill: ${
|
|
348
|
+
fill: ${lightColors.iconColor};
|
|
331
349
|
display: block;
|
|
332
350
|
}
|
|
333
|
-
|
|
351
|
+
`,
|
|
352
|
+
dark: darkColors
|
|
353
|
+
? `
|
|
354
|
+
.description {
|
|
355
|
+
fill: ${darkColors.textColor};
|
|
356
|
+
${browser_rendering ? wrappedTextStyles(darkColors.textColor) : ""}
|
|
357
|
+
}
|
|
358
|
+
.gray { fill: ${darkColors.textColor} }
|
|
359
|
+
.badge rect { stroke: ${darkColors.textColor} }
|
|
360
|
+
.badge text { fill: ${darkColors.textColor} }
|
|
361
|
+
.stat { fill: ${darkColors.textColor} }
|
|
362
|
+
.icon { fill: ${darkColors.iconColor}; }
|
|
363
|
+
`
|
|
364
|
+
: null,
|
|
365
|
+
});
|
|
334
366
|
|
|
335
367
|
return card.render(`
|
|
336
368
|
${
|
|
337
369
|
isTemplate
|
|
338
|
-
?
|
|
339
|
-
getBadgeSVG(
|
|
370
|
+
? getBadgeSVG(
|
|
340
371
|
i18n.t("repocard.template"),
|
|
341
|
-
colors.textColor,
|
|
342
372
|
card_width - CARD_DEFAULT_WIDTH,
|
|
343
373
|
)
|
|
344
374
|
: isArchived
|
|
345
|
-
?
|
|
346
|
-
getBadgeSVG(
|
|
375
|
+
? getBadgeSVG(
|
|
347
376
|
i18n.t("repocard.archived"),
|
|
348
|
-
colors.textColor,
|
|
349
377
|
card_width - CARD_DEFAULT_WIDTH,
|
|
350
378
|
)
|
|
351
379
|
: ""
|