summaryrefslogtreecommitdiffstats
path: root/scripts/create_sprite.js
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/create_sprite.js')
-rw-r--r--scripts/create_sprite.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/scripts/create_sprite.js b/scripts/create_sprite.js
new file mode 100644
index 0000000..d03dc0f
--- /dev/null
+++ b/scripts/create_sprite.js
@@ -0,0 +1,44 @@
1#!/usr/bin/env node
2
3import SVGSpriter from "svg-sprite";
4import { readFileSync, writeFileSync } from "fs";
5import { dirname, resolve } from "path";
6import { fileURLToPath } from "url";
7
8const __dirname = dirname(fileURLToPath(import.meta.url));
9
10const args = process.argv.slice(2);
11const sprite = args.pop();
12
13const spriter = new SVGSpriter({
14 mode: {
15 symbol: {
16 dest: "",
17 sprite,
18 },
19 },
20 shape: {
21 transform: [],
22 },
23});
24
25for (const id of args) {
26 const file = resolve(__dirname, `../dist/${id}.svg`);
27 spriter.add(file, null, readFileSync(file, { encoding: "utf-8" }));
28}
29
30spriter.compile((error, result) => {
31 if (error) {
32 console.error(error);
33 return;
34 }
35 for (var mode in result) {
36 for (var resource in result[mode]) {
37 console.log(result[mode][resource].path);
38 writeFileSync(
39 result[mode][resource].path,
40 result[mode][resource].contents
41 );
42 }
43 }
44});