Instant Resume Enhancement
Run ID: 69ccd7343e7fb09ff16a58642026-04-01Career
PantheraHive BOS
BOS Dashboard

Generate a professional resume with ATS optimization

Instant Resume Enhancement: Professional & ATS-Optimized Resume Template

This comprehensive output provides a professionally structured, ATS-optimized resume template and detailed guidance. Since specific personal details were not provided, this deliverable offers a robust framework, best practices, and actionable examples for you to populate with your unique experience, skills, and achievements.

1. Introduction: Your Foundation for Success

This document is designed to guide you in creating a powerful resume that not only impresses human recruiters but also successfully navigates Applicant Tracking Systems (ATS). An ATS-optimized resume ensures your application gets seen, while a professional layout and compelling content highlight your value.

2. General Resume Best Practices

Before diving into specific sections, keep these universal tips in mind:

  • Tailor Each Resume: Always customize your resume for each specific job application. Use keywords from the job description.
  • Conciseness & Clarity: Aim for 1-2 pages maximum. Entry-level to mid-career should target one page; senior-level roles may extend to two. Use clear, concise language.
  • Quantify Achievements: Whenever possible, use numbers, percentages, and metrics to demonstrate the impact of your work (e.g., "Increased sales by 15%", "Managed a team of 5").
  • Action Verbs: Start bullet points with strong action verbs (e.g., "Developed," "Managed," "Implemented," "Analyzed," "Led").
  • Proofread Meticulously: Typos and grammatical errors can be immediate deal-breakers. Use spell-checkers and have someone else review your resume.

3. Resume Structure & Content (Template with Examples)

Below is a standard, highly effective resume structure. Fill in the bracketed [YOUR INFORMATION] sections with your details.


[YOUR FULL NAME]

[Your Phone Number] | [Your Professional Email] | [Your LinkedIn Profile URL] | [Your Portfolio/Website URL (Optional)] | [Your City, State]


3.1. Professional Summary (or Objective)

Purpose: A concise, powerful paragraph (or 3-4 bullet points) at the top that summarizes your career highlights, key skills, and career goals. Tailor this heavily to the specific job description.

ATS Optimization: This is a prime location for high-impact keywords from the job posting.

Example 1 (Experienced Professional):

> Highly accomplished [Your Profession/Industry] professional with [X years] of experience in [Key Area 1] and [Key Area 2]. Proven track record of [Quantifiable Achievement 1, e.g., driving revenue growth by 20%] and [Quantifiable Achievement 2, e.g., optimizing operational efficiency]. Eager to leverage expertise in [Specific Skill 1], [Specific Skill 2], and [Specific Skill 3] to contribute to [Target Company Name]'s strategic objectives.

Example 2 (Entry-Level/Career Changer - Objective based):

> Enthusiastic and results-oriented [Your Background/Degree] graduate with a passion for [Target Industry/Field]. Seeking to apply strong foundational knowledge in [Relevant Skill 1], [Relevant Skill 2], and [Relevant Skill 3] to a challenging [Target Role] position at [Target Company Name]. Eager to contribute to team success and grow within a dynamic environment.


3.2. Work Experience

Purpose: Detail your professional history, focusing on achievements and responsibilities relevant to the target job. List in reverse chronological order.

ATS Optimization: Incorporate keywords from job descriptions into your bullet points. Use active verbs and quantify achievements.

Format for Each Role:

[Job Title] | [Company Name], [City, State]

[Start Date] – [End Date] (or "Present")

  • [Action Verb] [Specific Task/Responsibility] resulting in [Quantifiable Achievement/Impact]. (e.g., Managed a portfolio of 50+ key accounts, exceeding sales targets by an average of 15% quarterly.)
  • [Action Verb] [Specific Task/Responsibility] using [Relevant Tool/Technology] to [Outcome]. (e.g., Developed and implemented a new client onboarding process using Salesforce, reducing setup time by 25%.)
  • [Action Verb] [Specific Task/Responsibility] that [Demonstrates Skill]. (e.g., Led cross-functional teams of 8 engineers in Agile sprints, delivering critical software updates ahead of schedule.)
  • [Action Verb] [Specific Task/Responsibility] and [Additional Detail]. (e.g., Analyzed market trends and competitor activities to inform product development strategy.)

Example:

Senior Marketing Manager | Global Innovations Inc., New York, NY

July 2018 – Present

  • Orchestrated multi-channel marketing campaigns across digital, social, and print platforms, increasing lead generation by 30% and achieving a 15% conversion rate.
  • Managed an annual marketing budget of \$500,000, optimizing spend through data-driven analysis to maximize ROI by 20%.
  • Led a team of 4 marketing specialists, providing mentorship and performance reviews, resulting in a 90% team retention rate.
  • Developed comprehensive market research reports, identifying key consumer insights that informed the launch of two successful new product lines.

3.3. Education

Purpose: Highlight your academic background. List in reverse chronological order.

ATS Optimization: Include full degree names, majors, minors, and institution names. GPA (if 3.5 or higher) can be included.

Format:

[Degree Name], [Major/Concentration]

[University Name], [City, State]

[Graduation Date] (or "Expected Graduation: [Month Year]")

  • Relevant Coursework: [List 3-5 key courses, optional]
  • Honors/Awards: [Dean's List, Cum Laude, Scholarships, optional]

Example:

Master of Business Administration (MBA), Marketing Concentration

Columbia Business School, New York, NY

May 2018

Bachelor of Science (B.S.), Business Administration

New York University, New York, NY

May 2016

  • Relevant Coursework: Digital Marketing Strategies, Consumer Behavior, Financial Accounting
  • Honors: Dean's List (4 semesters), Summa Cum Laude

3.4. Skills

Purpose: A dedicated section for your core competencies, making it easy for recruiters and ATS to identify your qualifications. Categorize for clarity.

ATS Optimization: This is one of the most critical sections for keywords. Include every relevant skill mentioned in the job description.

Example Categories:

Technical Skills:

  • Programming Languages: Python, Java, C++, JavaScript, R
  • Software & Tools: Salesforce, HubSpot, Adobe Creative Suite (Photoshop, Illustrator), Microsoft Office Suite (Excel, Word, PowerPoint), Tableau, SQL, JIRA, Asana, Google Analytics
  • Operating Systems: Windows, macOS, Linux
  • Cloud Platforms: AWS, Azure, Google Cloud Platform
  • Databases: MySQL, PostgreSQL, MongoDB

Soft Skills:

  • Problem-Solving, Critical Thinking, Communication (Written & Verbal), Teamwork, Leadership, Adaptability, Project Management, Time Management, Customer Service, Negotiation

Languages:

  • English (Native), Spanish (Fluent), French (Conversational)

3.5. Optional Sections (Add as Relevant)

Include these only if they strengthen your candidacy and are relevant to the role.

Projects:

Purpose: Showcase practical application of skills, especially valuable for recent graduates or those in technical fields.

Format:

[Project Name] | [Your Role]

[Date Range]

  • Brief description of the project and its objective.
  • Your specific contributions and the technologies/methods used.
  • Quantifiable results or lessons learned.

Example:

E-commerce Website Redesign | Lead Developer

January 2023 – April 2023

  • Designed and developed a responsive e-commerce platform using React.js and Node.js, improving user experience and mobile accessibility.
  • Integrated Stripe API for secure payment processing, reducing cart abandonment rates by 10%.
  • Collaborated with a team of 3 designers and 2 backend developers, completing the project 2 weeks ahead of schedule.

Certifications & Awards:

Purpose: Validate specific skills and highlight recognition.

Format:

  • [Certification Name] – [Issuing Body], [Date Issued]
  • [Award Name] – [Issuing Body/Organization], [Date Awarded]

Example:

  • Google Ads Certified – Google, 2023
  • Project Management Professional (PMP) – PMI, 2022
  • Employee of the Quarter – Global Innovations Inc., Q4 2021

4. ATS Optimization Strategies

Applicant Tracking Systems scan resumes for keywords and specific formatting. Follow these tips to ensure your resume passes the initial screening:

  • Keyword Matching: Analyze the job description and incorporate exact phrases and keywords into your resume, especially in the Professional Summary, Work Experience, and Skills sections.
  • Standard Headings: Use conventional headings (e.g., "Work Experience," "Education," "Skills") that ATS can easily recognize. Avoid creative or unusual titles.
  • Simple Formatting: Stick to clean, professional fonts (e.g., Calibri, Arial, Lato, Georgia) and standard font sizes (10-12pt for body, 14-18pt for headings). Avoid complex graphics, images, or elaborate multi-column layouts that can confuse ATS.
  • File Format: Save your resume as a PDF unless explicitly asked for a Word document. PDFs preserve formatting across different systems.
  • No Redundant Information: Don't repeat information unnecessarily. Be concise.
  • Acronyms & Full Names: Use both the acronym and the full name for industry-specific terms on first mention (e.g., "Search Engine Optimization (SEO)").

5. Formatting & Design Tips

While ATS prioritizes content, human recruiters appreciate a visually appealing and easy-to-read document.

  • Clean Layout: Use ample white space. Margins of 0.75-1 inch on all sides are standard.
  • Consistent Formatting: Maintain consistent font styles, sizes, and bullet point types throughout the document.
  • Strong Headings: Use bolding and slightly larger font sizes for section headers to improve readability and navigation.
  • No Photos: Unless you are in a specific industry (e.g., acting, modeling) where a headshot is requested, do not include a photo on your resume.

6. Next Steps & Call to Action

  1. Download this template: Copy the structure provided above into a new document (e.g., Google Docs, Microsoft Word).
  2. Populate with Your Data: Systematically replace all bracketed [YOUR INFORMATION] sections and example content with your specific details, achievements, and skills.
  3. Tailor to a Specific Job: Select a job description you are interested in and meticulously customize your resume, focusing on keyword matching and highlighting relevant experiences.
  4. Review and Refine: Proofread carefully. Ask a trusted friend or mentor to review it for clarity, impact, and errors.
  5. Save as PDF: Once finalized, save your resume as a PDF.

By following this comprehensive guide, you will create a professional, ATS-optimized resume that significantly enhances your chances of landing interviews. Good luck!

instant_resume_enhancement.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
"); 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' import ReactDOM from 'react-dom/client' import App from './App' import './index.css' ReactDOM.createRoot(document.getElementById('root')!).render( ) "); 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' import './App.css' function App(){ return(

"+slugTitle(pn)+"

Built with PantheraHive BOS

) } export default App "); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e} .app{min-height:100vh;display:flex;flex-direction:column} .app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px} h1{font-size:2.5rem;font-weight:700} "); 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)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` ## Open in IDE Open the project folder in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- 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",'{ "name": "'+pn+'", "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vue-tsc -b && vite build", "preview": "vite preview" }, "dependencies": { "vue": "^3.5.13", "vue-router": "^4.4.5", "pinia": "^2.3.0", "axios": "^1.7.9" }, "devDependencies": { "@vitejs/plugin-vue": "^5.2.1", "typescript": "~5.7.3", "vite": "^6.0.5", "vue-tsc": "^2.2.0" } } '); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path' export default defineConfig({ plugins: [vue()], resolve: { alias: { '@': resolve(__dirname,'src') } } }) "); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]} '); zip.file(folder+"tsconfig.app.json",'{ "compilerOptions":{ "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"], "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true, "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue", "strict":true,"paths":{"@/*":["./src/*"]} }, "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"] } '); zip.file(folder+"env.d.ts","/// "); zip.file(folder+"index.html"," "+slugTitle(pn)+"
"); 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' import { createPinia } from 'pinia' import App from './App.vue' import './assets/main.css' const app = createApp(App) app.use(createPinia()) app.mount('#app') "); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue"," "); 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} "); 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)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` Open in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- 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",'{ "name": "'+pn+'", "version": "0.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test" }, "dependencies": { "@angular/animations": "^19.0.0", "@angular/common": "^19.0.0", "@angular/compiler": "^19.0.0", "@angular/core": "^19.0.0", "@angular/forms": "^19.0.0", "@angular/platform-browser": "^19.0.0", "@angular/platform-browser-dynamic": "^19.0.0", "@angular/router": "^19.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { "@angular-devkit/build-angular": "^19.0.0", "@angular/cli": "^19.0.0", "@angular/compiler-cli": "^19.0.0", "typescript": "~5.6.0" } } '); zip.file(folder+"angular.json",'{ "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "newProjectRoot": "projects", "projects": { "'+pn+'": { "projectType": "application", "root": "", "sourceRoot": "src", "prefix": "app", "architect": { "build": { "builder": "@angular-devkit/build-angular:application", "options": { "outputPath": "dist/'+pn+'", "index": "src/index.html", "browser": "src/main.ts", "tsConfig": "tsconfig.app.json", "styles": ["src/styles.css"], "scripts": [] } }, "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"} } } } } '); zip.file(folder+"tsconfig.json",'{ "compileOnSave": false, "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"]}, "references":[{"path":"./tsconfig.app.json"}] } '); zip.file(folder+"tsconfig.app.json",'{ "extends":"./tsconfig.json", "compilerOptions":{"outDir":"./dist/out-tsc","types":[]}, "files":["src/main.ts"], "include":["src/**/*.d.ts"] } '); zip.file(folder+"src/index.html"," "+slugTitle(pn)+" "); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser'; import { appConfig } from './app/app.config'; import { AppComponent } from './app/app.component'; bootstrapApplication(AppComponent, appConfig) .catch(err => console.error(err)); "); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; } "); 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'; import { RouterOutlet } from '@angular/router'; @Component({ selector: 'app-root', standalone: true, imports: [RouterOutlet], templateUrl: './app.component.html', styleUrl: './app.component.css' }) export class AppComponent { title = '"+pn+"'; } "); zip.file(folder+"src/app/app.component.html","

"+slugTitle(pn)+"

Built with PantheraHive BOS

"); 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} "); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { routes } from './app.routes'; export const appConfig: ApplicationConfig = { providers: [ provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(routes) ] }; "); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router'; export const routes: Routes = []; "); 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)+" Generated by PantheraHive BOS. ## Setup ```bash npm install ng serve # or: npm start ``` ## Build ```bash ng build ``` Open in VS Code with Angular Language Service extension. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local .angular/ "); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/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(" "):"# add dependencies here "; zip.file(folder+"main.py",src||"# "+title+" # Generated by PantheraHive BOS print(title+" loaded") "); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` ## Run ```bash python main.py ``` "); zip.file(folder+".gitignore",".venv/ __pycache__/ *.pyc .env .DS_Store "); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/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)+" "; zip.file(folder+"package.json",pkgJson); var fallback="const express=require("express"); const app=express(); app.use(express.json()); app.get("/",(req,res)=>{ res.json({message:""+title+" API"}); }); const PORT=process.env.PORT||3000; app.listen(PORT,()=>console.log("Server on port "+PORT)); "; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000 "); zip.file(folder+".gitignore","node_modules/ .env .DS_Store "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash npm install ``` ## Run ```bash npm run dev ``` "); } /* --- 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:" "+title+" "+code+" "; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */ *{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e} "); zip.file(folder+"script.js","/* "+title+" — scripts */ "); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Open Double-click `index.html` in your browser. Or serve locally: ```bash npx serve . # or python3 -m http.server 3000 ``` "); zip.file(folder+".gitignore",".DS_Store node_modules/ .env "); } /* ===== 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(/ {2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. Files: - "+app+".md (Markdown) - "+app+".html (styled HTML) "); } 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);}});}