Skip to content

Commit e2cedf7

Browse files
author
release bot
committed
📦 3.4.1
1 parent af8374a commit e2cedf7

File tree

3 files changed

+37
-13
lines changed

3 files changed

+37
-13
lines changed

‎action.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ author: "platane"
44

55
runs:
66
using: docker
7-
image: docker://platane/snk@sha256:b27f8e94db59aba0bca27dcbf6bcddf108d3066316867aaad962a1f4fee87fe8
7+
image: docker://platane/snk@sha256:b107f810d467a26b1e7ac46751073d1247728421155a47e77f6cd2dc66dcc74c
88

99
inputs:
1010
github_user_name:

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "snk",
33
"description": "Generates a snake game from a github user contributions grid",
4-
"version": "3.4.0",
4+
"version": "3.4.1",
55
"private": true,
66
"repository": "github:platane/snk",
77
"devDependencies": {

‎svg-only/dist/642.index.js‎

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1346,18 +1346,16 @@ __webpack_require__.d(__webpack_exports__, {
13461346

13471347
// UNUSED EXPORTS: withTmpDir
13481348

1349+
// EXTERNAL MODULE: external "node:child_process"
1350+
var external_node_child_process_ = __webpack_require__(1421);
13491351
// EXTERNAL MODULE: external "node:fs"
13501352
var external_node_fs_ = __webpack_require__(3024);
13511353
var external_node_fs_default = /*#__PURE__*/__webpack_require__.n(external_node_fs_);
1354+
// EXTERNAL MODULE: external "node:os"
1355+
var external_node_os_ = __webpack_require__(8161);
13521356
// EXTERNAL MODULE: external "node:path"
13531357
var external_node_path_ = __webpack_require__(6760);
13541358
var external_node_path_default = /*#__PURE__*/__webpack_require__.n(external_node_path_);
1355-
// EXTERNAL MODULE: external "node:child_process"
1356-
var external_node_child_process_ = __webpack_require__(1421);
1357-
// EXTERNAL MODULE: external "node:os"
1358-
var external_node_os_ = __webpack_require__(8161);
1359-
// EXTERNAL MODULE: external "canvas"
1360-
var external_canvas_ = __webpack_require__(9919);
13611359
// EXTERNAL MODULE: ../types/grid.ts
13621360
var types_grid = __webpack_require__(105);
13631361
;// CONCATENATED MODULE: ../draw/pathRoundedRect.ts
@@ -1500,12 +1498,14 @@ const step = (grid, stack, snake) => {
15001498
}
15011499
};
15021500

1503-
// EXTERNAL MODULE: external "gifsicle"
1504-
var external_gifsicle_ = __webpack_require__(5667);
1505-
var external_gifsicle_default = /*#__PURE__*/__webpack_require__.n(external_gifsicle_);
1501+
// EXTERNAL MODULE: external "canvas"
1502+
var external_canvas_ = __webpack_require__(9919);
15061503
// EXTERNAL MODULE: ../../node_modules/gif-encoder-2/index.js
15071504
var gif_encoder_2 = __webpack_require__(1680);
15081505
var gif_encoder_2_default = /*#__PURE__*/__webpack_require__.n(gif_encoder_2);
1506+
// EXTERNAL MODULE: external "gifsicle"
1507+
var external_gifsicle_ = __webpack_require__(5667);
1508+
var external_gifsicle_default = /*#__PURE__*/__webpack_require__.n(external_gifsicle_);
15091509
;// CONCATENATED MODULE: ../gif-creator/index.ts
15101510

15111511

@@ -1515,9 +1515,9 @@ var gif_encoder_2_default = /*#__PURE__*/__webpack_require__.n(gif_encoder_2);
15151515

15161516

15171517

1518-
15191518
// @ts-ignore
15201519

1520+
15211521
const createGif = async (grid0, cells, chain, drawOptions, animationOptions) => withTmpDir(async (dir) => {
15221522
const { width, height } = getCanvasWorldSize(grid0, drawOptions);
15231523
const canvas = (0,external_canvas_.createCanvas)(width, height);
@@ -1544,13 +1544,37 @@ const createGif = async (grid0, cells, chain, drawOptions, animationOptions) =>
15441544
}
15451545
const outFileName = external_node_path_default().join(dir, "out.gif");
15461546
const optimizedFileName = external_node_path_default().join(dir, "out.optimized.gif");
1547+
// generate palette file
1548+
const paletteFileName = external_node_path_default().join(dir, "palette.txt");
1549+
{
1550+
const colors = [
1551+
drawOptions.colorBackground,
1552+
drawOptions.colorEmpty,
1553+
drawOptions.colorSnake,
1554+
drawOptions.colorDotBorder,
1555+
...Object.values(drawOptions.colorDots),
1556+
].filter(Boolean);
1557+
const canvas = (0,external_canvas_.createCanvas)(colors.length, 1);
1558+
const ctx = canvas.getContext("2d");
1559+
for (let i = colors.length; i--;) {
1560+
ctx.fillStyle = colors[i];
1561+
ctx.fillRect(i, 0, 1, 1);
1562+
}
1563+
const imgData = ctx.getImageData(0, 0, colors.length, 1);
1564+
external_node_fs_default().writeFileSync(paletteFileName, Array.from({ length: colors.length }, (_, i) => [
1565+
imgData.data[i * 4 + 0],
1566+
imgData.data[i * 4 + 1],
1567+
imgData.data[i * 4 + 2],
1568+
].join(" ")).join("\n"));
1569+
}
15471570
encoder.finish();
15481571
external_node_fs_default().writeFileSync(outFileName, encoder.out.getData());
15491572
(0,external_node_child_process_.execFileSync)((external_gifsicle_default()), [
15501573
//
15511574
"--optimize=3",
15521575
"--color-method=diversity",
1553-
"--colors=16",
1576+
`--use-colormap=${paletteFileName}`,
1577+
// "--colors=16",
15541578
outFileName,
15551579
["--output", optimizedFileName],
15561580
].flat());

0 commit comments

Comments
 (0)