From f4f7565959cf0d3cb25e5873faad31187b87a4d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E6=A9=99?= Date: Sat, 9 May 2026 15:33:33 +0000 Subject: [PATCH] fix: remove tmp file --- tmp_gen_docx.js | 59 ------------------------------------------------- 1 file changed, 59 deletions(-) delete mode 100644 tmp_gen_docx.js diff --git a/tmp_gen_docx.js b/tmp_gen_docx.js deleted file mode 100644 index 11b322e..0000000 --- a/tmp_gen_docx.js +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env node -const { Document, Packer, Paragraph, TextRun, ImageRun } = require('/home/node/.openclaw/node_modules/docx'); -const fs = require('fs'); - -const args = process.argv.slice(2); -let title = '', subtitle = '', output = '', coverImg = ''; -let contentJson = ''; - -for (let i = 0; i < args.length; i++) { - if (args[i] === '--title' && args[i+1]) title = args[++i]; - else if (args[i] === '--subtitle' && args[i+1]) subtitle = args[++i]; - else if (args[i] === '--output' && args[i+1]) output = args[++i]; - else if (args[i] === '--cover' && args[i+1]) coverImg = args[++i]; - else if (args[i] === '--image2' && args[i+1]) coverImg = args[++i]; // reuse - else if (args[i] === '--content-json' && args[i+1]) contentJson = args[++i]; -} - -const loadImg = (p) => (p && fs.existsSync(p)) ? fs.readFileSync(p) : null; -const cover = coverImg ? loadImg(coverImg) : null; - -const E = () => new Paragraph({ text: '' }); -const TITLE = (t) => new Paragraph({ children: [new TextRun({ text: t, bold: true, size: 48 })], alignment: 'center', spacing: { before: 0, after: 160 } }); -const SUB = (t) => new Paragraph({ children: [new TextRun({ text: t, size: 24, color: '888888', italics: true })], alignment: 'center', spacing: { before: 0, after: 200 } }); -const H2 = (t) => new Paragraph({ children: [new TextRun({ text: t, bold: true, size: 36 })], spacing: { before: 320, after: 160 } }); -const H3 = (t) => new Paragraph({ children: [new TextRun({ text: t, bold: true, size: 28 })], spacing: { before: 200, after: 80 } }); -const BODY = (t) => new Paragraph({ children: [new TextRun({ text: t, size: 28 })], spacing: { before: 60, after: 80 } }); -const EMP = (t) => new Paragraph({ children: [new TextRun({ text: t, bold: true, size: 30 })], spacing: { before: 120, after: 100 } }); -const END = (t) => new Paragraph({ children: [new TextRun({ text: t, size: 22, color: 'AAAAAA', italics: true })], alignment: 'center', spacing: { before: 200, after: 0 } }); -const IMGP = (d, w, h) => d ? new Paragraph({ children: [new ImageRun({ data: d, transformation: { width: w, height: h }, type: 'png' })], alignment: 'center', spacing: { before: 100, after: 100 } }) : E(); - -let config = {}; -try { config = contentJson ? JSON.parse(contentJson) : {}; } catch(e) { console.error('JSON parse error:', e.message); } - -const children = []; -if (cover) { children.push(IMGP(cover, 580, 326)); children.push(E()); } -children.push(TITLE(title)); -if (subtitle) children.push(SUB(subtitle)); -children.push(E()); - -const sections = config.sections || []; -for (const sec of sections) { - if (sec.heading) children.push(H2(sec.heading)); - if (sec.image) children.push(E()); - if (sec.paragraphs && Array.isArray(sec.paragraphs)) { - for (const p of sec.paragraphs) { - if (!p || p.trim() === '') { children.push(E()); continue; } - children.push(BODY(p.trim())); - } - } - children.push(E()); -} - -if (config.source) children.push(END(config.source)); - -const doc = new Document({ sections: [{ children }] }); -Packer.toBuffer(doc).then(buf => { - fs.writeFileSync(output, buf); - console.log('done: ' + output); -}).catch(e => { console.error(e); process.exit(1); });