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

Generate a professional resume with ATS optimization

Instant Resume Enhancement: Professional & ATS-Optimized Resume Framework

This output provides a comprehensive, ATS-optimized framework and detailed guidelines for constructing a professional resume. This structure is designed to maximize your visibility with Applicant Tracking Systems (ATS) and impress hiring managers by clearly presenting your qualifications and achievements.


1. Overview: Your Enhanced Resume Framework

This deliverable outlines the essential components and best practices for creating a powerful resume. Instead of a generic, pre-filled resume, we provide you with the blueprint and instructions to build a tailored document that highlights your unique career story effectively. By following these guidelines, you will create a resume that is:

  • ATS-Friendly: Structured to be easily parsed and understood by automated systems.
  • Professional: Adheres to industry standards for clarity, readability, and impact.
  • Achievement-Oriented: Focuses on quantifiable results and contributions.
  • Customizable: Designed for easy adaptation to specific job applications.

2. Key Principles for an Effective Resume

Before diving into the sections, understand the core principles that guide resume creation for today's job market:

  • Clarity & Conciseness: Every word should add value. Be direct and avoid jargon where simpler terms suffice.
  • Relevance: Tailor your content to the specific job description. Highlight skills and experiences most pertinent to the target role.
  • Keyword Optimization: Integrate keywords from the job posting naturally throughout your resume. This is crucial for ATS matching.
  • Quantifiable Achievements: Whenever possible, use numbers, percentages, and metrics to demonstrate the impact of your work.
  • Clean & Consistent Formatting: Easy readability is paramount. Avoid overly complex designs or graphics that can confuse ATS.

3. Resume Structure and Component Guidelines

Here’s a breakdown of each essential resume section, along with guidance and examples to help you craft your content:

3.1. Contact Information

  • Placement: Prominently at the top of the page.
  • Content:

* Full Name: Your professional name (e.g., Jane Doe).

* Phone Number: A professional contact number (e.g., (555) 123-4567).

* Email Address: A professional email address (e.g., jane.doe@email.com).

* LinkedIn Profile URL: (Highly Recommended) Ensure your LinkedIn profile is up-to-date and professional. Customize the URL for a cleaner look (e.g., linkedin.com/in/janedoe).

* Portfolio/Website (Optional): If applicable to your field (e.g., designers, developers, writers).

  • ATS Tip: Avoid putting contact info in headers/footers as ATS may struggle to parse it.

3.2. Professional Summary (or Objective)

  • Purpose: A concise, impactful overview of your qualifications, experience, and career goals. This is your "elevator pitch" to immediately grab the recruiter's attention.
  • Length: 3-5 sentences or 3-4 bullet points.
  • Content (for Experienced Professionals - Summary):

* Start with your professional title and years of experience.

* Highlight 2-3 core competencies or key areas of expertise.

* Mention 1-2 significant, quantifiable achievements.

* State your career objective or the value you bring to a prospective employer.

  • Content (for Entry-Level/Career Changers - Objective):

* Clearly state the type of role you are seeking.

* Mention relevant skills, academic achievements, or transferable experiences.

* Express your enthusiasm and what you hope to contribute.

  • ATS Tip: Incorporate 2-3 high-impact keywords directly from the job description.
  • Example (Summary):

> "Highly accomplished Marketing Manager with 8+ years of experience leading successful digital campaigns and brand strategies for B2C SaaS companies. Proven track record in driving customer acquisition, increasing engagement by 25%, and consistently exceeding ROI targets. Seeking to leverage expertise in data-driven marketing and team leadership to foster growth at [Target Company Name]."

  • Example (Objective for Entry-Level):

> "Motivated recent Business Administration graduate with a strong foundation in market research and data analysis, seeking an Entry-Level Marketing Coordinator position. Eager to apply analytical skills and a passion for digital trends to contribute to innovative campaigns and support team objectives at [Target Company Name]."

3.3. Work Experience

  • Format: Reverse chronological order (most recent job first).
  • For Each Role:

* Company Name: (e.g., Tech Solutions Inc.)

* Location: City, State (e.g., San Francisco, CA)

* Job Title: (e.g., Senior Project Manager)

* Dates of Employment: Month Year – Month Year (e.g., May 2018 – Present)

  • Bullet Points (3-6 per role):

* Start with Strong Action Verbs: (e.g., Led, Developed, Managed, Implemented, Optimized, Achieved).

* Quantify Achievements: Use numbers, percentages, dollar amounts, and timeframes to show impact.

Focus on Results: Describe what you accomplished and what the outcome was*, not just your duties.

* Tailor to the Job: Prioritize bullets that directly relate to the job description.

* ATS Tip: Weave in relevant keywords from the job description naturally within your achievement statements.

  • Example Bullet Points:

* "Led cross-functional team of 5 engineers and 3 designers to develop a new mobile application, reducing customer onboarding time by 20%."

* "Managed a portfolio of 15 key client accounts, consistently exceeding sales targets by an average of 10% quarterly, generating $2M+ in annual revenue."

* "Implemented a new inventory management system, improving stock accuracy by 98% and reducing operational costs by 12% within one fiscal year."

* "Designed and executed digital marketing campaigns across Google Ads and social media, increasing website traffic by 30% and lead generation by 18%."

3.4. Education

  • Format: Reverse chronological order.
  • For Each Degree/Institution:

* Degree Awarded: (e.g., Master of Business Administration, Bachelor of Science in Computer Science)

* Major/Minor: (e.g., Marketing, Data Analytics)

* University Name: (e.g., State University of Technology)

* Location: City, State (e.g., Anytown, CA)

* Graduation Date: Month Year or Year (e.g., May 2015, 2015). If still pursuing, state "Expected Month Year".

  • Optional Inclusions (if relevant and strong):

* GPA: (Only if 3.5 or higher).

* Honors: (e.g., Summa Cum Laude, Dean's List).

* Relevant Coursework: (Especially for recent graduates, list 3-5 courses pertinent to the job).

* Thesis/Dissertation Title: If highly relevant.

  • ATS Tip: Ensure university names and degree titles are spelled out fully and accurately.

3.5. Skills

  • Purpose: A dedicated section to quickly showcase your core competencies. Categorize for clarity.
  • Content:

* Technical Skills: Software, programming languages, tools, platforms, operating systems (e.g., Python, SQL, Salesforce, Adobe Creative Suite, AWS, Tableau, Microsoft Excel).

* Soft Skills: Interpersonal and professional attributes (e.g., Project Management, Strategic Planning, Cross-functional Collaboration, Client Relations, Problem-Solving, Leadership, Communication).

* Languages: List proficiency levels (e.g., English (Native), Spanish (Fluent), French (Conversational)).

  • ATS Tip: This section is heavily scanned for keywords. Use the exact terminology found in job descriptions. List specific software versions if relevant.
  • Example:

* Technical Skills: Python (Pandas, NumPy), SQL, Tableau, Microsoft Power BI, Google Analytics, Salesforce CRM, HubSpot, Asana, Jira, Microsoft Office Suite (Excel, PowerPoint, Word)

* Soft Skills: Strategic Planning, Data Analysis, Project Management, Team Leadership, Client Relationship Management, Cross-functional Collaboration, Presentation Skills

* Languages: English (Native), German (Professional Working Proficiency)

3.6. Optional Sections (Add if applicable and relevant)

  • Projects:

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

* Content: Project Name, Brief Description, Your Role, Technologies Used, Key Outcomes/Results.

  • Certifications & Licenses:

* Purpose: Validate specialized knowledge and professional development.

* Content: Certification Name, Issuing Body, Date Issued (e.g., PMP Certification (PMI), AWS Certified Solutions Architect – Associate (Amazon Web Services)).

  • Awards & Honors:

* Purpose: Highlight significant recognition for your achievements.

* Content: Award Name, Issuing Body, Date (e.g., Employee of the Year, Q4 Sales Excellence Award).

  • Publications & Presentations:

* Purpose: Demonstrate thought leadership and expertise (common in academic or research-heavy roles).

* Content: Title, Publication/Conference, Date.

  • Volunteer Experience:

* Purpose: Showcases soft skills, commitment, and community involvement.

* Content: Organization Name, Your Role, Dates, Key Responsibilities/Achievements (similar to work experience).


4. ATS Optimization Best Practices

To ensure your resume passes through Applicant Tracking Systems effectively:

  • Keyword Integration: Scan job descriptions for specific terms, skills, and qualifications. Incorporate these exact keywords naturally throughout your resume, especially in the Professional Summary, Work Experience bullets, and Skills section.
  • Standard Headings: Use common and clear headings like "Work Experience," "Education," "Skills," "Professional Summary." Avoid creative or ambiguous titles.
  • Clean Formatting:

* Fonts: Stick to professional, widely available, sans-serif fonts (e.g., Arial, Calibri, Lato, Helvetica) or serif fonts (e.g., Georgia, Cambria).

* Font Size: 10-12pt for body text, 14-18pt for your name and section headings.

* White Space: Ensure adequate margins (0.5 - 1 inch) and spacing between sections for readability.

* Avoid Graphics/Tables: Complex tables, text boxes, images, or elaborate icons can confuse ATS. Keep it text-based.

* No Headers/Footers for Critical Info: ATS may not parse information placed in document headers or footers.

  • File Format:

* PDF (.pdf): Generally preferred as it preserves formatting across different systems.

* Word Document (.docx): Sometimes requested. Always check the application instructions. Avoid older .doc formats.

  • Proofread Meticulously: Typos and grammatical errors are immediate red flags for both ATS and human reviewers. Use grammar checkers and have someone else review it.

5. General Professional Formatting Tips

  • Length:

*

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);}});}