<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>AI Blog Generator</title> <style> :root { --primary: #6366f1; --secondary: #4f46e5; --bg: #f8fafc; --text: #1e293b; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', system-ui, sans-serif; background: var(--bg); color: var(--text); line-height: 1.5; } .container { max-width: 1200px; margin: 0 auto; padding: 2rem; } .header { text-align: center; margin-bottom: 3rem; } .header h1 { font-size: 2.5rem; color: var(--primary); margin-bottom: 1rem; } .header p { color: #64748b; } .grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; } .panel { background: white; padding: 2rem; border-radius: 1rem; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); } .input-group { margin-bottom: 1.5rem; } .input-group label { display: block; font-weight: 500; margin-bottom: 0.5rem; } .input-group input, .input-group textarea, .input-group select { width: 100%; padding: 0.75rem; border: 1px solid #e2e8f0; border-radius: 0.5rem; font-size: 1rem; } .input-group textarea { height: 150px; resize: vertical; } .btn { background: var(--primary); color: white; border: none; padding: 1rem 2rem; border-radius: 0.5rem; font-weight: 500; cursor: pointer; transition: all 0.3s ease; } .btn:hover { background: var(--secondary); } .btn-secondary { background: #e2e8f0; color: var(--text); } .btn-secondary:hover { background: #cbd5e1; } .output { margin-top: 1rem; padding: 1rem; background: #f1f5f9; border-radius: 0.5rem; white-space: pre-wrap; } .writing-status { display: flex; align-items: center; margin-top: 1rem; padding: 1rem; background: #f1f5f9; border-radius: 0.5rem; } .status-dot { width: 10px; height: 10px; border-radius: 50%; background: #22c55e; margin-right: 0.5rem; animation: pulse 2s infinite; } @keyframes pulse { 0% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.2); opacity: 0.5; } 100% { transform: scale(1); opacity: 1; } } .tools { display: flex; gap: 1rem; margin-bottom: 1rem; } @media (max-width: 768px) { .grid { grid-template-columns: 1fr; } } </style> </head> <body> <div class="container"> <header class="header"> <h1>AI Blog Generator</h1> <p>Generate high-quality blog content with AI assistance</p> </header> <div class="grid"> <div class="panel"> <h2>Input</h2> <div class="tools"> <button class="btn btn-secondary" onclick="generateIdeas()">Generate Ideas</button> <button class="btn btn-secondary" onclick="improveWriting()">Improve Writing</button> </div> <div class="input-group"> <label for="topic">Topic/Keywords</label> <input type="text" id="topic" placeholder="Enter main topic or keywords"> </div> <div class="input-group"> <label for="tone">Writing Tone</label> <select id="tone"> <option value="professional">Professional</option> <option value="casual">Casual</option> <option value="technical">Technical</option> <option value="creative">Creative</option> </select> </div> <div class="input-group"> <label for="length">Article Length</label> <select id="length"> <option value="short">Short (~300 words)</option> <option value="medium">Medium (~600 words)</option> <option value="long">Long (~1000 words)</option> </select> </div> <button class="btn" onclick="generateContent()">Generate Content</button> </div> <div class="panel"> <h2>Output</h2> <div id="writingStatus" class="writing-status" style="display: none;"> <div class="status-dot"></div> <span>AI is writing...</span> </div> <div id="output" class="output"></div> </div> </div> </div> <script> function simulateAIWriting(text, delay = 50) { return new Promise((resolve) => { const output = document.getElementById('output'); let index = 0; const interval = setInterval(() => { if (index < text.length) { output.textContent += text[index]; index++; } else { clearInterval(interval); resolve(); } }, delay); }); } function generateContent() { const topic = document.getElementById('topic').value; const tone = document.getElementById('tone').value; const length = document.getElementById('length').value; if (!topic) { alert('Please enter a topic'); return; } document.getElementById('writingStatus').style.display = 'flex'; document.getElementById('output').textContent = ''; // Simulated AI response const content = generateArticle(topic, tone, length); document.getElementById('writingStatus').style.display = 'none'; simulateAIWriting(content); } function generateArticle(topic, tone, length) { // This is a mock function that would normally connect to an AI API const templates = { professional: `Title: ${topic}: A Comprehensive Analysis\n\nIn today's rapidly evolving landscape, ${topic} has emerged as a crucial factor in shaping our understanding of modern developments. This article explores the key aspects and implications of ${topic}, providing valuable insights for professionals and enthusiasts alike.\n\nKey Points:\n1. Understanding the fundamentals\n2. Current trends and developments\n3. Future implications\n`, casual: `Hey there! Let's Talk About ${topic}!\n\nEver wondered what makes ${topic} so interesting? Well, you're in for a treat! Today we're going to dive into this fascinating topic and explore all the cool things about it.\n\nWhat's the Deal With ${topic}?\n`, technical: `Technical Analysis: ${topic}\n\nAbstract:\nThis technical examination of ${topic} provides a detailed analysis of its core components, implementation considerations, and technical specifications.\n\nTechnical Overview:\n`, creative: `The Art of ${topic}: A Creative Exploration\n\nImagine a world where ${topic} shapes everything around us. In this creative journey, we'll explore the fascinating dimensions of ${topic} and its impact on our creative consciousness.\n\n` }; return templates[tone] + `[Content continues with ${length} format...]`; } function generateIdeas() { const topic = document.getElementById('topic').value; if (!topic) { alert('Please enter a topic first'); return; } const ideas = [ `- How ${topic} is Changing the Future`, `- The Ultimate Guide to ${topic}`, `- 10 Things You Didn't Know About ${topic}`, `- Why ${topic} Matters in 2024`, `- The Evolution of ${topic}: Past, Present, and Future` ].join('\n'); document.getElementById('output').textContent = 'Blog Post Ideas:\n' + ideas; } function improveWriting() { const currentText = document.getElementById('output').textContent; if (!currentText) { alert('Generate content first'); return; } document.getElementById('writingStatus').style.display = 'flex'; setTimeout(() => { document.getElementById('writingStatus').style.display = 'none'; document.getElementById('output').textContent = 'Enhanced Version:\n\n' + currentText.replace(/\b\w+\b/g, match => Math.random() > 0.8 ? match.charAt(0).toUpperCase() + match.slice(1) : match ); }, 2000); } </script> </body> </html>