Social Media Content Blast
Run ID: 69cb54ab61b1021a29a87fbb2026-03-31Marketing
PantheraHive BOS
BOS Dashboard

Generate a full week of social media posts with captions, hashtags, and image prompt briefs

Social Media Content Blast: Week 1 Content Calendar

Project Title: Social Media Content Blast

Workflow Step: socialmedia → generate_content_calendar

Output Type: Comprehensive Social Media Content Calendar (7 Days)


1. Project Overview & Goal

This document provides a full week's worth of ready-to-publish social media content, including engaging captions, relevant hashtags, and detailed image prompt briefs. The goal is to deliver a consistent, professional, and high-impact content stream designed to boost audience engagement, drive brand awareness, and provide value.

2. Theme for the Week: "Boost Your Week: Productivity, Wellness & Growth"

This week's content is curated around empowering your audience with actionable tips, motivational insights, and a focus on personal and professional development. We aim to inspire a positive mindset, encourage healthy habits, and foster continuous growth.

3. Content Calendar: Day-by-Day Breakdown


Day 1: Monday - Kickstart Your Productivity

  • Post Focus/Goal: Inspire a productive start to the week with actionable tips.
  • Caption:

* Headline: 🚀 Monday Morning Momentum: 3 Productivity Hacks!

* Body Text: Don't let Monday blues slow you down! Start your week strong with these simple yet powerful productivity hacks. Prioritize your top 3 tasks, use the Pomodoro Technique for focused work, and take short, rejuvenating breaks. Small changes can make a huge difference!

* Call to Action: What's your go-to Monday productivity tip? Share it below! 👇

  • Hashtags: #MondayMotivation #ProductivityHacks #StartStrong #WorkSmart #TimeManagement #GoalSetting #WeeklyGoals
  • Image Prompt Brief: A vibrant, clean desk setup with a laptop, planner, coffee cup, and a plant. Bright, natural lighting. Emphasize a sense of calm productivity. Could include a subtle overlay of a checklist or calendar icon.

Day 2: Tuesday - Deep Dive into Skill Development

  • Post Focus/Goal: Encourage continuous learning and skill enhancement.
  • Caption:

* Headline: 🧠 Level Up Your Skills: The Power of Continuous Learning!

* Body Text: In today's fast-paced world, staying curious and continuously learning is key to staying ahead. Whether it's mastering a new software, learning a language, or diving into a new hobby, investing in yourself pays dividends. What skill have you always wanted to develop?

* Call to Action: Tell us one skill you're currently learning or aspire to learn this year! 📚

  • Hashtags: #ContinuousLearning #SkillDevelopment #GrowthMindset #LifelongLearning #PersonalGrowth #FutureSkills #InvestInYourself
  • Image Prompt Brief: A diverse group of individuals (various ages, genders) engaged in learning activities: one reading a book, another watching an online course on a tablet, someone else collaborating on a whiteboard. Dynamic, modern, and inclusive feel.

Day 3: Wednesday - Mid-Week Motivation & Mindset

  • Post Focus/Goal: Provide a motivational boost to overcome mid-week slumps and maintain a positive outlook.
  • Caption:

* Headline:Wednesday Wisdom: Shift Your Mindset, Shift Your World!

* Body Text: Feeling the mid-week slump? Remember, your mindset is your most powerful tool. A positive outlook can transform challenges into opportunities and obstacles into stepping stones. Take a moment to reframe your thoughts and infuse your day with optimism. You've got this!

* Call to Action: How do you re-energize your mindset mid-week? Share your secret! 💬

  • Hashtags: #WednesdayWisdom #MindsetMatters #PositiveVibes #Motivation #Resilience #InnerStrength #SelfCare #MidweekBoost
  • Image Prompt Brief: A person gazing out at a serene landscape (e.g., mountain view, calm lake at sunrise/sunset) with a thoughtful, hopeful expression. Soft, warm lighting. Emphasize tranquility and introspection.

Day 4: Thursday - Engagement & Community Spotlight

  • Post Focus/Goal: Foster community interaction and gather insights from the audience.
  • Caption:

* Headline:Thursday Thoughts: What's Your Biggest Challenge Right Now?

* Body Text: We believe in the power of community! As you push through your week, we want to hear from you. What's one challenge you're currently facing, either professionally or personally? Sometimes, just articulating it can be the first step to finding a solution. Let's support each other!

* Call to Action: Share your challenge in the comments – you might find someone who can relate or even offer a helpful perspective! 👇

  • Hashtags: #CommunityTalk #ThursdayThoughts #SupportEachOther #ProblemSolving #AskTheCommunity #GrowthChallenges #ConnectAndGrow
  • Image Prompt Brief: A visually appealing graphic with a prominent question mark and speech bubbles, suggesting conversation and interaction. Use brand colors if applicable. Could feature diverse, friendly faces in a collage or abstract form, symbolizing community.

Day 5: Friday - Weekend Wellness & Recharge

  • Post Focus/Goal: Promote self-care and encourage a balanced approach to the upcoming weekend.
  • Caption:

* Headline: 🌿 Friday Feels: Prioritize Your Weekend Recharge!

* Body Text: You've worked hard all week, and now it's time to prioritize YOU! The weekend isn't just for chores; it's for recharging your mind, body, and soul. Whether it's reading a book, spending time in nature, or simply relaxing, make self-care a non-negotiable.

* Call to Action: How are you planning to recharge this weekend? Share your favorite self-care activity! 🛀🧘‍♀️

  • Hashtags: #WeekendVibes #SelfCare #Recharge #FridayFeeling #WellnessJourney #MindBodySoul #Relaxation #Unwind
  • Image Prompt Brief: A cozy, inviting scene of relaxation: a person reading a book on a comfortable sofa with a warm blanket, a cup of tea nearby, or someone enjoying a peaceful walk in a park. Soft, comforting lighting.

Day 6: Saturday - Inspirational Story/Reflection

  • Post Focus/Goal: Share an inspiring message about personal journey, growth, or overcoming obstacles.
  • Caption:

* Headline: 🌟 Saturday Spark: Embrace Your Journey, Celebrate Your Growth!

* Body Text: Every step you take, every lesson you learn, and every challenge you overcome contributes to your unique journey. Take a moment this Saturday to reflect on how far you've come. Celebrate your small victories and acknowledge your resilience. Your story is powerful!

* Call to Action: What's one personal victory or growth moment you're proud of this year? Share it with us! ✨

  • Hashtags: #Inspiration #PersonalJourney #GrowthStory #SaturdayMotivation #SelfReflection #CelebrateYou #Resilience #Empowerment
  • Image Prompt Brief: A scenic path or road winding through a beautiful landscape (e.g., forest, coastline, mountain trail), symbolizing a journey. The path should look inviting and represent progress. Golden hour lighting.

Day 7: Sunday - Prepare for a Successful Week Ahead

  • Post Focus/Goal: Encourage proactive planning and goal-setting for the upcoming week.
  • Caption:

* Headline:Sunday Strategy: Plan for a Week of Success!

* Body Text: As the weekend winds down, take a few minutes to set yourself up for a successful week ahead. Plan your top priorities, schedule in some self-care, and visualize your goals. A little preparation goes a long way in reducing stress and boosting productivity!

* Call to Action: What's one thing you're planning to achieve next week? Let's manifest success together! 🎯

  • Hashtags: #SundayPlanning #WeeklyGoals #SuccessMindset #ProductivityTips #GoalSetting #NewWeekNewGoals #StrategicPlanning #OrganizeYourLife
  • Image Prompt Brief: A neatly organized planner or journal open to a weekly spread, with a pen, a cup of tea/coffee, and perhaps some light snacks or a small plant nearby. Clean, bright, and organized aesthetic.

4. General Notes & Best Practices

  • Platform Adaptation: While these posts are general, remember to tailor slightly for each platform (e.g., longer text for LinkedIn, more visual focus for Instagram, concise for X/Twitter).
  • Visual Consistency: Aim for a consistent visual style across all image prompts to maintain brand identity.
  • Engagement Monitoring: Actively monitor comments and messages, and engage with your audience to build community.
  • Timing: Post at optimal times when your audience is most active on each platform.
  • Flexibility: This calendar is a guide. Feel free to adjust based on real-time events, audience feedback, or trending topics relevant to your brand.

sharper4k Output

Social Media Content Blast: Full Week Post Schedule & Image Prompts

This deliverable provides a comprehensive, seven-day social media content schedule designed to engage your audience, build brand presence, and drive interaction. Each day includes a compelling caption, relevant hashtags, and a detailed image prompt brief optimized for high-quality AI image generation platforms like sharper4k.


Day 1: Monday - Kicking Off the Week with Focus

  • Objective: Inspire productivity, goal-setting, and a positive start to the work week.
  • Caption:

> Good morning, innovators! ☀️ As we step into a new week, let's set our sights high and tackle our goals with renewed energy. What's one big thing you're aiming to achieve this week? Share your Monday motivation below! 👇

  • Hashtags:

> #MondayMotivation #NewWeekNewGoals #ProductivityBoost #GoalSetting #StartStrong #WeeklyWins #ProfessionalGrowth

  • Image Prompt Brief:

* Core Concept: A professional, focused individual working productively in a modern, organized office environment.

* Style/Mood: Bright, clean, inspiring, professional, minimalist, high-definition.

* Key Elements: A person (diverse, professional attire, perhaps mid-20s to late-30s) looking thoughtfully at a laptop screen or a well-organized desk. A notebook, pen, and a cup of coffee (or tea) could be subtly present. The background should be a modern, well-lit office space, possibly with a subtle blurred view of a city skyline or green plants.

* Composition/Angle: Medium shot, slightly from behind or side, focusing on the individual's engagement with their work. Emphasize clean lines and a sense of calm focus.

* Lighting/Color Palette: Soft, natural daylight streaming in. A cool, professional color palette with whites, greys, blues, and subtle greens.

* Keywords for AI Generation: professional, focused, productive, modern office, laptop, organized desk, natural light, minimalist, high-resolution, sharp focus, inspiring, serene, diverse professional, 4k

* Negative Prompts: blurry, messy, distracting elements, outdated technology, cartoon, drawing, painting, low quality


Day 2: Tuesday - Embracing Innovation & Technology

  • Objective: Highlight the importance of innovation, technology, and forward-thinking.
  • Caption:

> Innovation isn't just a buzzword; it's the engine of progress. At [Your Company Name], we're constantly exploring new technologies to deliver cutting-edge solutions. What emerging tech are you most excited about? Let us know! 💡

  • Hashtags:

> #Innovation #TechTuesday #FutureTech #DigitalTransformation #CuttingEdge #ProblemSolving #TechSolutions #AI #Automation

  • Image Prompt Brief:

* Core Concept: Abstract representation of technology and innovation, possibly with subtle human interaction.

* Style/Mood: Futuristic, dynamic, sophisticated, high-tech, clean, vibrant.

* Key Elements: Interconnected glowing lines or data streams forming complex patterns, perhaps originating from or interacting with a subtle human hand gesture (e.g., pointing, gesturing). Elements of circuit boards, neural networks, or digital interfaces could be abstractly integrated. Blue, purple, and green light trails.

* Composition/Angle: Dynamic perspective, possibly a close-up on the abstract elements with a soft focus on the hand, or a wider shot showing the flow of digital information.

* Lighting/Color Palette: Dark background with bright, neon-like blues, purples, and greens for the digital elements. High contrast.

* Keywords for AI Generation: abstract technology, innovation, digital data flow, glowing lines, circuit board patterns, human hand interaction, futuristic, neural network, high-resolution, vibrant, dynamic, deep blue, purple, green, 4k

* Negative Prompts: cluttered, messy, old technology, cartoon, drawing, painting, low quality, unrealistic human anatomy


Day 3: Wednesday - The Power of Collaboration

  • Objective: Emphasize teamwork, collaboration, and collective success.
  • Caption:

> Great things are never done by one person; they're done by a team of people. 🤝 We believe in the power of collaboration to achieve extraordinary results. Tag a teammate who inspires you!

  • Hashtags:

> #Teamwork #Collaboration #WorkTogether #TeamBuilding #CompanyCulture #SuccessTogether #InnovationThroughTeamwork #MidweekMotivation

  • Image Prompt Brief:

* Core Concept: A diverse group of professionals collaborating effectively around a shared workspace or digital interface.

* Style/Mood: Engaging, collaborative, energetic, professional, authentic, well-lit.

* Key Elements: 3-4 diverse individuals (various ethnicities, genders, ages) actively engaged in discussion or working together. They could be standing around a large table with laptops, whiteboards, or digital screens displaying ideas. Smiles, gestures, and eye contact conveying positive interaction.

* Composition/Angle: Medium shot, slightly elevated to capture the group dynamic. Focus on the interaction and shared activity.

* Lighting/Color Palette: Bright, even, natural office lighting. A warm and inviting color palette, reflecting a positive work environment.

* Keywords for AI Generation: diverse team, collaboration, professional group, modern office, brainstorming, whiteboard, laptops, engaged discussion, teamwork, vibrant, authentic, high-resolution, smiling, positive interaction, 4k

* Negative Prompts: staged, stiff, awkward, blurry, messy, cartoon, drawing, painting, low quality, unengaged expressions


Day 4: Thursday - Celebrating Customer Success

  • Objective: Showcase customer success, build trust, and highlight the positive impact of your services/products.
  • Caption:

> Our mission is to empower your success. We're incredibly proud of the impact we've made for our clients, helping them achieve their goals and grow. What's been your biggest win recently? Share it with us! 🏆

  • Hashtags:

> #CustomerSuccess #ClientLove #ImpactDriven #SuccessStories #ThursdayThoughts #Partnership #BusinessGrowth #ClientFirst

  • Image Prompt Brief:

* Core Concept: A professional handshake between two individuals, symbolizing partnership and success, with a subtle background suggesting positive outcomes (e.g., growth charts, city view).

* Style/Mood: Professional, trustworthy, optimistic, elegant, sharp.

* Key Elements: A close-up or medium shot of two diverse hands (e.g., one male, one female; different skin tones) firmly shaking. The backdrop should be slightly blurred but recognizable as a modern office, boardroom, or a professional setting with hints of data visualization (charts, graphs) or a bright, expansive window view.

* Composition/Angle: Eye-level or slightly above, focusing on the handshake as the central element. Clean and uncluttered.

* Lighting/Color Palette: Bright and professional lighting. A corporate color palette with blues, greys, and whites, possibly with a touch of gold or vibrant accent color for success.

* Keywords for AI Generation: professional handshake, partnership, customer success, business deal, trust, collaboration, modern office background, blurred charts, high-resolution, sharp focus, corporate, optimistic, diverse hands, 4k

* Negative Prompts: blurry, weak grip, messy background, cartoon, drawing, painting, low quality, casual attire


Day 5: Friday - Learning & Growth Mindset

  • Objective: Encourage continuous learning, personal development, and a growth mindset as the week concludes.
  • Caption:

> The journey of growth never stops. This week, what new skill did you learn, or what challenge did you overcome that helped you grow? Let's embrace a growth mindset every day! 🌱 Happy Friday!

  • Hashtags:

> #GrowthMindset #ContinuousLearning #PersonalDevelopment #SkillUp #FridayFeeling #LearnGrowSucceed #EndOfWeek #KnowledgeIsPower

  • Image Prompt Brief:

* Core Concept: A symbolic representation of growth and learning, perhaps a person interacting with abstract knowledge elements or a plant growing from a book.

* Style/Mood: Inspiring, thoughtful, modern, clean, symbolic.

* Key Elements: A single, professional individual (diverse, perhaps mid-20s to 40s) looking contemplatively at a digital tablet or an open book, with subtle, abstract glowing lines or symbols radiating from it, symbolizing knowledge or ideas. Alternatively, a stylized image of a small, vibrant plant growing out of an open book, placed on a clean desk.

* Composition/Angle: Medium shot or close-up on the symbolic interaction. Clean background, minimalist.

* Lighting/Color Palette: Soft, ambient lighting. A calming color palette with greens, blues, and natural wood tones, or a bright white background for the book/tablet.

* Keywords for AI Generation: growth mindset, continuous learning, personal development, open book, digital tablet, abstract knowledge, glowing symbols, minimalist, inspiring, thoughtful, professional, high-resolution, plant growth, sharp focus, 4k

* Negative Prompts: cluttered, messy, blurry, cartoon, drawing, painting, low quality, distracting elements


Day 6: Saturday - Community & Inspiration

  • Objective: Foster a sense of community, inspire reflection, and connect on a more personal level.
  • Caption:

> Beyond the work week, it's the moments of connection and inspiration that truly enrich us. Take some time this weekend to connect with your community, learn something new, or simply recharge. What inspires you outside of work? ✨

  • Hashtags:

> #WeekendVibes #Community #Inspiration #WorkLifeBalance #SaturdayMotivation #Recharge #ConnectAndGrow #LifeBeyondWork

  • Image Prompt Brief:

* Core Concept: A warm, inviting scene of people connecting in a relaxed, inspiring environment, or a symbolic image of interconnectedness.

* Style/Mood: Warm, inviting, authentic, community-focused, soft, natural.

* Key Elements: A diverse group of 3-4 people (friends, colleagues outside work context) enjoying coffee or light conversation in a cozy, modern cafe or a well-designed communal space. Soft lighting, genuine smiles. Alternatively, an abstract image of interconnected human figures or glowing network lines forming a sphere, symbolizing community.

* Composition/Angle: Medium shot, slightly candid, capturing natural interaction. Focus on warmth and connection.

* Lighting/Color Palette: Warm, natural light, possibly with soft bokeh in the background. Earthy tones, warm browns, creams, and soft greens.

* Keywords for AI Generation: community connection, diverse group, cozy cafe, genuine smiles, relaxed atmosphere, inspiring conversation, warm lighting, natural, authentic, high-resolution, interconnectedness, symbolic, 4k

* Negative Prompts: staged, stiff, blurry, corporate, formal, cartoon, drawing, painting, low quality


Day 7: Sunday - Future Vision & Strategic Thinking

  • Objective: Encourage forward-thinking, strategic planning, and anticipation for the week ahead.
  • Caption:

> As the weekend winds down, it's the perfect time to reflect and envision the future. What bold steps are you planning to take next week to move closer to your long-term goals? Let's strategize for success! 🚀

  • Hashtags:

> #FutureVision #StrategicThinking #SundayReflection #PlanForSuccess #InnovationAhead #Anticipate #GoalSetting #FutureProof

  • Image Prompt Brief:

* Core Concept: A person looking confidently towards a futuristic, abstract cityscape or a holographic projection of data/plans, symbolizing foresight and strategic planning.

* Style/Mood: Futuristic, visionary, confident, sophisticated, high-tech, inspiring.

* Key Elements: A professional individual (diverse, perhaps standing) looking out a large window at a stylized, futuristic city skyline at dawn or dusk, or interacting with a transparent holographic display showing charts, graphs, or architectural plans. The person's silhouette or profile could be emphasized.

* Composition/Angle: Wide shot or medium shot, emphasizing the vastness of the vision and the individual's commanding presence.

* Lighting/Color Palette: Dramatic and inspiring lighting. Dawn/dusk colors (blues, purples, oranges) for the skyline, or a cool, sleek palette for the holographic elements.

* Keywords for AI Generation: future vision, strategic planning, futuristic cityscape, holographic display, professional silhouette, confident pose, dawn light, strategic thinking, high-resolution, inspiring, sophisticated, bold, 4k

* Negative Prompts: blurry, messy, outdated technology, cartoon, drawing, painting, low quality, uninspiring, cluttered


social_media_content_blast.md
Download as Markdown
Copy all content
Full output as text
Download ZIP
IDE-ready project ZIP
Copy share link
Permanent URL for this run
Get Embed Code
Embed this result on any website
Print / Save PDF
Use browser print dialog
\n\n\n"); var hasSrcMain=Object.keys(extracted).some(function(k){return k.indexOf("src/main")>=0;}); if(!hasSrcMain) zip.file(folder+"src/main."+ext,"import React from 'react'\nimport ReactDOM from 'react-dom/client'\nimport App from './App'\nimport './index.css'\n\nReactDOM.createRoot(document.getElementById('root')!).render(\n \n \n \n)\n"); var hasSrcApp=Object.keys(extracted).some(function(k){return k==="src/App."+ext||k==="App."+ext;}); if(!hasSrcApp) zip.file(folder+"src/App."+ext,"import React from 'react'\nimport './App.css'\n\nfunction App(){\n return(\n
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n
\n )\n}\nexport default App\n"); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e}\n.app{min-height:100vh;display:flex;flex-direction:column}\n.app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px}\nh1{font-size:2.5rem;font-weight:700}\n"); zip.file(folder+"src/App.css",""); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/pages/.gitkeep",""); zip.file(folder+"src/hooks/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\n## Open in IDE\nOpen the project folder in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Vue (Vite + Composition API + TypeScript) --- */ function buildVue(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "type": "module",\n "scripts": {\n "dev": "vite",\n "build": "vue-tsc -b && vite build",\n "preview": "vite preview"\n },\n "dependencies": {\n "vue": "^3.5.13",\n "vue-router": "^4.4.5",\n "pinia": "^2.3.0",\n "axios": "^1.7.9"\n },\n "devDependencies": {\n "@vitejs/plugin-vue": "^5.2.1",\n "typescript": "~5.7.3",\n "vite": "^6.0.5",\n "vue-tsc": "^2.2.0"\n }\n}\n'); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite'\nimport vue from '@vitejs/plugin-vue'\nimport { resolve } from 'path'\n\nexport default defineConfig({\n plugins: [vue()],\n resolve: { alias: { '@': resolve(__dirname,'src') } }\n})\n"); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]}\n'); zip.file(folder+"tsconfig.app.json",'{\n "compilerOptions":{\n "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"],\n "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true,\n "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue",\n "strict":true,"paths":{"@/*":["./src/*"]}\n },\n "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"]\n}\n'); zip.file(folder+"env.d.ts","/// \n"); zip.file(folder+"index.html","\n\n\n \n \n "+slugTitle(pn)+"\n\n\n
\n \n\n\n"); var hasMain=Object.keys(extracted).some(function(k){return k==="src/main.ts"||k==="main.ts";}); if(!hasMain) zip.file(folder+"src/main.ts","import { createApp } from 'vue'\nimport { createPinia } from 'pinia'\nimport App from './App.vue'\nimport './assets/main.css'\n\nconst app = createApp(App)\napp.use(createPinia())\napp.mount('#app')\n"); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue","\n\n\n\n\n"); zip.file(folder+"src/assets/main.css","*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,sans-serif;background:#fff;color:#213547}\n"); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/views/.gitkeep",""); zip.file(folder+"src/stores/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\nOpen in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Angular (v19 standalone) --- */ function buildAngular(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var sel=pn.replace(/_/g,"-"); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "scripts": {\n "ng": "ng",\n "start": "ng serve",\n "build": "ng build",\n "test": "ng test"\n },\n "dependencies": {\n "@angular/animations": "^19.0.0",\n "@angular/common": "^19.0.0",\n "@angular/compiler": "^19.0.0",\n "@angular/core": "^19.0.0",\n "@angular/forms": "^19.0.0",\n "@angular/platform-browser": "^19.0.0",\n "@angular/platform-browser-dynamic": "^19.0.0",\n "@angular/router": "^19.0.0",\n "rxjs": "~7.8.0",\n "tslib": "^2.3.0",\n "zone.js": "~0.15.0"\n },\n "devDependencies": {\n "@angular-devkit/build-angular": "^19.0.0",\n "@angular/cli": "^19.0.0",\n "@angular/compiler-cli": "^19.0.0",\n "typescript": "~5.6.0"\n }\n}\n'); zip.file(folder+"angular.json",'{\n "$schema": "./node_modules/@angular/cli/lib/config/schema.json",\n "version": 1,\n "newProjectRoot": "projects",\n "projects": {\n "'+pn+'": {\n "projectType": "application",\n "root": "",\n "sourceRoot": "src",\n "prefix": "app",\n "architect": {\n "build": {\n "builder": "@angular-devkit/build-angular:application",\n "options": {\n "outputPath": "dist/'+pn+'",\n "index": "src/index.html",\n "browser": "src/main.ts",\n "tsConfig": "tsconfig.app.json",\n "styles": ["src/styles.css"],\n "scripts": []\n }\n },\n "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"}\n }\n }\n }\n}\n'); zip.file(folder+"tsconfig.json",'{\n "compileOnSave": false,\n "compilerOptions": {"baseUrl":"./","outDir":"./dist/out-tsc","forceConsistentCasingInFileNames":true,"strict":true,"noImplicitOverride":true,"noPropertyAccessFromIndexSignature":true,"noImplicitReturns":true,"noFallthroughCasesInSwitch":true,"paths":{"@/*":["src/*"]},"skipLibCheck":true,"esModuleInterop":true,"sourceMap":true,"declaration":false,"experimentalDecorators":true,"moduleResolution":"bundler","importHelpers":true,"target":"ES2022","module":"ES2022","useDefineForClassFields":false,"lib":["ES2022","dom"]},\n "references":[{"path":"./tsconfig.app.json"}]\n}\n'); zip.file(folder+"tsconfig.app.json",'{\n "extends":"./tsconfig.json",\n "compilerOptions":{"outDir":"./dist/out-tsc","types":[]},\n "files":["src/main.ts"],\n "include":["src/**/*.d.ts"]\n}\n'); zip.file(folder+"src/index.html","\n\n\n \n "+slugTitle(pn)+"\n \n \n \n\n\n \n\n\n"); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser';\nimport { appConfig } from './app/app.config';\nimport { AppComponent } from './app/app.component';\n\nbootstrapApplication(AppComponent, appConfig)\n .catch(err => console.error(err));\n"); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; }\nbody { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; }\n"); var hasComp=Object.keys(extracted).some(function(k){return k.indexOf("app.component")>=0;}); if(!hasComp){ zip.file(folder+"src/app/app.component.ts","import { Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'app-root',\n standalone: true,\n imports: [RouterOutlet],\n templateUrl: './app.component.html',\n styleUrl: './app.component.css'\n})\nexport class AppComponent {\n title = '"+pn+"';\n}\n"); zip.file(folder+"src/app/app.component.html","
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n \n
\n"); zip.file(folder+"src/app/app.component.css",".app-header{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}h1{font-size:2.5rem;font-weight:700;color:#6366f1}\n"); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core';\nimport { provideRouter } from '@angular/router';\nimport { routes } from './app.routes';\n\nexport const appConfig: ApplicationConfig = {\n providers: [\n provideZoneChangeDetection({ eventCoalescing: true }),\n provideRouter(routes)\n ]\n};\n"); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router';\n\nexport const routes: Routes = [];\n"); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nng serve\n# or: npm start\n\`\`\`\n\n## Build\n\`\`\`bash\nng build\n\`\`\`\n\nOpen in VS Code with Angular Language Service extension.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n.angular/\n"); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var reqMap={"numpy":"numpy","pandas":"pandas","sklearn":"scikit-learn","tensorflow":"tensorflow","torch":"torch","flask":"flask","fastapi":"fastapi","uvicorn":"uvicorn","requests":"requests","sqlalchemy":"sqlalchemy","pydantic":"pydantic","dotenv":"python-dotenv","PIL":"Pillow","cv2":"opencv-python","matplotlib":"matplotlib","seaborn":"seaborn","scipy":"scipy"}; var reqs=[]; Object.keys(reqMap).forEach(function(k){if(src.indexOf("import "+k)>=0||src.indexOf("from "+k)>=0)reqs.push(reqMap[k]);}); var reqsTxt=reqs.length?reqs.join("\n"):"# add dependencies here\n"; zip.file(folder+"main.py",src||"# "+title+"\n# Generated by PantheraHive BOS\n\nprint(title+\" loaded\")\n"); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\npython3 -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\n\`\`\`\n\n## Run\n\`\`\`bash\npython main.py\n\`\`\`\n"); zip.file(folder+".gitignore",".venv/\n__pycache__/\n*.pyc\n.env\n.DS_Store\n"); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var depMap={"mongoose":"^8.0.0","dotenv":"^16.4.5","axios":"^1.7.9","cors":"^2.8.5","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2","socket.io":"^4.7.4","uuid":"^9.0.1","zod":"^3.22.4","express":"^4.18.2"}; var deps={}; Object.keys(depMap).forEach(function(k){if(src.indexOf(k)>=0)deps[k]=depMap[k];}); if(!deps["express"])deps["express"]="^4.18.2"; var pkgJson=JSON.stringify({"name":pn,"version":"1.0.0","main":"src/index.js","scripts":{"start":"node src/index.js","dev":"nodemon src/index.js"},"dependencies":deps,"devDependencies":{"nodemon":"^3.0.3"}},null,2)+"\n"; zip.file(folder+"package.json",pkgJson); var fallback="const express=require(\"express\");\nconst app=express();\napp.use(express.json());\n\napp.get(\"/\",(req,res)=>{\n res.json({message:\""+title+" API\"});\n});\n\nconst PORT=process.env.PORT||3000;\napp.listen(PORT,()=>console.log(\"Server on port \"+PORT));\n"; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000\n"); zip.file(folder+".gitignore","node_modules/\n.env\n.DS_Store\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\n\`\`\`\n\n## Run\n\`\`\`bash\nnpm run dev\n\`\`\`\n"); } /* --- Vanilla HTML --- */ function buildVanillaHtml(zip,folder,app,code){ var title=slugTitle(app); var isFullDoc=code.trim().toLowerCase().indexOf("=0||code.trim().toLowerCase().indexOf("=0; var indexHtml=isFullDoc?code:"\n\n\n\n\n"+title+"\n\n\n\n"+code+"\n\n\n\n"; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */\n*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e}\n"); zip.file(folder+"script.js","/* "+title+" — scripts */\n"); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Open\nDouble-click \`index.html\` in your browser.\n\nOr serve locally:\n\`\`\`bash\nnpx serve .\n# or\npython3 -m http.server 3000\n\`\`\`\n"); zip.file(folder+".gitignore",".DS_Store\nnode_modules/\n.env\n"); } /* ===== MAIN ===== */ var sc=document.createElement("script"); sc.src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"; sc.onerror=function(){ if(lbl)lbl.textContent="Download ZIP"; alert("JSZip load failed — check connection."); }; sc.onload=function(){ var zip=new JSZip(); var base=(_phFname||"output").replace(/\.[^.]+$/,""); var app=base.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"my_app"; var folder=app+"/"; var vc=document.getElementById("panel-content"); var panelTxt=vc?(vc.innerText||vc.textContent||""):""; var lang=detectLang(_phCode,panelTxt); if(_phIsHtml){ buildVanillaHtml(zip,folder,app,_phCode); } else if(lang==="flutter"){ buildFlutter(zip,folder,app,_phCode,panelTxt); } else if(lang==="react-native"){ buildReactNative(zip,folder,app,_phCode,panelTxt); } else if(lang==="swift"){ buildSwift(zip,folder,app,_phCode,panelTxt); } else if(lang==="kotlin"){ buildKotlin(zip,folder,app,_phCode,panelTxt); } else if(lang==="react"){ buildReact(zip,folder,app,_phCode,panelTxt); } else if(lang==="vue"){ buildVue(zip,folder,app,_phCode,panelTxt); } else if(lang==="angular"){ buildAngular(zip,folder,app,_phCode,panelTxt); } else if(lang==="python"){ buildPython(zip,folder,app,_phCode); } else if(lang==="node"){ buildNode(zip,folder,app,_phCode); } else { /* Document/content workflow */ var title=app.replace(/_/g," "); var md=_phAll||_phCode||panelTxt||"No content"; zip.file(folder+app+".md",md); var h=""+title+""; h+="

"+title+"

"; var hc=md.replace(/&/g,"&").replace(//g,">"); hc=hc.replace(/^### (.+)$/gm,"

$1

"); hc=hc.replace(/^## (.+)$/gm,"

$1

"); hc=hc.replace(/^# (.+)$/gm,"

$1

"); hc=hc.replace(/\*\*(.+?)\*\*/g,"$1"); hc=hc.replace(/\n{2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\nFiles:\n- "+app+".md (Markdown)\n- "+app+".html (styled HTML)\n"); } zip.generateAsync({type:"blob"}).then(function(blob){ var a=document.createElement("a"); a.href=URL.createObjectURL(blob); a.download=app+".zip"; a.click(); URL.revokeObjectURL(a.href); if(lbl)lbl.textContent="Download ZIP"; }); }; document.head.appendChild(sc); } function phShare(){navigator.clipboard.writeText(window.location.href).then(function(){var el=document.getElementById("ph-share-lbl");if(el){el.textContent="Link copied!";setTimeout(function(){el.textContent="Copy share link";},2500);}});}function phEmbed(){var runId=window.location.pathname.split("/").pop().replace(".html","");var embedUrl="https://pantherahive.com/embed/"+runId;var code='';navigator.clipboard.writeText(code).then(function(){var el=document.getElementById("ph-embed-lbl");if(el){el.textContent="Embed code copied!";setTimeout(function(){el.textContent="Get Embed Code";},2500);}});}