@blockspoon/cert-badge-renderer 1.0.1 β 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -3
- package/dist/browser/index.d.ts +1 -0
- package/dist/browser/index.js +6 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.js +8 -0
- package/dist/utils/generateAchievementFile.d.ts +1 -1
- package/dist/utils/generateAchievementHTML.js +9 -1
- package/dist/utils/generateDesignFile.d.ts +1 -1
- package/package.json +15 -1
- package/src/browser/index.ts +2 -0
- package/src/server/index.ts +3 -0
- package/src/utils/generateAchievementHTML.ts +14 -1
- package/test/certificate_base64.png +0 -0
package/README.md
CHANGED
|
@@ -80,9 +80,6 @@ require("fs").writeFileSync("badge.png", png.buffer);
|
|
|
80
80
|
## π API Key μ¬μ© λ°©μ
|
|
81
81
|
|
|
82
82
|
ν¨ν€μ§ μ¬μ© μ μλ² μμ²μλ API Keyκ° νμν©λλ€.
|
|
83
|
-
μ΄λ μΈμ¦μ μμ± λ° κ²μ¦ μμ²μ 보μμ μν μ μ°¨μ΄λ©°,
|
|
84
|
-
ν¨ν€μ§ λ΄λΆμ Open API νΈμΆ μ μλμΌλ‘ ν ν°μ΄ ν€λμ ν¬ν¨λ©λλ€.
|
|
85
|
-
|
|
86
83
|
μμΈν μ 보λ https://developers.kolleges.net μ°Έκ³ λΆνλ립λλ€.
|
|
87
84
|
|
|
88
85
|
---
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { generateAchievementHTML } from "../utils/generateAchievementHTML";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateAchievementHTML = void 0;
|
|
4
|
+
// β
src/browser/index.ts
|
|
5
|
+
var generateAchievementHTML_1 = require("../utils/generateAchievementHTML");
|
|
6
|
+
Object.defineProperty(exports, "generateAchievementHTML", { enumerable: true, get: function () { return generateAchievementHTML_1.generateAchievementHTML; } });
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateAchievementHTML = exports.generateAchievementFile = void 0;
|
|
4
|
+
// β
src/server/index.ts
|
|
5
|
+
var generateAchievementFile_1 = require("../utils/generateAchievementFile");
|
|
6
|
+
Object.defineProperty(exports, "generateAchievementFile", { enumerable: true, get: function () { return generateAchievementFile_1.generateAchievementFile; } });
|
|
7
|
+
var generateAchievementHTML_1 = require("../utils/generateAchievementHTML");
|
|
8
|
+
Object.defineProperty(exports, "generateAchievementHTML", { enumerable: true, get: function () { return generateAchievementHTML_1.generateAchievementHTML; } });
|
|
@@ -40,7 +40,15 @@ function convertImageToBase64(url) {
|
|
|
40
40
|
throw new Error(`Not an image! content-type: ${contentType}`);
|
|
41
41
|
}
|
|
42
42
|
const buffer = yield response.arrayBuffer();
|
|
43
|
-
|
|
43
|
+
let base64 = "";
|
|
44
|
+
if (typeof window === "undefined") {
|
|
45
|
+
// Node.js νκ²½
|
|
46
|
+
base64 = Buffer.from(buffer).toString("base64");
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
// λΈλΌμ°μ νκ²½
|
|
50
|
+
base64 = btoa(new Uint8Array(buffer).reduce((data, byte) => data + String.fromCharCode(byte), ""));
|
|
51
|
+
}
|
|
44
52
|
return `data:${contentType};base64,${base64}`;
|
|
45
53
|
}
|
|
46
54
|
catch (error) {
|
package/package.json
CHANGED
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blockspoon/cert-badge-renderer",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Render certificate and badge designs from Kolleges achievement data into HTML, PNG, or Base64.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./dist/browser/index.js",
|
|
10
|
+
"types": "./dist/browser/index.d.ts"
|
|
11
|
+
},
|
|
12
|
+
"./browser": {
|
|
13
|
+
"import": "./dist/browser/index.js",
|
|
14
|
+
"types": "./dist/browser/index.d.ts"
|
|
15
|
+
},
|
|
16
|
+
"./server": {
|
|
17
|
+
"import": "./dist/server/index.js",
|
|
18
|
+
"types": "./dist/server/index.d.ts"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
7
21
|
"scripts": {
|
|
8
22
|
"build": "tsc",
|
|
9
23
|
"test": "node test/test.js"
|
|
@@ -38,7 +38,20 @@ async function convertImageToBase64(url: string): Promise<string> {
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
const buffer = await response.arrayBuffer();
|
|
41
|
-
|
|
41
|
+
let base64 = "";
|
|
42
|
+
|
|
43
|
+
if (typeof window === "undefined") {
|
|
44
|
+
// Node.js νκ²½
|
|
45
|
+
base64 = Buffer.from(buffer).toString("base64");
|
|
46
|
+
} else {
|
|
47
|
+
// λΈλΌμ°μ νκ²½
|
|
48
|
+
base64 = btoa(
|
|
49
|
+
new Uint8Array(buffer).reduce(
|
|
50
|
+
(data, byte) => data + String.fromCharCode(byte),
|
|
51
|
+
""
|
|
52
|
+
)
|
|
53
|
+
);
|
|
54
|
+
}
|
|
42
55
|
return `data:${contentType};base64,${base64}`;
|
|
43
56
|
} catch (error) {
|
|
44
57
|
console.error(`μ΄λ―Έμ§ λ³ν μ€ν¨: ${url}`, error);
|
|
Binary file
|