Compare commits

...

10 commits

Author SHA1 Message Date
Domai
f349a7f7e0
Merge branch 'dev' 2023-09-30 11:21:38 +02:00
Domai
b8564e2c30
Merge branch 'action' into dev 2023-09-30 11:21:13 +02:00
Domai
3ff078e031
add history card title changes 2023-09-30 11:08:42 +02:00
Domai
d816974e6f
remove theme domai-tb 2023-09-30 10:58:32 +02:00
Domai
adf499add6
update themes 2023-09-30 10:51:22 +02:00
Domai
9530e145dd
update action 2023-09-30 10:43:24 +02:00
Domai
210fcc8676
update action 2023-09-30 10:41:38 +02:00
Domai
480fc43816
test 2023-09-30 10:03:51 +02:00
Domai
8ec165ee4d
debug print 2023-09-30 09:51:42 +02:00
Domai
41e090862d
- 2023-09-30 09:33:02 +02:00
6 changed files with 113 additions and 93 deletions

View file

@ -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)

View file

@ -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
View file

@ -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);

View file

@ -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;
}

View file

@ -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"
}
}

View file

@ -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"
}
}