Compare commits
10 commits
72f7e298b2
...
f349a7f7e0
Author | SHA1 | Date | |
---|---|---|---|
![]() |
f349a7f7e0 | ||
![]() |
b8564e2c30 | ||
![]() |
3ff078e031 | ||
![]() |
d816974e6f | ||
![]() |
adf499add6 | ||
![]() |
9530e145dd | ||
![]() |
210fcc8676 | ||
![]() |
480fc43816 | ||
![]() |
8ec165ee4d | ||
![]() |
41e090862d |
6 changed files with 113 additions and 93 deletions
94
action.ts
94
action.ts
|
@ -14,6 +14,7 @@ import {
|
||||||
} from "./src/common/utils";
|
} from "./src/common/utils";
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const username = core.getInput("username");
|
const username = core.getInput("username");
|
||||||
|
|
||||||
|
@ -29,19 +30,19 @@ async function main() {
|
||||||
// Generate Profile Summary Card
|
// Generate Profile Summary Card
|
||||||
const profilecard = ReactDOMServer.renderToStaticMarkup(
|
const profilecard = ReactDOMServer.renderToStaticMarkup(
|
||||||
new ProfileCard(profile.username, profile.xp, profile.recentXp, {
|
new ProfileCard(profile.username, profile.xp, profile.recentXp, {
|
||||||
// hide: parseArray(core.getInput("profile_card_hide_lines")),
|
hide: parseArray(core.getInput("profile_card_hide_lines")),
|
||||||
// show_icons: core.getBooleanInput("profile_card_show_icons"),
|
show_icons: core.getBooleanInput("profile_card_show_icons"),
|
||||||
// hide_rank: core.getBooleanInput("profile_card_hide_rank"),
|
hide_rank: core.getBooleanInput("profile_card_hide_rank"),
|
||||||
// line_height: parseNumber(core.getInput("profile_card_line_height")),
|
line_height: parseNumber(core.getInput("profile_card_line_height")),
|
||||||
// title: core.getInput("profile_card_title")
|
title: core.getInput("profile_card_title")
|
||||||
// ? core.getInput("profile_card_title")
|
? core.getInput("profile_card_title")
|
||||||
// : `Code::Stats of ${username}`,
|
: `Code::Stats of ${username}`,
|
||||||
// title_color: core.getInput("common_title_color"),
|
title_color: core.getInput("common_title_color"),
|
||||||
// icon_color: core.getInput("common_icon_color"),
|
icon_color: core.getInput("common_icon_color"),
|
||||||
// text_color: core.getInput("common_text_color"),
|
text_color: core.getInput("common_text_color"),
|
||||||
// bg_color: core.getInput("common_bg_color"),
|
bg_color: core.getInput("common_bg_color"),
|
||||||
// hide_title: core.getBooleanInput("common_hide_title"),
|
hide_title: core.getBooleanInput("common_hide_title"),
|
||||||
// hide_border: core.getBooleanInput("common_hide_border"),
|
hide_border: core.getBooleanInput("common_hide_border"),
|
||||||
theme:
|
theme:
|
||||||
core.getInput("theme") in themes
|
core.getInput("theme") in themes
|
||||||
? (core.getInput("theme") as keyof typeof themes)
|
? (core.getInput("theme") as keyof typeof themes)
|
||||||
|
@ -55,22 +56,22 @@ async function main() {
|
||||||
// Generate Top Languages Card
|
// Generate Top Languages Card
|
||||||
const toplangcard = ReactDOMServer.renderToStaticMarkup(
|
const toplangcard = ReactDOMServer.renderToStaticMarkup(
|
||||||
new TopLanguagesCard(username, toplang.langs, {
|
new TopLanguagesCard(username, toplang.langs, {
|
||||||
// hide: parseArray(core.getInput("common_hide_languages")),
|
hide: parseArray(core.getInput("common_hide_languages")),
|
||||||
// language_count: parseNumber(
|
language_count: parseNumber(
|
||||||
// core.getInput("toplangs_card_language_count")
|
core.getInput("toplangs_card_language_count")
|
||||||
// ),
|
),
|
||||||
// card_width: 500,
|
card_width: 500,
|
||||||
// layout: core.getBooleanInput("toplangs_card_compact_layout")
|
layout: core.getBooleanInput("toplangs_card_compact_layout")
|
||||||
// ? "compact"
|
? "compact"
|
||||||
// : undefined,
|
: undefined,
|
||||||
// title: core.getInput("toplangs_card_title")
|
title: core.getInput("toplangs_card_title")
|
||||||
// ? core.getInput("toplangs_card_title")
|
? core.getInput("toplangs_card_title")
|
||||||
// : `Code::Stats of ${username}`,
|
: `Code::Stats of ${username}`,
|
||||||
// title_color: core.getInput("common_title_color"),
|
title_color: core.getInput("common_title_color"),
|
||||||
// text_color: core.getInput("common_text_color"),
|
text_color: core.getInput("common_text_color"),
|
||||||
// bg_color: core.getInput("common_bg_color"),
|
bg_color: core.getInput("common_bg_color"),
|
||||||
// hide_title: core.getBooleanInput("common_hide_title"),
|
hide_title: core.getBooleanInput("common_hide_title"),
|
||||||
// hide_border: core.getBooleanInput("common_hide_border"),
|
hide_border: core.getBooleanInput("common_hide_border"),
|
||||||
theme:
|
theme:
|
||||||
core.getInput("theme") in themes
|
core.getInput("theme") in themes
|
||||||
? (core.getInput("theme") as keyof typeof themes)
|
? (core.getInput("theme") as keyof typeof themes)
|
||||||
|
@ -84,22 +85,25 @@ async function main() {
|
||||||
// Generate History Card
|
// Generate History Card
|
||||||
const historycard = ReactDOMServer.renderToStaticMarkup(
|
const historycard = ReactDOMServer.renderToStaticMarkup(
|
||||||
new HistoryCard(username, history, {
|
new HistoryCard(username, history, {
|
||||||
// hide: parseArray(core.getInput("common_hide_languages")),
|
hide: parseArray(core.getInput("common_hide_languages")),
|
||||||
// language_count: parseNumber(
|
language_count: parseNumber(
|
||||||
// core.getInput("history_card_language_count")
|
core.getInput("history_card_language_count")
|
||||||
// ),
|
),
|
||||||
// hide_legend: core.getBooleanInput("history_card_hide_legend"),
|
hide_legend: core.getBooleanInput("history_card_hide_legend"),
|
||||||
// reverse_order: core.getBooleanInput("history_card_reverse_order"),
|
reverse_order: core.getBooleanInput("history_card_reverse_order"),
|
||||||
// width: 500,
|
width: 500,
|
||||||
// height: 300,
|
height: 300,
|
||||||
// title_color: core.getInput("common_title_color"),
|
title_color: core.getInput("common_title_color"),
|
||||||
// text_color: core.getInput("common_text_color"),
|
text_color: core.getInput("common_text_color"),
|
||||||
// bg_color: core.getInput("common_bg_color"),
|
bg_color: core.getInput("common_bg_color"),
|
||||||
// layout: core.getBooleanInput("history_card_horizontal_layout")
|
layout: core.getBooleanInput("history_card_horizontal_layout")
|
||||||
// ? "horizontal"
|
? "horizontal"
|
||||||
// : undefined,
|
: undefined,
|
||||||
// hide_title: core.getBooleanInput("common_hide_title"),
|
hide_title: core.getBooleanInput("common_hide_title"),
|
||||||
// hide_border: core.getBooleanInput("common_hide_border"),
|
title: core.getInput("history_card_title")
|
||||||
|
? core.getInput("history_card_title")
|
||||||
|
: `Last ${parseNumber(core.getInput("history_card_language_count"))} days XP history`,
|
||||||
|
hide_border: core.getBooleanInput("common_hide_border"),
|
||||||
theme:
|
theme:
|
||||||
core.getInput("theme") in themes
|
core.getInput("theme") in themes
|
||||||
? (core.getInput("theme") as keyof typeof themes)
|
? (core.getInput("theme") as keyof typeof themes)
|
||||||
|
|
|
@ -94,6 +94,11 @@ inputs:
|
||||||
type: number
|
type: number
|
||||||
default: 14
|
default: 14
|
||||||
|
|
||||||
|
history_card_title:
|
||||||
|
description: Change the cards title
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
common_hide_languages:
|
common_hide_languages:
|
||||||
description: "Hide specific line, eg: `scminput,Log,Plain text`"
|
description: "Hide specific line, eg: `scminput,Log,Plain text`"
|
||||||
required: false
|
required: false
|
||||||
|
|
91
dist/action.js
vendored
91
dist/action.js
vendored
|
@ -64,6 +64,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
var core = __importStar(require("@actions/core"));
|
var core = __importStar(require("@actions/core"));
|
||||||
var fs = __importStar(require("fs"));
|
var fs = __importStar(require("fs"));
|
||||||
|
var themes_json_1 = __importDefault(require("./themes/themes.json"));
|
||||||
var fetcher_1 = require("./src/fetcher");
|
var fetcher_1 = require("./src/fetcher");
|
||||||
var ProfileCard_1 = __importDefault(require("./src/cards/ProfileCard"));
|
var ProfileCard_1 = __importDefault(require("./src/cards/ProfileCard"));
|
||||||
var TopLanguagesCard_1 = __importDefault(require("./src/cards/TopLanguagesCard"));
|
var TopLanguagesCard_1 = __importDefault(require("./src/cards/TopLanguagesCard"));
|
||||||
|
@ -78,57 +79,79 @@ function main() {
|
||||||
case 0:
|
case 0:
|
||||||
_a.trys.push([0, 4, , 5]);
|
_a.trys.push([0, 4, , 5]);
|
||||||
username = core.getInput("username");
|
username = core.getInput("username");
|
||||||
|
// Fetch Code::Stats API
|
||||||
|
console.log("Fetch account data: codestats.net/users/".concat(username));
|
||||||
return [4 /*yield*/, (0, fetcher_1.fetchProfile)(username)];
|
return [4 /*yield*/, (0, fetcher_1.fetchProfile)(username)];
|
||||||
case 1:
|
case 1:
|
||||||
profile = _a.sent();
|
profile = _a.sent();
|
||||||
return [4 /*yield*/, (0, fetcher_1.fetchTopLanguages)(username)];
|
return [4 /*yield*/, (0, fetcher_1.fetchTopLanguages)(username)];
|
||||||
case 2:
|
case 2:
|
||||||
toplang = _a.sent();
|
toplang = _a.sent();
|
||||||
return [4 /*yield*/, (0, fetcher_1.fetchHistory)(username, 32)];
|
return [4 /*yield*/, (0, fetcher_1.fetchHistory)(username, (0, utils_1.parseNumber)(core.getInput("history_card_days_count")))];
|
||||||
case 3:
|
case 3:
|
||||||
history_1 = _a.sent();
|
history_1 = _a.sent();
|
||||||
profilecard = server_1.default.renderToStaticMarkup(new ProfileCard_1.default(profile.username, profile.xp, profile.recentXp, {
|
profilecard = server_1.default.renderToStaticMarkup(new ProfileCard_1.default(profile.username, profile.xp, profile.recentXp, {
|
||||||
hide: (0, utils_1.parseArray)(core.getInput("hide")),
|
hide: (0, utils_1.parseArray)(core.getInput("profile_card_hide_lines")),
|
||||||
show_icons: (0, utils_1.parseBoolean)(core.getInput("show_icons")),
|
show_icons: core.getBooleanInput("profile_card_show_icons"),
|
||||||
hide_rank: (0, utils_1.parseBoolean)(core.getInput("hide_rank")),
|
hide_rank: core.getBooleanInput("profile_card_hide_rank"),
|
||||||
line_height: (0, utils_1.parseNumber)(core.getInput("line_height")),
|
line_height: (0, utils_1.parseNumber)(core.getInput("profile_card_line_height")),
|
||||||
title: "Code::Stats of ".concat(username),
|
title: core.getInput("profile_card_title")
|
||||||
title_color: core.getInput("title_color"),
|
? core.getInput("profile_card_title")
|
||||||
icon_color: core.getInput("icon_color"),
|
: "Code::Stats of ".concat(username),
|
||||||
text_color: core.getInput("text_color"),
|
title_color: core.getInput("common_title_color"),
|
||||||
bg_color: core.getInput("bg_color"),
|
icon_color: core.getInput("common_icon_color"),
|
||||||
hide_title: (0, utils_1.parseBoolean)(core.getInput("hide_title")),
|
text_color: core.getInput("common_text_color"),
|
||||||
hide_border: (0, utils_1.parseBoolean)(core.getInput("hide_border")),
|
bg_color: core.getInput("common_bg_color"),
|
||||||
|
hide_title: core.getBooleanInput("common_hide_title"),
|
||||||
|
hide_border: core.getBooleanInput("common_hide_border"),
|
||||||
|
theme: core.getInput("theme") in themes_json_1.default
|
||||||
|
? core.getInput("theme")
|
||||||
|
: "default",
|
||||||
}).render());
|
}).render());
|
||||||
console.log("Generated ./codestats_profilecard_".concat(username, ".svg"));
|
console.log("Generated ./codestats_profilecard_".concat(username, ".svg"));
|
||||||
fs.writeFileSync("./codestats_profilecard_".concat(username, ".svg"), profilecard);
|
fs.writeFileSync("./codestats_profilecard_".concat(username, ".svg"), profilecard);
|
||||||
toplangcard = server_1.default.renderToStaticMarkup(new TopLanguagesCard_1.default(username, toplang.langs, {
|
toplangcard = server_1.default.renderToStaticMarkup(new TopLanguagesCard_1.default(username, toplang.langs, {
|
||||||
hide: (0, utils_1.parseArray)(core.getInput("hide")),
|
hide: (0, utils_1.parseArray)(core.getInput("common_hide_languages")),
|
||||||
language_count: (0, utils_1.parseNumber)(core.getInput("language_count")),
|
language_count: (0, utils_1.parseNumber)(core.getInput("toplangs_card_language_count")),
|
||||||
card_width: (0, utils_1.clampValue)((0, utils_1.parseNumber)(core.getInput("card_width")) || 300, 500),
|
card_width: 500,
|
||||||
layout: core.getInput("layout"),
|
layout: core.getBooleanInput("toplangs_card_compact_layout")
|
||||||
title: "Code::Stats of ".concat(username),
|
? "compact"
|
||||||
title_color: core.getInput("title_color"),
|
: undefined,
|
||||||
text_color: core.getInput("text_color"),
|
title: core.getInput("toplangs_card_title")
|
||||||
bg_color: core.getInput("bg_color"),
|
? core.getInput("toplangs_card_title")
|
||||||
hide_title: (0, utils_1.parseBoolean)(core.getInput("hide_title")),
|
: "Code::Stats of ".concat(username),
|
||||||
hide_border: (0, utils_1.parseBoolean)(core.getInput("hide_border")),
|
title_color: core.getInput("common_title_color"),
|
||||||
|
text_color: core.getInput("common_text_color"),
|
||||||
|
bg_color: core.getInput("common_bg_color"),
|
||||||
|
hide_title: core.getBooleanInput("common_hide_title"),
|
||||||
|
hide_border: core.getBooleanInput("common_hide_border"),
|
||||||
|
theme: core.getInput("theme") in themes_json_1.default
|
||||||
|
? core.getInput("theme")
|
||||||
|
: "default",
|
||||||
}).render());
|
}).render());
|
||||||
console.log("Generated ./codestats_toplangs_".concat(username, ".svg"));
|
console.log("Generated ./codestats_toplangs_".concat(username, ".svg"));
|
||||||
fs.writeFileSync("./codestats_toplangs_".concat(username, ".svg"), toplangcard);
|
fs.writeFileSync("./codestats_toplangs_".concat(username, ".svg"), toplangcard);
|
||||||
historycard = server_1.default.renderToStaticMarkup(new HistoryCard_1.default(username, history_1, {
|
historycard = server_1.default.renderToStaticMarkup(new HistoryCard_1.default(username, history_1, {
|
||||||
hide: (0, utils_1.parseArray)(core.getInput("hide")),
|
hide: (0, utils_1.parseArray)(core.getInput("common_hide_languages")),
|
||||||
language_count: (0, utils_1.parseNumber)(core.getInput("language_count")),
|
language_count: (0, utils_1.parseNumber)(core.getInput("history_card_language_count")),
|
||||||
hide_legend: (0, utils_1.parseBoolean)(core.getInput("hide_legend")),
|
hide_legend: core.getBooleanInput("history_card_hide_legend"),
|
||||||
reverse_order: (0, utils_1.parseBoolean)(core.getInput("reverse_order")),
|
reverse_order: core.getBooleanInput("history_card_reverse_order"),
|
||||||
width: (0, utils_1.clampValue)((0, utils_1.parseNumber)(core.getInput("card_width")) || 300, 500),
|
width: 500,
|
||||||
height: (0, utils_1.clampValue)((0, utils_1.parseNumber)(core.getInput("card_height")) || 300, 200),
|
height: 300,
|
||||||
title_color: core.getInput("title_color"),
|
title_color: core.getInput("common_title_color"),
|
||||||
text_color: core.getInput("text_color"),
|
text_color: core.getInput("common_text_color"),
|
||||||
bg_color: core.getInput("bg_color"),
|
bg_color: core.getInput("common_bg_color"),
|
||||||
layout: undefined,
|
layout: core.getBooleanInput("history_card_horizontal_layout")
|
||||||
hide_title: (0, utils_1.parseBoolean)(core.getInput("hide_title")),
|
? "horizontal"
|
||||||
hide_border: (0, utils_1.parseBoolean)(core.getInput("hide_border")),
|
: undefined,
|
||||||
|
hide_title: core.getBooleanInput("common_hide_title"),
|
||||||
|
title: core.getInput("history_card_title")
|
||||||
|
? core.getInput("history_card_title")
|
||||||
|
: "Last ".concat((0, utils_1.parseNumber)(core.getInput("history_card_language_count")), " days XP history"),
|
||||||
|
hide_border: core.getBooleanInput("common_hide_border"),
|
||||||
|
theme: core.getInput("theme") in themes_json_1.default
|
||||||
|
? core.getInput("theme")
|
||||||
|
: "default",
|
||||||
}).render());
|
}).render());
|
||||||
console.log("Generated ./codestats_history_".concat(username, ".svg"));
|
console.log("Generated ./codestats_history_".concat(username, ".svg"));
|
||||||
fs.writeFileSync("./codestats_history_".concat(username, ".svg"), historycard);
|
fs.writeFileSync("./codestats_history_".concat(username, ".svg"), historycard);
|
||||||
|
|
4
dist/src/common/utils.js
vendored
4
dist/src/common/utils.js
vendored
|
@ -208,11 +208,11 @@ function trunc(number, digits) {
|
||||||
exports.trunc = trunc;
|
exports.trunc = trunc;
|
||||||
function parseNumber(number) {
|
function parseNumber(number) {
|
||||||
if (typeof number === 'undefined' || typeof number === 'number') {
|
if (typeof number === 'undefined' || typeof number === 'number') {
|
||||||
return number;
|
return 0;
|
||||||
}
|
}
|
||||||
var n = parseFloat(number);
|
var n = parseFloat(number);
|
||||||
if (isNaN(n)) {
|
if (isNaN(n)) {
|
||||||
return undefined;
|
return 0;
|
||||||
}
|
}
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
6
dist/themes/themes.json
vendored
6
dist/themes/themes.json
vendored
|
@ -214,11 +214,5 @@
|
||||||
"icon_color": "61dafb",
|
"icon_color": "61dafb",
|
||||||
"text_color": "ffffff",
|
"text_color": "ffffff",
|
||||||
"bg_color": "20232a"
|
"bg_color": "20232a"
|
||||||
},
|
|
||||||
"snownight": {
|
|
||||||
"title_color": "ffffff",
|
|
||||||
"icon_color": "ffffff",
|
|
||||||
"text_color": "ffffff",
|
|
||||||
"bg_color": "000000a0"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -214,11 +214,5 @@
|
||||||
"icon_color": "61dafb",
|
"icon_color": "61dafb",
|
||||||
"text_color": "ffffff",
|
"text_color": "ffffff",
|
||||||
"bg_color": "20232a"
|
"bg_color": "20232a"
|
||||||
},
|
|
||||||
"snownight": {
|
|
||||||
"title_color": "ffffff",
|
|
||||||
"icon_color": "ffffff",
|
|
||||||
"text_color": "ffffff",
|
|
||||||
"bg_color": "000000a0"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue