Files
ai.interactive.fiction/copy-assets.js
T
2025-04-01 08:37:41 +02:00

46 lines
1.4 KiB
JavaScript

/**
* Script to copy required assets from ink.js project to AI Interactive Fiction
*/
const fs = require('fs');
const path = require('path');
// Define asset directories
const sourceDir = 'e:/Georg/vhosts/ink.js';
const targetDir = 'e:/Georg/vhosts/ai.interactive.fiction/public';
// Assets to copy
const assets = [
{ src: 'book-3057904.png', dest: 'images/book-3057904.png' },
{ src: 'brown-wooden-flooring.jpg', dest: 'images/brown-wooden-flooring.jpg' },
{ src: 'EBGaramond12-Regular.otf', dest: 'fonts/EBGaramond12-Regular.otf' },
{ src: 'EBGaramond12-Italic.otf', dest: 'fonts/EBGaramond12-Italic.otf' }
];
// Create necessary directories
const directories = ['images', 'fonts', 'js', 'css'].map(dir => path.join(targetDir, dir));
directories.forEach(dir => {
if (!fs.existsSync(dir)) {
console.log(`Creating directory: ${dir}`);
fs.mkdirSync(dir, { recursive: true });
}
});
// Copy each asset
assets.forEach(asset => {
const source = path.join(sourceDir, asset.src);
const destination = path.join(targetDir, asset.dest);
try {
if (fs.existsSync(source)) {
fs.copyFileSync(source, destination);
console.log(`Successfully copied ${source} to ${destination}`);
} else {
console.error(`Source file does not exist: ${source}`);
}
} catch (error) {
console.error(`Error copying ${source}:`, error.message);
}
});
console.log('Asset copying completed.');