Compare commits

..

No commits in common. "f349a7f7e0fe9838134034aa79b0fa22b0602f80" and "72f7e298b2ecb526d65b237357cdefb0b2a31ffe" have entirely different histories.

6 changed files with 93 additions and 113 deletions

View file

@ -14,7 +14,6 @@ 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");
@ -30,19 +29,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)
@ -56,22 +55,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)
@ -85,25 +84,22 @@ 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"),
title: core.getInput("history_card_title") // hide_border: core.getBooleanInput("common_hide_border"),
? 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,11 +94,6 @@ 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,7 +64,6 @@ 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"));
@ -79,79 +78,57 @@ 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, (0, utils_1.parseNumber)(core.getInput("history_card_days_count")))]; return [4 /*yield*/, (0, fetcher_1.fetchHistory)(username, 32)];
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("profile_card_hide_lines")), hide: (0, utils_1.parseArray)(core.getInput("hide")),
show_icons: core.getBooleanInput("profile_card_show_icons"), show_icons: (0, utils_1.parseBoolean)(core.getInput("show_icons")),
hide_rank: core.getBooleanInput("profile_card_hide_rank"), hide_rank: (0, utils_1.parseBoolean)(core.getInput("hide_rank")),
line_height: (0, utils_1.parseNumber)(core.getInput("profile_card_line_height")), line_height: (0, utils_1.parseNumber)(core.getInput("line_height")),
title: core.getInput("profile_card_title") title: "Code::Stats of ".concat(username),
? core.getInput("profile_card_title") title_color: core.getInput("title_color"),
: "Code::Stats of ".concat(username), icon_color: core.getInput("icon_color"),
title_color: core.getInput("common_title_color"), text_color: core.getInput("text_color"),
icon_color: core.getInput("common_icon_color"), bg_color: core.getInput("bg_color"),
text_color: core.getInput("common_text_color"), hide_title: (0, utils_1.parseBoolean)(core.getInput("hide_title")),
bg_color: core.getInput("common_bg_color"), hide_border: (0, utils_1.parseBoolean)(core.getInput("hide_border")),
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("common_hide_languages")), hide: (0, utils_1.parseArray)(core.getInput("hide")),
language_count: (0, utils_1.parseNumber)(core.getInput("toplangs_card_language_count")), language_count: (0, utils_1.parseNumber)(core.getInput("language_count")),
card_width: 500, card_width: (0, utils_1.clampValue)((0, utils_1.parseNumber)(core.getInput("card_width")) || 300, 500),
layout: core.getBooleanInput("toplangs_card_compact_layout") layout: core.getInput("layout"),
? "compact" title: "Code::Stats of ".concat(username),
: undefined, title_color: core.getInput("title_color"),
title: core.getInput("toplangs_card_title") text_color: core.getInput("text_color"),
? core.getInput("toplangs_card_title") bg_color: core.getInput("bg_color"),
: "Code::Stats of ".concat(username), hide_title: (0, utils_1.parseBoolean)(core.getInput("hide_title")),
title_color: core.getInput("common_title_color"), hide_border: (0, utils_1.parseBoolean)(core.getInput("hide_border")),
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("common_hide_languages")), hide: (0, utils_1.parseArray)(core.getInput("hide")),
language_count: (0, utils_1.parseNumber)(core.getInput("history_card_language_count")), language_count: (0, utils_1.parseNumber)(core.getInput("language_count")),
hide_legend: core.getBooleanInput("history_card_hide_legend"), hide_legend: (0, utils_1.parseBoolean)(core.getInput("hide_legend")),
reverse_order: core.getBooleanInput("history_card_reverse_order"), reverse_order: (0, utils_1.parseBoolean)(core.getInput("reverse_order")),
width: 500, width: (0, utils_1.clampValue)((0, utils_1.parseNumber)(core.getInput("card_width")) || 300, 500),
height: 300, height: (0, utils_1.clampValue)((0, utils_1.parseNumber)(core.getInput("card_height")) || 300, 200),
title_color: core.getInput("common_title_color"), title_color: core.getInput("title_color"),
text_color: core.getInput("common_text_color"), text_color: core.getInput("text_color"),
bg_color: core.getInput("common_bg_color"), bg_color: core.getInput("bg_color"),
layout: core.getBooleanInput("history_card_horizontal_layout") layout: undefined,
? "horizontal" hide_title: (0, utils_1.parseBoolean)(core.getInput("hide_title")),
: undefined, hide_border: (0, utils_1.parseBoolean)(core.getInput("hide_border")),
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 0; return number;
} }
var n = parseFloat(number); var n = parseFloat(number);
if (isNaN(n)) { if (isNaN(n)) {
return 0; return undefined;
} }
return n; return n;
} }

View file

@ -214,5 +214,11 @@
"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,5 +214,11 @@
"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"
} }
} }