update at 2026-03-15 15:58:14
This commit is contained in:
50
calendar/scripts/generate-dashboard-manifest.mjs
Normal file
50
calendar/scripts/generate-dashboard-manifest.mjs
Normal file
@@ -0,0 +1,50 @@
|
||||
import fs from 'node:fs';
|
||||
import path from 'node:path';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
|
||||
const currentDir = path.dirname(fileURLToPath(import.meta.url));
|
||||
const distDir = path.resolve(currentDir, '../dist');
|
||||
const manifestPath = path.join(distDir, 'dashboard-manifest.json');
|
||||
const clockRegionPath = path.join(distDir, 'clock-region.json');
|
||||
|
||||
const defaultClockRegion = {
|
||||
x: 313,
|
||||
y: 0,
|
||||
width: 220,
|
||||
height: 220,
|
||||
};
|
||||
|
||||
const clockRegion = fs.existsSync(clockRegionPath)
|
||||
? {
|
||||
...defaultClockRegion,
|
||||
...JSON.parse(fs.readFileSync(clockRegionPath, 'utf8')),
|
||||
}
|
||||
: defaultClockRegion;
|
||||
|
||||
const manifest = {
|
||||
background: {
|
||||
path: 'kindlebg.png',
|
||||
url: 'https://shell.biboer.cn:20001/kindlebg.png',
|
||||
updatedAt: new Date().toISOString(),
|
||||
refreshIntervalMinutes: 120,
|
||||
},
|
||||
clockRegion,
|
||||
clockFace: {
|
||||
path: 'assets/clock-face.png',
|
||||
managedOnKindle: true,
|
||||
designWidth: 220,
|
||||
designHeight: 220,
|
||||
},
|
||||
clockHands: {
|
||||
hourPattern: 'assets/hour-hand/%03d.png',
|
||||
minutePattern: 'assets/minute-hand/%02d.png',
|
||||
refreshIntervalMinutes: 1,
|
||||
networkRequired: false,
|
||||
anchorMode: 'baked-into-patch',
|
||||
scaleWithClockFace: false,
|
||||
},
|
||||
};
|
||||
|
||||
fs.mkdirSync(distDir, { recursive: true });
|
||||
fs.writeFileSync(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`, 'utf8');
|
||||
console.log(`Wrote ${manifestPath}`);
|
||||
Reference in New Issue
Block a user