wip
This commit is contained in:
77
scripts/test-embeds.ts
Normal file
77
scripts/test-embeds.ts
Normal file
@@ -0,0 +1,77 @@
|
||||
#!/usr/bin/env tsx
|
||||
/**
|
||||
* Test script to verify embed components are properly structured
|
||||
*/
|
||||
|
||||
import { existsSync } from 'fs';
|
||||
import { join } from 'path';
|
||||
|
||||
const componentsDir = join(process.cwd(), 'src', 'components');
|
||||
const embedsDir = join(componentsDir, 'Embeds');
|
||||
|
||||
const requiredFiles = [
|
||||
'YouTubeEmbed.astro',
|
||||
'TwitterEmbed.astro',
|
||||
'GenericEmbed.astro',
|
||||
'Embeds/index.ts'
|
||||
];
|
||||
|
||||
const optionalFiles = [
|
||||
'embedDemoPost.ts'
|
||||
];
|
||||
|
||||
console.log('🔍 Testing Embed Components...\n');
|
||||
|
||||
let allPassed = true;
|
||||
|
||||
// Check component files exist
|
||||
requiredFiles.forEach(file => {
|
||||
const filePath = join(process.cwd(), 'src', 'components', file.replace('Embeds/', ''));
|
||||
const exists = existsSync(filePath);
|
||||
|
||||
if (exists) {
|
||||
console.log(`✅ ${file}`);
|
||||
} else {
|
||||
console.log(`❌ ${file} - MISSING`);
|
||||
allPassed = false;
|
||||
}
|
||||
});
|
||||
|
||||
// Check optional files
|
||||
optionalFiles.forEach(file => {
|
||||
const filePath = join(process.cwd(), 'src', 'data', file);
|
||||
const exists = existsSync(filePath);
|
||||
|
||||
if (exists) {
|
||||
console.log(`✅ ${file} (optional)`);
|
||||
} else {
|
||||
console.log(`⚠️ ${file} - not found (optional)`);
|
||||
}
|
||||
});
|
||||
|
||||
// Check embeds directory
|
||||
if (existsSync(embedsDir)) {
|
||||
console.log(`✅ Embeds directory exists`);
|
||||
} else {
|
||||
console.log(`❌ Embeds directory - MISSING`);
|
||||
allPassed = false;
|
||||
}
|
||||
|
||||
console.log('\n📋 Component Summary:');
|
||||
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
||||
console.log('YouTubeEmbed - Build-time YouTube embeds with full styling control');
|
||||
console.log('TwitterEmbed - Build-time Twitter embeds with oEmbed API');
|
||||
console.log('GenericEmbed - Universal oEmbed support for any provider');
|
||||
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
||||
|
||||
if (allPassed) {
|
||||
console.log('\n🎉 All required components are in place!');
|
||||
console.log('\nNext steps:');
|
||||
console.log('1. Add embeds to your blog posts');
|
||||
console.log('2. Customize styling with CSS variables');
|
||||
console.log('3. Check EMBED_USAGE_GUIDE.md for examples');
|
||||
process.exit(0);
|
||||
} else {
|
||||
console.log('\n❌ Some components are missing. Please check the files above.');
|
||||
process.exit(1);
|
||||
}
|
||||
Reference in New Issue
Block a user