Spaces:
Running
Running
The "Sheikh" Project: Full Implementation Plan - Gemini-Powered Zero-Code Full-Stack Builder
86c20c6
verified
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Sheikh - Zero-Code Full-Stack Builder</title> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet"> | |
| <script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script> | |
| <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script> | |
| <script src="https://unpkg.com/feather-icons"></script> | |
| <script src="https://cdn.jsdelivr.net/npm/animejs/lib/anime.iife.min.js"></script> | |
| <style> | |
| .gradient-text { | |
| background: linear-gradient(90deg, #3b82f6 0%, #8b5cf6 50%, #ec4899 100%); | |
| -webkit-background-clip: text; | |
| background-clip: text; | |
| color: transparent; | |
| } | |
| .hero-gradient { | |
| background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); | |
| } | |
| .feature-card:hover { | |
| transform: translateY(-5px); | |
| box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); | |
| } | |
| .smooth-scroll { | |
| scroll-behavior: smooth; | |
| } | |
| </style> | |
| </head> | |
| <body class="smooth-scroll font-sans antialiased text-gray-800"> | |
| <!-- Navigation --> | |
| <nav class="fixed w-full bg-white shadow-sm z-50"> | |
| <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
| <div class="flex justify-between h-16"> | |
| <div class="flex items-center"> | |
| <div class="flex-shrink-0 flex items-center"> | |
| <i data-feather="code" class="h-8 w-8 text-indigo-600"></i> | |
| <span class="ml-2 text-xl font-bold text-gray-900">Sheikh</span> | |
| </div> | |
| </div> | |
| <div class="hidden md:ml-6 md:flex md:items-center md:space-x-8"> | |
| <a href="#features" class="text-gray-500 hover:text-gray-900 px-3 py-2 text-sm font-medium">Features</a> | |
| <a href="#how-it-works" class="text-gray-500 hover:text-gray-900 px-3 py-2 text-sm font-medium">How It Works</a> | |
| <a href="#pricing" class="text-gray-500 hover:text-gray-900 px-3 py-2 text-sm font-medium">Pricing</a> | |
| <a href="#contact" class="text-gray-500 hover:text-gray-900 px-3 py-2 text-sm font-medium">Contact</a> | |
| </div> | |
| <div class="flex items-center"> | |
| <a href="#get-started" class="ml-4 inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"> | |
| Get Started | |
| </a> | |
| </div> | |
| <div class="md:hidden flex items-center"> | |
| <button type="button" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-indigo-500" aria-controls="mobile-menu" aria-expanded="false"> | |
| <i data-feather="menu" class="h-6 w-6"></i> | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| </nav> | |
| <!-- Hero Section --> | |
| <section class="hero-gradient pt-32 pb-20 px-4 sm:px-6 lg:px-8"> | |
| <div class="max-w-7xl mx-auto"> | |
| <div class="lg:grid lg:grid-cols-12 lg:gap-8"> | |
| <div class="px-4 sm:px-6 sm:text-center md:max-w-2xl md:mx-auto lg:col-span-6 lg:text-left lg:flex lg:items-center" data-aos="fade-right"> | |
| <div> | |
| <h1 class="mt-4 text-4xl tracking-tight font-extrabold text-gray-900 sm:mt-5 sm:leading-none lg:mt-6 lg:text-5xl xl:text-6xl"> | |
| <span class="gradient-text">Build Full-Stack Apps</span><br> | |
| Without Writing Code | |
| </h1> | |
| <p class="mt-3 text-base text-gray-500 sm:mt-5 sm:text-lg sm:max-w-xl sm:mx-auto md:mt-5 md:text-xl lg:mx-0"> | |
| Sheikh transforms your ideas into production-ready applications using just a simple markdown file. Powered by Gemini AI and Firebase. | |
| </p> | |
| <div class="mt-10 sm:flex sm:justify-center lg:justify-start"> | |
| <div class="rounded-md shadow"> | |
| <a href="#get-started" class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-white bg-indigo-600 hover:bg-indigo-700 md:py-4 md:text-lg md:px-10"> | |
| Start Building | |
| </a> | |
| </div> | |
| <div class="mt-3 rounded-md shadow sm:mt-0 sm:ml-3"> | |
| <a href="#how-it-works" class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-indigo-600 bg-white hover:bg-gray-50 md:py-4 md:text-lg md:px-10"> | |
| Learn More | |
| </a> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="mt-12 relative sm:max-w-lg sm:mx-auto lg:mt-0 lg:max-w-none lg:mx-0 lg:col-span-6 lg:flex lg:items-center" data-aos="fade-left"> | |
| <div class="relative mx-auto w-full rounded-lg shadow-lg lg:max-w-md"> | |
| <div class="relative block w-full bg-white rounded-lg overflow-hidden"> | |
| <div class="h-0 pb-2/3"></div> | |
| <div class="absolute inset-0 flex items-center justify-center p-8"> | |
| <div class="w-full bg-gray-100 rounded-lg p-6"> | |
| <div class="flex items-center mb-4"> | |
| <div class="h-3 w-3 rounded-full bg-red-500 mr-2"></div> | |
| <div class="h-3 w-3 rounded-full bg-yellow-500 mr-2"></div> | |
| <div class="h-3 w-3 rounded-full bg-green-500"></div> | |
| </div> | |
| <pre class="text-xs text-gray-800 font-mono overflow-x-auto"><code># Sheikh Application Specification | |
| projectName: "E-Commerce Store" | |
| corePurpose: "An online store for selling handmade crafts" | |
| models: | |
| - modelName: "Product" | |
| fields: | |
| - fieldName: "name" | |
| fieldType: "Text" | |
| required: true | |
| - fieldName: "price" | |
| fieldType: "Number" | |
| required: true | |
| - fieldName: "description" | |
| fieldType: "Text" | |
| - fieldName: "image" | |
| fieldType: "Text" | |
| # ... more configuration</code></pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Features Section --> | |
| <section id="features" class="py-20 bg-white"> | |
| <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
| <div class="lg:text-center" data-aos="fade-up"> | |
| <h2 class="text-base text-indigo-600 font-semibold tracking-wide uppercase">Features</h2> | |
| <p class="mt-2 text-3xl leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl"> | |
| Everything you need to build your app | |
| </p> | |
| <p class="mt-4 max-w-2xl text-xl text-gray-500 lg:mx-auto"> | |
| Sheikh handles the complex parts so you can focus on your idea. | |
| </p> | |
| </div> | |
| <div class="mt-20"> | |
| <div class="grid grid-cols-1 gap-12 md:grid-cols-2 lg:grid-cols-3"> | |
| <div class="feature-card transition-all duration-300 ease-in-out rounded-lg bg-white p-8 shadow-md" data-aos="fade-up" data-aos-delay="100"> | |
| <div class="flex items-center justify-center h-12 w-12 rounded-md bg-indigo-500 text-white"> | |
| <i data-feather="file-text"></i> | |
| </div> | |
| <div class="mt-5"> | |
| <h3 class="text-lg font-medium text-gray-900">Simple Markdown Specification</h3> | |
| <p class="mt-2 text-base text-gray-500"> | |
| Define your entire application using our intuitive lrompt.md format. No complex configuration needed. | |
| </p> | |
| </div> | |
| </div> | |
| <div class="feature-card transition-all duration-300 ease-in-out rounded-lg bg-white p-8 shadow-md" data-aos="fade-up" data-aos-delay="200"> | |
| <div class="flex items-center justify-center h-12 w-12 rounded-md bg-purple-500 text-white"> | |
| <i data-feather="cpu"></i> | |
| </div> | |
| <div class="mt-5"> | |
| <h3 class="text-lg font-medium text-gray-900">AI-Powered Code Generation</h3> | |
| <p class="mt-2 text-base text-gray-500"> | |
| Our Gemini AI engine translates your specification into production-ready React and Firebase code. | |
| </p> | |
| </div> | |
| </div> | |
| <div class="feature-card transition-all duration-300 ease-in-out rounded-lg bg-white p-8 shadow-md" data-aos="fade-up" data-aos-delay="300"> | |
| <div class="flex items-center justify-center h-12 w-12 rounded-md bg-pink-500 text-white"> | |
| <i data-feather="cloud"></i> | |
| </div> | |
| <div class="mt-5"> | |
| <h3 class="text-lg font-medium text-gray-900">Automatic Deployment</h3> | |
| <p class="mt-2 text-base text-gray-500"> | |
| One-click deployment to Firebase Hosting with automatic database and function setup. | |
| </p> | |
| </div> | |
| </div> | |
| <div class="feature-card transition-all duration-300 ease-in-out rounded-lg bg-white p-8 shadow-md" data-aos="fade-up" data-aos-delay="100"> | |
| <div class="flex items-center justify-center h-12 w-12 rounded-md bg-blue-500 text-white"> | |
| <i data-feather="database"></i> | |
| </div> | |
| <div class="mt-5"> | |
| <h3 class="text-lg font-medium text-gray-900">Database Schema</h3> | |
| <p class="mt-2 text-base text-gray-500"> | |
| Automatic Firestore schema generation with proper indexing and security rules. | |
| </p> | |
| </div> | |
| </div> | |
| <div class="feature-card transition-all duration-300 ease-in-out rounded-lg bg-white p-8 shadow-md" data-aos="fade-up" data-aos-delay="200"> | |
| <div class="flex items-center justify-center h-12 w-12 rounded-md bg-green-500 text-white"> | |
| <i data-feather="users"></i> | |
| </div> | |
| <div class="mt-5"> | |
| <h3 class="text-lg font-medium text-gray-900">Authentication</h3> | |
| <p class="mt-2 text-base text-gray-500"> | |
| Built-in Firebase Authentication with email/password, Google, and Facebook login. | |
| </p> | |
| </div> | |
| </div> | |
| <div class="feature-card transition-all duration-300 ease-in-out rounded-lg bg-white p-8 shadow-md" data-aos="fade-up" data-aos-delay="300"> | |
| <div class="flex items-center justify-center h-12 w-12 rounded-md bg-yellow-500 text-white"> | |
| <i data-feather="refresh-cw"></i> | |
| </div> | |
| <div class="mt-5"> | |
| <h3 class="text-lg font-medium text-gray-900">Continuous Updates</h3> | |
| <p class="mt-2 text-base text-gray-500"> | |
| Edit your lrompt.md file and redeploy - we'll handle all the code changes automatically. | |
| </p> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- How It Works Section --> | |
| <section id="how-it-works" class="py-20 bg-gray-50"> | |
| <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
| <div class="lg:text-center" data-aos="fade-up"> | |
| <h2 class="text-base text-indigo-600 font-semibold tracking-wide uppercase">Process</h2> | |
| <p class="mt-2 text-3xl leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl"> | |
| How Sheikh Works | |
| </p> | |
| <p class="mt-4 max-w-2xl text-xl text-gray-500 lg:mx-auto"> | |
| From idea to production in four simple steps | |
| </p> | |
| </div> | |
| <div class="mt-20"> | |
| <div class="relative"> | |
| <div class="hidden lg:block absolute top-0 left-1/2 transform -translate-x-1/2 h-full w-0.5 bg-gray-200"></div> | |
| <div class="relative mb-12 lg:mb-0"> | |
| <div class="lg:flex items-center"> | |
| <div class="lg:w-1/2 lg:pr-8" data-aos="fade-right"> | |
| <div class="bg-white p-8 rounded-lg shadow-md"> | |
| <div class="flex items-center"> | |
| <div class="flex items-center justify-center h-10 w-10 rounded-full bg-indigo-500 text-white font-bold">1</div> | |
| <h3 class="ml-4 text-lg font-medium text-gray-900">Define Your App</h3> | |
| </div> | |
| <p class="mt-4 text-gray-600"> | |
| Write your application specification in our simple lrompt.md format. Describe your data models, user flows, and UI requirements. | |
| </p> | |
| </div> | |
| </div> | |
| <div class="lg:w-1/2 lg:pl-8 mt-8 lg:mt-0" data-aos="fade-left"> | |
| <div class="bg-gray-100 p-6 rounded-lg"> | |
| <pre class="text-xs text-gray-800 font-mono"><code># Sheikh Application Specification | |
| projectName: "Task Manager" | |
| corePurpose: "A simple task management app" | |
| models: | |
| - modelName: "Task" | |
| fields: | |
| - fieldName: "title" | |
| fieldType: "Text" | |
| required: true | |
| - fieldName: "completed" | |
| fieldType: "Boolean" | |
| default: false</code></pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="relative mb-12 lg:mb-0"> | |
| <div class="lg:flex items-center"> | |
| <div class="lg:w-1/2 lg:pr-8 order-last" data-aos="fade-left"> | |
| <div class="bg-white p-8 rounded-lg shadow-md"> | |
| <div class="flex items-center"> | |
| <div class="flex items-center justify-center h-10 w-10 rounded-full bg-purple-500 text-white font-bold">2</div> | |
| <h3 class="ml-4 text-lg font-medium text-gray-900">AI Code Generation</h3> | |
| </div> | |
| <p class="mt-4 text-gray-600"> | |
| Our system uses Gemini AI to analyze your specification and generate all the necessary code - frontend, backend, and database. | |
| </p> | |
| </div> | |
| </div> | |
| <div class="lg:w-1/2 lg:pl-8 mt-8 lg:mt-0 order-first" data-aos="fade-right"> | |
| <div class="bg-gray-100 p-6 rounded-lg"> | |
| <img src="https://via.placeholder.com/600x400?text=AI+Code+Generation" alt="AI Code Generation" class="rounded-lg"> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="relative mb-12 lg:mb-0"> | |
| <div class="lg:flex items-center"> | |
| <div class="lg:w-1/2 lg:pr-8" data-aos="fade-right"> | |
| <div class="bg-white p-8 rounded-lg shadow-md"> | |
| <div class="flex items-center"> | |
| <div class="flex items-center justify-center h-10 w-10 rounded-full bg-pink-500 text-white font-bold">3</div> | |
| <h3 class="ml-4 text-lg font-medium text-gray-900">Review & Customize</h3> | |
| </div> | |
| <p class="mt-4 text-gray-600"> | |
| Preview the generated application and make any adjustments to the specification. The system will regenerate the code as needed. | |
| </p> | |
| </div> | |
| </div> | |
| <div class="lg:w-1/2 lg:pl-8 mt-8 lg:mt-0" data-aos="fade-left"> | |
| <div class="bg-gray-100 p-6 rounded-lg"> | |
| <img src="https://via.placeholder.com/600x400?text=App+Preview" alt="App Preview" class="rounded-lg"> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="relative"> | |
| <div class="lg:flex items-center"> | |
| <div class="lg:w-1/2 lg:pr-8 order-last" data-aos="fade-left"> | |
| <div class="bg-white p-8 rounded-lg shadow-md"> | |
| <div class="flex items-center"> | |
| <div class="flex items-center justify-center h-10 w-10 rounded-full bg-green-500 text-white font-bold">4</div> | |
| <h3 class="ml-4 text-lg font-medium text-gray-900">Deploy & Share</h3> | |
| </div> | |
| <p class="mt-4 text-gray-600"> | |
| With one click, deploy your application to Firebase Hosting with automatic database setup. Share your live app with users immediately. | |
| </p> | |
| </div> | |
| </div> | |
| <div class="lg:w-1/2 lg:pl-8 mt-8 lg:mt-0 order-first" data-aos="fade-right"> | |
| <div class="bg-gray-100 p-6 rounded-lg"> | |
| <img src="https://via.placeholder.com/600x400?text=Deployment+Dashboard" alt="Deployment Dashboard" class="rounded-lg"> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Get Started Section --> | |
| <section id="get-started" class="py-20 bg-indigo-700 text-white"> | |
| <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
| <div class="lg:text-center" data-aos="fade-up"> | |
| <h2 class="text-base text-indigo-200 font-semibold tracking-wide uppercase">Ready to Build?</h2> | |
| <p class="mt-2 text-3xl leading-8 font-extrabold tracking-tight sm:text-4xl"> | |
| Start creating your app today | |
| </p> | |
| <p class="mt-4 max-w-2xl text-xl text-indigo-100 lg:mx-auto"> | |
| Join our beta program and be among the first to experience zero-code full-stack development. | |
| </p> | |
| </div> | |
| <div class="mt-12 max-w-lg mx-auto lg:mt-20"> | |
| <div class="bg-white rounded-lg shadow-xl overflow-hidden" data-aos="zoom-in"> | |
| <div class="px-6 py-8 sm:p-10 sm:pb-6"> | |
| <div class="flex items-center"> | |
| <i data-feather="zap" class="h-8 w-8 text-indigo-600"></i> | |
| <h3 class="ml-3 text-2xl font-extrabold text-gray-900 sm:text-3xl"> | |
| Beta Access | |
| </h3> | |
| </div> | |
| <p class="mt-6 text-base text-gray-500"> | |
| Get early access to Sheikh with all features included. Limited spots available. | |
| </p> | |
| <div class="mt-8"> | |
| <div class="flex items-center"> | |
| <h4 class="flex-shrink-0 pr-4 text-sm font-semibold text-indigo-600 uppercase tracking-wider"> | |
| What's included | |
| </h4> | |
| <div class="flex-1 border-t-2 border-gray-200"></div> | |
| </div> | |
| <ul class="mt-8 space-y-5"> | |
| <li class="flex items-start"> | |
| <div class="flex-shrink-0"> | |
| <i data-feather="check" class="h-5 w-5 text-green-500"></i> | |
| </div> | |
| <p class="ml-3 text-sm text-gray-700"> | |
| Unlimited application generations | |
| </p> | |
| </li> | |
| <li class="flex items-start"> | |
| <div class="flex-shrink-0"> | |
| <i data-feather="check" class="h-5 w-5 text-green-500"></i> | |
| </div> | |
| <p class="ml-3 text-sm text-gray-700"> | |
| Priority support and feedback | |
| </p> | |
| </li> | |
| <li class="flex items-start"> | |
| <div class="flex-shrink-0"> | |
| <i data-feather="check" class="h-5 w-5 text-green-500"></i> | |
| </div> | |
| <p class="ml-3 text-sm text-gray-700"> | |
| Early access to new features | |
| </p> | |
| </li> | |
| <li class="flex items-start"> | |
| <div class="flex-shrink-0"> | |
| <i data-feather="check" class="h-5 w-5 text-green-500"></i> | |
| </div> | |
| <p class="ml-3 text-sm text-gray-700"> | |
| Influence on product roadmap | |
| </p> | |
| </li> | |
| </ul> | |
| </div> | |
| </div> | |
| <div class="px-6 pt-6 pb-8 bg-gray-50 sm:p-10 sm:pt-6"> | |
| <form class="space-y-6"> | |
| <div> | |
| <label for="email" class="block text-sm font-medium text-gray-700">Email address</label> | |
| <div class="mt-1"> | |
| <input id="email" name="email" type="email" autocomplete="email" required class="appearance-none block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm placeholder-gray-400 focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm"> | |
| </div> | |
| </div> | |
| <div> | |
| <button type="submit" class="w-full flex justify-center py-3 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"> | |
| Join Beta Program | |
| </button> | |
| </div> | |
| </form> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Footer --> | |
| <footer id="contact" class="bg-gray-900 text-white"> | |
| <div class="max-w-7xl mx-auto py-12 px-4 sm:px-6 lg:px-8"> | |
| <div class="grid grid-cols-2 md:grid-cols-4 gap-8"> | |
| <div> | |
| <h3 class="text-sm font-semibold text-gray-400 tracking-wider uppercase">Product</h3> | |
| <ul class="mt-4 space-y-4"> | |
| <li><a href="#features" class="text-base text-gray-300 hover:text-white">Features</a></li> | |
| <li><a href="#how-it-works" class="text-base text-gray-300 hover:text-white">How It Works</a></li> | |
| <li><a href="#pricing" class="text-base text-gray-300 hover:text-white">Pricing</a></li> | |
| </ul> | |
| </div> | |
| <div> | |
| <h3 class="text-sm font-semibold text-gray-400 tracking-wider uppercase">Resources</h3> | |
| <ul class="mt-4 space-y-4"> | |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">Documentation</a></li> | |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">Tutorials</a></li> | |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">Examples</a></li> | |
| </ul> | |
| </div> | |
| <div> | |
| <h3 class="text-sm font-semibold text-gray-400 tracking-wider uppercase">Company</h3> | |
| <ul class="mt-4 space-y-4"> | |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">About</a></li> | |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">Blog</a></li> | |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">Careers</a></li> | |
| </ul> | |
| </div> | |
| <div> | |
| <h3 class="text-sm font-semibold text-gray-400 tracking-wider uppercase">Connect</h3> | |
| <ul class="mt-4 space-y-4"> | |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">Twitter</a></li> | |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">GitHub</a></li> | |
| <li><a href="#" class="text-base text-gray-300 hover:text-white">Contact Us</a></li> | |
| </ul> | |
| </div> | |
| </div> | |
| <div class="mt-12 border-t border-gray-800 pt-8 flex flex-col md:flex-row justify-between"> | |
| <p class="text-base text-gray-400"> | |
| © 2023 Sheikh. All rights reserved. | |
| </p> | |
| <div class="mt-4 md:mt-0 flex space-x-6"> | |
| <a href="#" class="text-gray-400 hover:text-gray-300"> | |
| <i data-feather="twitter" class="h-6 w-6"></i> | |
| </a> | |
| <a href="#" class="text-gray-400 hover:text-gray-300"> | |
| <i data-feather="github" class="h-6 w-6"></i> | |
| </a> | |
| <a href="#" class="text-gray-400 hover:text-gray-300"> | |
| <i data-feather="linkedin" class="h-6 w-6"></i> | |
| </a> | |
| </div> | |
| </div> | |
| </div> | |
| </footer> | |
| <script> | |
| AOS.init({ | |
| duration: 800, | |
| easing: 'ease-in-out', | |
| once: true | |
| }); | |
| feather.replace(); | |
| // Smooth scrolling for anchor links | |
| document.querySelectorAll('a[href^="#"]').forEach(anchor => { | |
| anchor.addEventListener('click', function (e) { | |
| e.preventDefault(); | |
| const targetId = this.getAttribute('href'); | |
| if (targetId === '#') return; | |
| const targetElement = document.querySelector(targetId); | |
| if (targetElement) { | |
| targetElement.scrollIntoView({ | |
| behavior: 'smooth' | |
| }); | |
| } | |
| }); | |
| }); | |
| // Mobile menu toggle | |
| const mobileMenuButton = document.querySelector('button[aria-controls="mobile-menu"]'); | |
| if (mobileMenuButton) { | |
| mobileMenuButton.addEventListener('click', function() { | |
| const menu = document.getElementById('mobile-menu'); | |
| if (menu) { | |
| const isExpanded = this.getAttribute('aria-expanded') === 'true'; | |
| this.setAttribute('aria-expanded', !isExpanded); | |
| menu.classList.toggle('hidden'); | |
| // Change icon | |
| const icon = this.querySelector('i'); | |
| if (icon) { | |
| if (isExpanded) { | |
| icon.setAttribute('data-feather', 'menu'); | |
| } else { | |
| icon.setAttribute('data-feather', 'x'); | |
| } | |
| feather.replace(); | |
| } | |
| } | |
| }); | |
| } | |
| </script> | |
| </body> | |
| </html> | |