Files
Todo/scripts/svg-to-png.js
Paul Bailey 6cb9a593d4 feat: Add PWA assets and metadata for iOS Safari installation
- Generate app icons in multiple sizes (192x192, 512x512, 180x180, 32x32)
- Create favicon and apple-touch-icon SVG files
- Add comprehensive PWA meta tags in app layout
- Configure theme color (#3B82F6) and background color
- Update manifest.json with icon references (PNG and SVG)
- Create icon generation scripts (SVG and PNG conversion)
- Add browser-based PNG icon generator (HTML)
- Create comprehensive PWA testing guide
- Add icon setup documentation

Requirements: 4.1, 4.2
Task: 13. Add PWA assets and metadata
2025-12-01 20:39:11 +00:00

48 lines
1.8 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// SVG to PNG converter using canvas (requires a browser environment or puppeteer)
// This is a simple converter for development purposes
const fs = require('fs');
const path = require('path');
console.log('SVG to PNG Converter');
console.log('===================\n');
const publicDir = path.join(__dirname, '..', 'public');
// Check if SVG files exist
const svgFiles = [
{ input: 'icon-192.svg', output: 'icon-192.png', size: 192 },
{ input: 'icon-512.svg', output: 'icon-512.png', size: 512 },
{ input: 'apple-touch-icon.svg', output: 'apple-touch-icon.png', size: 180 },
{ input: 'favicon.svg', output: 'favicon-32.png', size: 32 }
];
console.log('SVG files found:');
svgFiles.forEach(file => {
const exists = fs.existsSync(path.join(publicDir, file.input));
console.log(` ${exists ? '✓' : '✗'} ${file.input}`);
});
console.log('\n⚠️ PNG conversion requires additional tools:');
console.log('\nOption 1: Install sharp (recommended)');
console.log(' npm install --save-dev sharp');
console.log(' Then run: node scripts/convert-with-sharp.js');
console.log('\nOption 2: Use ImageMagick (if installed)');
console.log(' brew install imagemagick # on macOS');
console.log(' Then run:');
svgFiles.forEach(file => {
console.log(` convert public/${file.input} -resize ${file.size}x${file.size} public/${file.output}`);
});
console.log('\nOption 3: Use online converter');
console.log(' Visit: https://cloudconvert.com/svg-to-png');
console.log(' Upload SVG files and download PNG versions');
console.log('\nOption 4: Manual export from design tool');
console.log(' Open SVG files in Figma, Sketch, or Illustrator');
console.log(' Export as PNG at the required sizes');
console.log('\n📝 For now, the app will use SVG icons which work in most browsers.');
console.log(' PNG icons are recommended for better iOS Safari compatibility.');