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"; } 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)

View file

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

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

View file

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

View file

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

View file

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