This commit is contained in:
Kevin McIntyre
2025-06-18 01:00:00 -04:00
commit f84b511895
228 changed files with 42509 additions and 0 deletions

48
generate_reference.js Normal file
View File

@@ -0,0 +1,48 @@
#!/usr/bin/env node
const fs = require('fs');
const path = require('path');
const jdenticon = require('./jdenticon-js/dist/jdenticon-node.js');
// Test emails
const testEmails = [
'example1@gmail.com',
'example2@yahoo.com'
];
// Test sizes
const sizes = [64, 128];
// Create reference directory
const refDir = './reference';
if (!fs.existsSync(refDir)) {
fs.mkdirSync(refDir);
}
// Generate reference SVGs and PNGs
testEmails.forEach(email => {
sizes.forEach(size => {
// Generate SVG
const svg = jdenticon.toSvg(email, size);
const svgFilename = `${email.replace('@', '_at_').replace('.', '_')}_${size}.svg`;
fs.writeFileSync(path.join(refDir, svgFilename), svg);
console.log(`Generated reference SVG: ${svgFilename}`);
// Generate PNG (if supported)
try {
const pngBuffer = jdenticon.toPng(email, size);
const pngFilename = `${email.replace('@', '_at_').replace('.', '_')}_${size}.png`;
fs.writeFileSync(path.join(refDir, pngFilename), pngBuffer);
console.log(`Generated reference PNG: ${pngFilename}`);
} catch (err) {
console.log(`PNG generation failed for ${email}@${size}: ${err.message}`);
}
});
});
// Also generate a test with fixed coordinates we can examine
const testSvg = jdenticon.toSvg('test-hash', 64);
fs.writeFileSync(path.join(refDir, 'test-hash_64.svg'), testSvg);
console.log('Generated test-hash reference SVG');
console.log('\nReference files generated in ./reference/ directory');