59 lines
1.8 KiB
TypeScript
59 lines
1.8 KiB
TypeScript
import { ContentGenerator } from "../src/index";
|
|
import dotenv from "dotenv";
|
|
import path from "path";
|
|
import fs from "fs";
|
|
import { fileURLToPath } from "url";
|
|
|
|
// Fix __dirname for ESM
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = path.dirname(__filename);
|
|
|
|
// Load .env from mintel.me (since that's where the key is)
|
|
dotenv.config({
|
|
path: path.resolve(__dirname, "../../../../mintel.me/apps/web/.env"),
|
|
});
|
|
|
|
async function main() {
|
|
const apiKey = process.env.OPENROUTER_API_KEY || process.env.OPENROUTER_KEY;
|
|
if (!apiKey) {
|
|
console.error("❌ OPENROUTER_API_KEY not found");
|
|
process.exit(1);
|
|
}
|
|
|
|
const generator = new ContentGenerator(apiKey);
|
|
|
|
const draftContent = `# The Case for Static Sites
|
|
|
|
Static sites are faster and more secure. They don't have a database to hack.
|
|
They are also cheaper to host. You can use a CDN to serve them globally.
|
|
Dynamic sites are complex and prone to errors.`;
|
|
|
|
console.log("📄 Original Content:");
|
|
console.log(draftContent);
|
|
console.log("\n🚀 Optimizing content...\n");
|
|
|
|
try {
|
|
const post = await generator.optimizePost(draftContent, {
|
|
enhanceFacts: true,
|
|
addDiagrams: true,
|
|
addMemes: true,
|
|
});
|
|
|
|
console.log("\n\n✅ OPTIMIZATION COMPLETE");
|
|
console.log("--------------------------------------------------");
|
|
console.log(`Research Points Added: ${post.research.length}`);
|
|
console.log(`Memes Generated: ${post.memes.length}`);
|
|
console.log(`Diagrams Generated: ${post.diagrams.length}`);
|
|
console.log("--------------------------------------------------");
|
|
|
|
// Save to file
|
|
const outputPath = path.join(__dirname, "optimized.md");
|
|
fs.writeFileSync(outputPath, post.content);
|
|
console.log(`📄 Saved output to: ${outputPath}`);
|
|
} catch (error) {
|
|
console.error("❌ Optimization failed:", error);
|
|
}
|
|
}
|
|
|
|
main();
|