Social Media Content Blast
Run ID: 69c93a4dfee1f7eb4a80f7b12026-03-29Marketing
PantheraHive BOS
BOS Dashboard

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

Social Media Content Calendar: Elevate Your Week

This document outlines a comprehensive, engaging social media content calendar for one full week, designed to build brand authority, foster community engagement, and drive audience action. Each post includes ready-to-publish captions, relevant hashtags, and detailed image prompt briefs.


Day 1: Monday - Kickstart Your Productivity

Theme: Setting the stage for a productive week with clear goals and effective strategies.

  • Social Media Post:

* Headline: πŸš€ Monday Motivation: Master Your Week Ahead!

* Body Text: The secret to a successful week? A powerful start! Don't let your Monday overwhelm you. Take control by setting 3 key priorities that will move the needle. Break them down into actionable steps and watch your progress unfold. What's your top goal for this week? Share it below!

* Call to Action: Share your Monday power-tip in the comments!

  • Hashtags: #MondayMotivation #ProductivityTips #GoalSetting #WeeklyGoals #TimeManagement #SuccessMindset
  • Image Prompt Brief: A vibrant, minimalist desk setup from a slightly elevated angle. On the desk, there's an open planner or notebook with handwritten goals, a sleek laptop showing a task list, a cup of coffee, and a small, potted plant. The overall mood should be organized, calm, and inspiring, with soft, natural lighting.

Day 2: Tuesday - Unlock Your Potential

Theme: Highlighting the importance of continuous learning and skill development.

  • Social Media Post:

* Headline: ✨ Upskill Your Tuesday: The Power of Continuous Learning

* Body Text: In today's fast-paced world, staying stagnant isn't an option. Investing in new skills or refining existing ones is your competitive edge! Whether it's a new software, a leadership course, or a language, every step forward expands your horizons. What skill are you passionate about developing next?

* Call to Action: Discover our resources for professional development (Link in Bio)!

  • Hashtags: #ContinuousLearning #SkillDevelopment #LifelongLearning #ProfessionalGrowth #Upskill #CareerDevelopment
  • Image Prompt Brief: A diverse group of enthusiastic professionals (male and female, various ethnicities) engaged in an interactive workshop or online learning session. They are smiling, taking notes, and looking at a screen or whiteboard with insightful graphics. The atmosphere should be collaborative and focused on discovery, with modern, bright office aesthetics in the background.

Day 3: Wednesday - Mid-Week Wellness Boost

Theme: Emphasizing mental well-being and mindfulness for sustained performance.

  • Social Media Post:

* Headline: 🌿 Wellness Wednesday: Recharge Your Mid-Week Mind!

* Body Text: Hitting the mid-week slump? It's a sign to pause and recharge! Mental well-being isn't a luxury; it's essential for peak performance. Take 15 minutes today to step away from your screen, practice deep breathing, or simply enjoy a quiet moment. Your focus will thank you. How do you recharge during your workday?

* Call to Action: Comment below with your favorite quick de-stress technique!

  • Hashtags: #WellnessWednesday #MentalHealth #Mindfulness #WorkLifeBalance #SelfCare #MidWeekBoost
  • Image Prompt Brief: A serene image of a person (gender neutral) taking a mindful break. Perhaps they are standing by a large window looking out at a calming landscape, or doing a gentle stretch in a bright, uncluttered office space. Focus on soft lighting, a sense of tranquility, and perhaps a warm cup of tea or a small plant nearby.

Day 4: Thursday - Industry Insights & Trends

Theme: Sharing valuable insights and thought leadership on current industry trends.

  • Social Media Post:

* Headline: πŸ’‘ Thursday Thoughts: Navigating the Future of [Your Industry/Topic]

* Body Text: The landscape of [Your Industry/Topic - e.g., digital marketing, AI, sustainable business] is evolving at lightning speed! Staying ahead requires understanding the emerging trends and their potential impact. From [Trend 1] to [Trend 2], what do you see as the biggest game-changers in the next 5 years? Let's discuss!

* Call to Action: Read our latest blog post on [Specific Trend] for deeper insights (Link in Bio)!

  • Hashtags: #[YourIndustry]Trends #FutureOfWork #Innovation #ThoughtLeadership #IndustryInsights #BusinessStrategy
  • Image Prompt Brief: A futuristic, abstract graphic representing data, growth, and connection. Think glowing lines, interconnected nodes, and subtle geometric shapes in a cool color palette (blues, purples, greens). It should evoke a sense of progress, technology, and forward-thinking, without being too literal.

Day 5: Friday - Reflect & Plan Ahead

Theme: Encouraging reflection on the week's achievements and planning for the weekend/next week.

  • Social Media Post:

* Headline: πŸŽ‰ Friday Wins & Weekend Plans!

* Body Text: You've made it to Friday! Take a moment to acknowledge your hard work and celebrate your wins, big or small. What's one accomplishment you're proud of this week? Now, shift gears! What are your plans for a well-deserved, refreshing weekend? Share your joy!

* Call to Action: Tell us your biggest win this week and your weekend plans!

  • Hashtags: #FridayFeeling #WeeklyWins #WeekendVibes #WorkLifeIntegration #Reflection #Gratitude
  • Image Prompt Brief: A cheerful and celebratory image. This could be a person (diverse representation) giving a thumbs-up or a triumphant gesture in a relaxed, modern office setting, with a subtle "TGIF" or "Weekend" graphic overlay. Alternatively, a flat lay of a neatly organized desk with a "DONE" checklist and a coffee cup, next to a travel guide or a book, hinting at weekend leisure.

Day 6: Saturday - Community Engagement & Fun

Theme: A lighthearted, interactive post to foster community and brand personality.

  • Social Media Post:

* Headline: β˜•οΈ Saturday Morning Question: Coffee or Tea?

* Body Text: It's the weekend! Time to relax and enjoy your favorite brew. Are you a die-hard coffee aficionado, needing that rich aroma to kickstart your day, or do you prefer the soothing warmth of a perfect cup of tea? Let us know your go-to weekend beverage!

* Call to Action: Vote in the comments: β˜•οΈ for Coffee, 🍡 for Tea!

  • Hashtags: #WeekendFun #CoffeeLover #TeaTime #CommunityEngagement #SaturdayVibes #Relaxation
  • Image Prompt Brief: A visually appealing split image or a side-by-side comparison. One side features a beautifully presented latte art coffee cup on a rustic wooden table with soft morning light. The other side features an elegant teapot and a delicate teacup with steam rising, perhaps with a book nearby. Both should evoke comfort and warmth.

Day 7: Sunday - Inspiration & Preparation

Theme: Motivational content to inspire and help prepare for the upcoming week.

  • Social Media Post:

* Headline: 🌟 Sunday Serenity: Fueling Your Week Ahead

* Body Text: As the weekend winds down, let's embrace the calm and set intentions for a powerful week. Sunday is the perfect day to reflect, recharge, and visualize the success you want to achieve. What's one positive affirmation you'll carry into your Monday?

* Call to Action: Share your favorite positive affirmation for the week ahead!

  • Hashtags: #SundayInspiration #NewWeekNewGoals #PositiveVibes #Motivation #WeeklyPrep #Mindset
  • Image Prompt Brief: A peaceful, inspiring landscape scene, such as a sunrise over mountains or a tranquil lake at dawn. The image should convey hope, new beginnings, and a sense of calm strength. Avoid people, focusing purely on nature's beauty, with soft, warm light.

sharper4k Output

This deliverable completes Step 2 of 2 for your "Social Media Content Blast" workflow. We have generated a comprehensive full week of social media posts, including engaging captions, relevant hashtags, and detailed image prompt briefs tailored for AI image generation tools.

Each day's content is designed to resonate with your audience, promote your brand's values, and drive engagement. The image prompt briefs are crafted to provide clear, actionable instructions for creating visually stunning and contextually appropriate imagery.


Social Media Content Blast: Full Week Deliverable

Brand Focus: EcoThrive - Sustainable Living Solutions (A brand promoting eco-friendly products, tips, and a sustainable lifestyle).


Day 1: Monday - Kickstart Your Week with Sustainable Choices

  • Post Theme: Monday Motivation & New Beginnings with a sustainable focus.
  • Caption:

"Monday motivation powered by nature! 🌱 Let's make this week count with small, impactful choices for a healthier planet. What's one sustainable goal you're setting for yourself this week? Share in the comments! #EcoThrive"

  • Hashtags:

#MondayMotivation #SustainableLiving #EcoFriendly #NewWeekNewGoals #GreenChoices #ConsciousLiving #StartSmall #MakeADifference

  • Image Prompt Brief:

* Subject: A bright, minimalist flat lay composition featuring a reusable coffee cup, a small potted succulent, a notebook with "Sustainable Goals" written on it, and a sunlit window in the background.

* Style/Aesthetics: Modern, clean, and refreshing photography. Soft, natural light.

* Composition: Top-down flat lay.

* Lighting: Bright, natural daylight coming from a window, creating soft shadows.

* Mood/Emotion: Inspiring, fresh, calm, and productive.

* Key Elements/Objects: White ceramic reusable coffee cup, small vibrant green succulent in a terracotta pot, a simple open notebook with a pen, a few scattered green leaves.

* Background/Setting: A clean, light-colored wooden desk or minimalist white surface.

* Color Palette: Dominantly whites, light wood tones, natural greens, and a touch of warm brown.

* Technical Details: High resolution, crisp focus on all items, shallow depth of field for the background.


Day 2: Tuesday - Sustainable Product Spotlight & Eco-Tip

  • Post Theme: Highlighting a practical sustainable product and an eco-tip.
  • Caption:

"Did you know switching to reusable produce bags can save hundreds of plastic bags a year? Our organic cotton mesh bags are durable, stylish, and planet-approved for your next grocery run! 🍎πŸ₯• Swipe to see them in action! #EcoTipTuesday"

  • Hashtags:

#EcoTipTuesday #SustainableProducts #ZeroWaste #ReusableBags #ShopSustainable #EcoThriveTips #PlasticFree #GroceryHaul #ConsciousConsumer

  • Image Prompt Brief:

* Subject: Two high-quality product photos in a carousel format.

* Image 1: A stack of neatly folded organic cotton mesh produce bags (various sizes) on a rustic wooden table, with fresh, colorful produce (apples, oranges, leafy greens) artfully arranged around them.

* Image 2: A close-up shot of a hand (diverse, natural skin tone) holding a full mesh produce bag overflowing with vibrant, fresh vegetables (e.g., bell peppers, zucchini) inside a well-lit grocery store aisle (blurred background).

* Style/Aesthetics: Professional product photography with a natural, organic feel.

* Composition: Image 1: Flat lay or slightly elevated angle. Image 2: Medium close-up, focusing on the bag and produce.

* Lighting: Soft, even studio lighting for Image 1; bright, natural store lighting for Image 2.

* Mood/Emotion: Practical, fresh, appealing, and responsible.

* Key Elements/Objects: Organic cotton mesh produce bags, a variety of fresh fruits and vegetables.

* Background/Setting: Image 1: Rustic wooden table or natural linen fabric. Image 2: Blurred background of a clean grocery store produce section.

* Color Palette: Earthy tones (cotton, wood) mixed with the vibrant natural colors of fruits and vegetables.

* Technical Details: 4K resolution, sharp focus on products, appealing food styling.


Day 3: Wednesday - Mid-Week Inspiration & Community Engagement

  • Post Theme: Inspiring message about collective impact and community sharing.
  • Caption:

"Mid-week reminder: Every small step towards sustainability creates a ripple effect. You're making a difference! Keep thriving. ✨ Share your favorite eco-friendly habit below and inspire others! #EcoThriveCommunity"

  • Hashtags:

#WednesdayWisdom #SustainableCommunity #MakingADifference #EcoWarrior #GreenLiving #RippleEffect #InspireOthers #PositiveImpact #CommunityLove

  • Image Prompt Brief:

* Subject: A serene and hopeful image of hands (diverse, natural skin tones) gently cupping a small, glowing sapling or a clear glass jar containing a miniature vibrant ecosystem (moss, tiny fern, pebbles). The background suggests a warm, natural light source.

* Style/Aesthetics: Soft focus, ethereal, slightly artistic photography.

* Composition: Close-up on the hands and the central object, with a blurred background.

* Lighting: Warm, soft, golden hour light, creating a gentle glow around the central subject.

* Mood/Emotion: Inspiring, hopeful, nurturing, peaceful.

* Key Elements/Objects: Intertwined hands, a young green sapling or a miniature terrarium.

* Background/Setting: Blurred natural background (e.g., soft green foliage, warm bokeh lights).

* Color Palette: Predominantly warm greens, soft browns, and golden light.

* Technical Details: High resolution, shallow depth of field, natural texture on hands and plant.


Day 4: Thursday - Behind the Scenes & Education

  • Post Theme: Educating about sustainable practices and brand values.
  • Caption:

"Ever wondered about the journey of your eco-friendly products? At EcoThrive, we prioritize ethical sourcing and transparent production, ensuring every item supports both people and planet. Learn more about our commitment to a better planet on our blog! Link in bio. 🌍 #EcoThriveValues"

  • Hashtags:

#SustainableSourcing #EthicalProduction #BehindTheScenes #KnowYourImpact #EcoEducation #Transparency #ConsciousBrand #FairTrade #PlanetOverProfit

  • Image Prompt Brief:

* Subject: A skilled artisan's hands (natural, authentic look, possibly with slight dirt or marks from work) working with natural, raw materials like organic cotton fibers, hemp, or recycled wood. The focus is on the hands and the materials, with a hint of a workshop or natural setting in the background.

* Style/Aesthetics: Authentic, documentary-style photography. Emphasize texture and natural light.

* Composition: Close-up or medium shot, showing the detail of the hands and materials.

* Lighting: Natural, diffused light, possibly from a large window or open workshop door.

* Mood/Emotion: Authentic, diligent, artisanal, trustworthy.

* Key Elements/Objects: Hands manipulating raw sustainable materials (e.g., spinning cotton, weaving hemp, sanding reclaimed wood).

* Background/Setting: Blurred background of a clean, well-organized workshop with natural light, or an outdoor setting with natural elements.

* Color Palette: Earthy tones – natural browns, creams, greens, and blues from the materials.

* Technical Details: High resolution, sharp detail on hands and materials, natural skin tones, soft focus background.


Day 5: Friday - Weekend Prep & Relaxation

  • Post Theme: Sustainable weekend plans and reconnecting with nature.
  • Caption:

"Hello, weekend! Time to recharge and reconnect with nature. What are your sustainable plans for the next two days? A refreshing nature walk, cooking with local produce, or a mindful DIY project? Share with us! 🌳 #SustainableWeekend"

  • Hashtags:

#FridayFeeling #SustainableWeekend #NatureLover #WeekendVibes #Recharge #EcoThrive #MindfulLiving #LocalProduce #DIYProjects #GetOutside

  • Image Prompt Brief:

* Subject: A person (from behind, gender-neutral, wearing comfortable, natural fiber clothing) standing on a scenic hiking trail, looking out over a breathtaking natural landscape (e.g., a forest valley, mountains, or a calm lake). A small, stylish reusable water bottle or a natural canvas backpack is visible.

* Style/Aesthetics: Serene, expansive, and inspiring landscape photography.

* Composition: Wide shot, emphasizing the vastness of nature with the person as a small, contemplative figure.

* Lighting: Golden hour light (sunrise or sunset), casting warm, soft light over the landscape.

* Mood/Emotion: Peaceful, reflective, awe-inspiring, adventurous, and calm.

* Key Elements/Objects: Person enjoying nature, lush greenery, mountains/water, clear sky.

* Background/Setting: A vibrant, untouched natural landscape.

* Color Palette: Rich greens, blues, warm oranges, and purples from the golden hour.

* Technical Details: 4K landscape photography, sharp focus on the entire scene, natural colors.


Day 6: Saturday - Call to Action & Eco-Challenge

  • Post Theme: Encouraging a specific sustainable action or challenge for the weekend.
  • Caption:

"Weekend Challenge: Try a 'Zero-Waste Picnic'! Pack reusable containers, bring your own cutlery, and leave no trace. Enjoy the beauty of nature responsibly. Who's in? Tag us in your eco-adventures! πŸ§ΊπŸ“ #ZeroWasteChallenge"

  • Hashtags:

#ZeroWasteChallenge #SustainablePicnic #EcoChallenge #WeekendFun #LeaveNoTrace #EcoThriveCommunity #OutdoorAdventures #PlasticFreePicnic #GreenWeekend

  • Image Prompt Brief:

* Subject: A beautifully arranged zero-waste picnic spread on a natural blanket (e.g., linen or wool) in a sunny park or by a calm lake. The spread includes reusable containers filled with fresh food, metal cutlery, cloth napkins, and a glass water bottle. No single-use plastics are visible.

* Style/Aesthetics: Bright, inviting, and aesthetically pleasing lifestyle photography.

* Composition: Overhead flat lay or slightly elevated shot, showcasing the entire picnic setup.

* Lighting: Bright, natural sunlight, creating a warm and inviting atmosphere.

* Mood/Emotion: Joyful, fresh, healthy, responsible, and appealing.

* Key Elements/Objects: Woven picnic basket, reusable food containers (glass or stainless steel), fresh fruits and vegetables, sandwiches, cloth napkins, metal cutlery, reusable water bottle.

* Background/Setting: Green grass of a park, or a sandy shore next to clear water, with blurred natural elements in the distance.

* Color Palette: Natural greens, browns, and whites, accented by the vibrant colors of fresh produce.

* Technical Details: High resolution, sharp focus on all picnic items, appealing food styling.


Day 7: Sunday - Reflection & Future Focus

  • Post Theme: Reflecting on the week's impact and looking forward to a greener
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);}});}