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";
|
||||
|
||||
async function main() {
|
||||
|
||||
try {
|
||||
const username = core.getInput("username");
|
||||
|
||||
|
@ -29,19 +30,19 @@ async function main() {
|
|||
// Generate Profile Summary Card
|
||||
const profilecard = ReactDOMServer.renderToStaticMarkup(
|
||||
new ProfileCard(profile.username, profile.xp, profile.recentXp, {
|
||||
// hide: parseArray(core.getInput("profile_card_hide_lines")),
|
||||
// show_icons: core.getBooleanInput("profile_card_show_icons"),
|
||||
// hide_rank: core.getBooleanInput("profile_card_hide_rank"),
|
||||
// line_height: parseNumber(core.getInput("profile_card_line_height")),
|
||||
// title: core.getInput("profile_card_title")
|
||||
// ? core.getInput("profile_card_title")
|
||||
// : `Code::Stats of ${username}`,
|
||||
// title_color: core.getInput("common_title_color"),
|
||||
// icon_color: core.getInput("common_icon_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"),
|
||||
hide: parseArray(core.getInput("profile_card_hide_lines")),
|
||||
show_icons: core.getBooleanInput("profile_card_show_icons"),
|
||||
hide_rank: core.getBooleanInput("profile_card_hide_rank"),
|
||||
line_height: parseNumber(core.getInput("profile_card_line_height")),
|
||||
title: core.getInput("profile_card_title")
|
||||
? core.getInput("profile_card_title")
|
||||
: `Code::Stats of ${username}`,
|
||||
title_color: core.getInput("common_title_color"),
|
||||
icon_color: core.getInput("common_icon_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
|
||||
? (core.getInput("theme") as keyof typeof themes)
|
||||
|
@ -55,22 +56,22 @@ async function main() {
|
|||
// Generate Top Languages Card
|
||||
const toplangcard = ReactDOMServer.renderToStaticMarkup(
|
||||
new TopLanguagesCard(username, toplang.langs, {
|
||||
// hide: parseArray(core.getInput("common_hide_languages")),
|
||||
// language_count: parseNumber(
|
||||
// core.getInput("toplangs_card_language_count")
|
||||
// ),
|
||||
// card_width: 500,
|
||||
// layout: core.getBooleanInput("toplangs_card_compact_layout")
|
||||
// ? "compact"
|
||||
// : undefined,
|
||||
// title: core.getInput("toplangs_card_title")
|
||||
// ? core.getInput("toplangs_card_title")
|
||||
// : `Code::Stats of ${username}`,
|
||||
// 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"),
|
||||
hide: parseArray(core.getInput("common_hide_languages")),
|
||||
language_count: parseNumber(
|
||||
core.getInput("toplangs_card_language_count")
|
||||
),
|
||||
card_width: 500,
|
||||
layout: core.getBooleanInput("toplangs_card_compact_layout")
|
||||
? "compact"
|
||||
: undefined,
|
||||
title: core.getInput("toplangs_card_title")
|
||||
? core.getInput("toplangs_card_title")
|
||||
: `Code::Stats of ${username}`,
|
||||
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
|
||||
? (core.getInput("theme") as keyof typeof themes)
|
||||
|
@ -84,22 +85,25 @@ async function main() {
|
|||
// Generate History Card
|
||||
const historycard = ReactDOMServer.renderToStaticMarkup(
|
||||
new HistoryCard(username, history, {
|
||||
// hide: parseArray(core.getInput("common_hide_languages")),
|
||||
// language_count: parseNumber(
|
||||
// core.getInput("history_card_language_count")
|
||||
// ),
|
||||
// hide_legend: core.getBooleanInput("history_card_hide_legend"),
|
||||
// reverse_order: core.getBooleanInput("history_card_reverse_order"),
|
||||
// width: 500,
|
||||
// height: 300,
|
||||
// title_color: core.getInput("common_title_color"),
|
||||
// text_color: core.getInput("common_text_color"),
|
||||
// bg_color: core.getInput("common_bg_color"),
|
||||
// layout: core.getBooleanInput("history_card_horizontal_layout")
|
||||
// ? "horizontal"
|
||||
// : undefined,
|
||||
// hide_title: core.getBooleanInput("common_hide_title"),
|
||||
// hide_border: core.getBooleanInput("common_hide_border"),
|
||||
hide: parseArray(core.getInput("common_hide_languages")),
|
||||
language_count: parseNumber(
|
||||
core.getInput("history_card_language_count")
|
||||
),
|
||||
hide_legend: core.getBooleanInput("history_card_hide_legend"),
|
||||
reverse_order: core.getBooleanInput("history_card_reverse_order"),
|
||||
width: 500,
|
||||
height: 300,
|
||||
title_color: core.getInput("common_title_color"),
|
||||
text_color: core.getInput("common_text_color"),
|
||||
bg_color: core.getInput("common_bg_color"),
|
||||
layout: core.getBooleanInput("history_card_horizontal_layout")
|
||||
? "horizontal"
|
||||
: undefined,
|
||||
hide_title: core.getBooleanInput("common_hide_title"),
|
||||
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:
|
||||
core.getInput("theme") in themes
|
||||
? (core.getInput("theme") as keyof typeof themes)
|
||||
|
|
|
@ -94,6 +94,11 @@ inputs:
|
|||
type: number
|
||||
default: 14
|
||||
|
||||
history_card_title:
|
||||
description: Change the cards title
|
||||
required: false
|
||||
type: string
|
||||
|
||||
common_hide_languages:
|
||||
description: "Hide specific line, eg: `scminput,Log,Plain text`"
|
||||
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 });
|
||||
var core = __importStar(require("@actions/core"));
|
||||
var fs = __importStar(require("fs"));
|
||||
var themes_json_1 = __importDefault(require("./themes/themes.json"));
|
||||
var fetcher_1 = require("./src/fetcher");
|
||||
var ProfileCard_1 = __importDefault(require("./src/cards/ProfileCard"));
|
||||
var TopLanguagesCard_1 = __importDefault(require("./src/cards/TopLanguagesCard"));
|
||||
|
@ -78,57 +79,79 @@ function main() {
|
|||
case 0:
|
||||
_a.trys.push([0, 4, , 5]);
|
||||
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)];
|
||||
case 1:
|
||||
profile = _a.sent();
|
||||
return [4 /*yield*/, (0, fetcher_1.fetchTopLanguages)(username)];
|
||||
case 2:
|
||||
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:
|
||||
history_1 = _a.sent();
|
||||
profilecard = server_1.default.renderToStaticMarkup(new ProfileCard_1.default(profile.username, profile.xp, profile.recentXp, {
|
||||
hide: (0, utils_1.parseArray)(core.getInput("hide")),
|
||||
show_icons: (0, utils_1.parseBoolean)(core.getInput("show_icons")),
|
||||
hide_rank: (0, utils_1.parseBoolean)(core.getInput("hide_rank")),
|
||||
line_height: (0, utils_1.parseNumber)(core.getInput("line_height")),
|
||||
title: "Code::Stats of ".concat(username),
|
||||
title_color: core.getInput("title_color"),
|
||||
icon_color: core.getInput("icon_color"),
|
||||
text_color: core.getInput("text_color"),
|
||||
bg_color: core.getInput("bg_color"),
|
||||
hide_title: (0, utils_1.parseBoolean)(core.getInput("hide_title")),
|
||||
hide_border: (0, utils_1.parseBoolean)(core.getInput("hide_border")),
|
||||
hide: (0, utils_1.parseArray)(core.getInput("profile_card_hide_lines")),
|
||||
show_icons: core.getBooleanInput("profile_card_show_icons"),
|
||||
hide_rank: core.getBooleanInput("profile_card_hide_rank"),
|
||||
line_height: (0, utils_1.parseNumber)(core.getInput("profile_card_line_height")),
|
||||
title: core.getInput("profile_card_title")
|
||||
? core.getInput("profile_card_title")
|
||||
: "Code::Stats of ".concat(username),
|
||||
title_color: core.getInput("common_title_color"),
|
||||
icon_color: core.getInput("common_icon_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());
|
||||
console.log("Generated ./codestats_profilecard_".concat(username, ".svg"));
|
||||
fs.writeFileSync("./codestats_profilecard_".concat(username, ".svg"), profilecard);
|
||||
toplangcard = server_1.default.renderToStaticMarkup(new TopLanguagesCard_1.default(username, toplang.langs, {
|
||||
hide: (0, utils_1.parseArray)(core.getInput("hide")),
|
||||
language_count: (0, utils_1.parseNumber)(core.getInput("language_count")),
|
||||
card_width: (0, utils_1.clampValue)((0, utils_1.parseNumber)(core.getInput("card_width")) || 300, 500),
|
||||
layout: core.getInput("layout"),
|
||||
title: "Code::Stats of ".concat(username),
|
||||
title_color: core.getInput("title_color"),
|
||||
text_color: core.getInput("text_color"),
|
||||
bg_color: core.getInput("bg_color"),
|
||||
hide_title: (0, utils_1.parseBoolean)(core.getInput("hide_title")),
|
||||
hide_border: (0, utils_1.parseBoolean)(core.getInput("hide_border")),
|
||||
hide: (0, utils_1.parseArray)(core.getInput("common_hide_languages")),
|
||||
language_count: (0, utils_1.parseNumber)(core.getInput("toplangs_card_language_count")),
|
||||
card_width: 500,
|
||||
layout: core.getBooleanInput("toplangs_card_compact_layout")
|
||||
? "compact"
|
||||
: undefined,
|
||||
title: core.getInput("toplangs_card_title")
|
||||
? core.getInput("toplangs_card_title")
|
||||
: "Code::Stats of ".concat(username),
|
||||
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());
|
||||
console.log("Generated ./codestats_toplangs_".concat(username, ".svg"));
|
||||
fs.writeFileSync("./codestats_toplangs_".concat(username, ".svg"), toplangcard);
|
||||
historycard = server_1.default.renderToStaticMarkup(new HistoryCard_1.default(username, history_1, {
|
||||
hide: (0, utils_1.parseArray)(core.getInput("hide")),
|
||||
language_count: (0, utils_1.parseNumber)(core.getInput("language_count")),
|
||||
hide_legend: (0, utils_1.parseBoolean)(core.getInput("hide_legend")),
|
||||
reverse_order: (0, utils_1.parseBoolean)(core.getInput("reverse_order")),
|
||||
width: (0, utils_1.clampValue)((0, utils_1.parseNumber)(core.getInput("card_width")) || 300, 500),
|
||||
height: (0, utils_1.clampValue)((0, utils_1.parseNumber)(core.getInput("card_height")) || 300, 200),
|
||||
title_color: core.getInput("title_color"),
|
||||
text_color: core.getInput("text_color"),
|
||||
bg_color: core.getInput("bg_color"),
|
||||
layout: undefined,
|
||||
hide_title: (0, utils_1.parseBoolean)(core.getInput("hide_title")),
|
||||
hide_border: (0, utils_1.parseBoolean)(core.getInput("hide_border")),
|
||||
hide: (0, utils_1.parseArray)(core.getInput("common_hide_languages")),
|
||||
language_count: (0, utils_1.parseNumber)(core.getInput("history_card_language_count")),
|
||||
hide_legend: core.getBooleanInput("history_card_hide_legend"),
|
||||
reverse_order: core.getBooleanInput("history_card_reverse_order"),
|
||||
width: 500,
|
||||
height: 300,
|
||||
title_color: core.getInput("common_title_color"),
|
||||
text_color: core.getInput("common_text_color"),
|
||||
bg_color: core.getInput("common_bg_color"),
|
||||
layout: core.getBooleanInput("history_card_horizontal_layout")
|
||||
? "horizontal"
|
||||
: 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());
|
||||
console.log("Generated ./codestats_history_".concat(username, ".svg"));
|
||||
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;
|
||||
function parseNumber(number) {
|
||||
if (typeof number === 'undefined' || typeof number === 'number') {
|
||||
return number;
|
||||
return 0;
|
||||
}
|
||||
var n = parseFloat(number);
|
||||
if (isNaN(n)) {
|
||||
return undefined;
|
||||
return 0;
|
||||
}
|
||||
return n;
|
||||
}
|
||||
|
|
6
dist/themes/themes.json
vendored
6
dist/themes/themes.json
vendored
|
@ -214,11 +214,5 @@
|
|||
"icon_color": "61dafb",
|
||||
"text_color": "ffffff",
|
||||
"bg_color": "20232a"
|
||||
},
|
||||
"snownight": {
|
||||
"title_color": "ffffff",
|
||||
"icon_color": "ffffff",
|
||||
"text_color": "ffffff",
|
||||
"bg_color": "000000a0"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -214,11 +214,5 @@
|
|||
"icon_color": "61dafb",
|
||||
"text_color": "ffffff",
|
||||
"bg_color": "20232a"
|
||||
},
|
||||
"snownight": {
|
||||
"title_color": "ffffff",
|
||||
"icon_color": "ffffff",
|
||||
"text_color": "ffffff",
|
||||
"bg_color": "000000a0"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue