Skip to content

Commit 539e268

Browse files
fix(migrate): upload webp instead of svg
2 parents 93b0493 + a18e661 commit 539e268

File tree

5 files changed

+306
-36
lines changed

5 files changed

+306
-36
lines changed

migrate/migrate-bot.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -254,11 +254,11 @@ description: Auto‑generated from cppreference
254254
// curl --location --request POST "https://api.imgbb.com/1/upload?expiration=600&key=YOUR_CLIENT_API_KEY" --form "image=R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
255255
async function uploadImageToImgBB(imageBuffer: Buffer): Promise<string> {
256256
const formData = new FormData();
257-
formData.append("image", new Blob([new Uint8Array(imageBuffer)]), "diff.svg");
258-
formData.append("name", "diff.svg");
257+
formData.append("image", new Blob([new Uint8Array(imageBuffer)]), "diff.webp");
258+
formData.append("name", "diff.webp");
259259

260260
const response = await fetch(
261-
`https://api.imgbb.com/1/upload?key=${IMGBB_API_KEY}&name=diff.svg`,
261+
`https://api.imgbb.com/1/upload?key=${IMGBB_API_KEY}&name=diff.webp`,
262262
{
263263
method: "POST",
264264
body: formData,
@@ -296,9 +296,9 @@ async function createPullRequest(
296296

297297
let imageUrl = null;
298298
if (originalInnerText && newInnerText) {
299-
const svg = visualizeTextDiff(originalInnerText, newInnerText);
300-
if (svg) {
301-
imageUrl = await uploadImageToImgBB(svg);
299+
const webp = visualizeTextDiff(originalInnerText, newInnerText);
300+
if (webp) {
301+
imageUrl = await uploadImageToImgBB(webp);
302302
console.log(`上传文本差异图像到 ImgBB: ${imageUrl}`);
303303
}
304304
}

migrate/text-diff-visualizer.ts

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { createCanvas } from "canvas";
1+
import { createCanvas } from "@napi-rs/canvas";
22

33
interface WordToken {
44
display: string;
@@ -213,7 +213,7 @@ export function visualizeTextDiff(textA: string, textB: string) {
213213

214214
totalY += config.padding;
215215

216-
const canvas = createCanvas(config.width, totalY, "svg");
216+
const canvas = createCanvas(config.width, totalY);
217217
const ctx = canvas.getContext("2d");
218218

219219
ctx.fillStyle = COLORS.bg;
@@ -336,13 +336,6 @@ export function visualizeTextDiff(textA: string, textB: string) {
336336
prevLineIdx = lineIdx;
337337
});
338338

339-
const buffer = canvas.toBuffer();
339+
const buffer = canvas.toBuffer('image/webp');
340340
return buffer;
341341
}
342-
343-
const svg = visualizeTextDiff(
344-
"This is a sample text.\nIt has multiple lines.\nSome words are different.",
345-
"This is a sample text.\nIt has several lines.\nSome words differ."
346-
);
347-
import { writeFileSync } from "fs";
348-
writeFileSync("text-diff.svg", svg);

0 commit comments

Comments
 (0)