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

Generate a professional resume with ATS optimization

This deliverable provides a comprehensive, professional resume template designed for optimal Applicant Tracking System (ATS) compatibility and strong impact. It includes an example profile for context, followed by detailed explanations of ATS optimization principles and actionable steps for customization.


Instant Resume Enhancement: Professional & ATS-Optimized Resume

This document presents a professional, ATS-optimized resume template, populated with example content to illustrate best practices. This structure is designed to maximize your visibility to recruiters and pass through automated screening systems effectively.

1. ATS-Optimized Resume Template (Example Content)

Here is a sample resume demonstrating the recommended structure and content for ATS compatibility and professional appeal.


[Your Full Name]

[Your Phone Number] | [Your Email Address] | [Your LinkedIn Profile URL] | [Your Portfolio/Website URL (Optional)]


Professional Summary

Highly accomplished and results-driven Senior Marketing Manager with 10+ years of progressive experience in developing and executing comprehensive digital marketing strategies, brand management, and team leadership. Proven track record of increasing market share, driving revenue growth, and optimizing customer acquisition funnels. Adept at leveraging data analytics to inform strategic decisions and achieve measurable business objectives in dynamic, competitive environments. Seeking to apply advanced marketing expertise to drive innovation and achieve significant business outcomes.


Experience

Senior Marketing Manager | TechSolutions Inc. | San Francisco, CA

June 2018 – Present

  • Led a team of 5 marketing professionals in the development and execution of multi-channel digital marketing campaigns, resulting in a 25% increase in lead generation year-over-year.
  • Managed an annual marketing budget of $1.5M, optimizing spend across SEO, SEM, social media, and content marketing to achieve a 15% reduction in customer acquisition cost (CAC).
  • Spearheaded the launch of 3 new product lines, overseeing market research, branding, and promotional strategies, contributing to $5M in new revenue within the first year.
  • Developed and implemented data-driven content strategies that boosted organic website traffic by 40% and improved conversion rates by 10%.
  • Collaborated cross-functionally with sales, product development, and executive teams to align marketing initiatives with overall business goals.

Marketing Manager | Innovate Digital Agency | San Francisco, CA

March 2014 – May 2018

  • Managed digital marketing campaigns for 10+ diverse clients, consistently exceeding KPIs for traffic, engagement, and conversions.
  • Designed and executed A/B testing strategies for landing pages and email campaigns, improving click-through rates by up to 18%.
  • Conducted in-depth market research and competitive analysis to identify growth opportunities and inform strategic planning.
  • Trained and mentored junior marketing specialists, fostering a collaborative and high-performing team environment.

Marketing Coordinator | Global Brands Corp. | New York, NY

August 2012 – February 2014

  • Assisted in the coordination of marketing campaigns, including content creation, social media scheduling, and email marketing.
  • Monitored and reported on campaign performance using Google Analytics and other reporting tools.
  • Managed website content updates and ensured brand consistency across all digital platforms.

Skills

Digital Marketing: SEO (On-page, Off-page, Technical), SEM (Google Ads, Bing Ads), Social Media Marketing (LinkedIn, Facebook, Instagram, Twitter), Content Marketing, Email Marketing (Mailchimp, HubSpot), Affiliate Marketing, Influencer Marketing, Display Advertising

Analytics & Reporting: Google Analytics, Google Search Console, Adobe Analytics, Tableau, CRM (Salesforce, HubSpot CRM), A/B Testing, Data Visualization

Tools & Platforms: HubSpot, Salesforce Marketing Cloud, WordPress, SEMrush, Ahrefs, Moz, Hootsuite, Sprout Social, Canva, Microsoft Office Suite (Excel, PowerPoint, Word)

Project Management: Agile Methodologies, Scrum, Trello, Asana, JIRA, Budget Management, Cross-functional Collaboration

Languages: English (Native), Spanish (Conversational)


Education

Master of Business Administration (MBA) | University of California, Berkeley | Berkeley, CA

Concentration: Marketing Strategy | Graduated: May 2012

Bachelor of Science in Marketing | New York University | New York, NY

Minor: Communications | Graduated: May 2010


Certifications (Optional)

  • Google Ads Certified Professional (Search, Display, Video)
  • HubSpot Inbound Marketing Certified
  • Advanced SEO Certification (Moz Academy)

2. Understanding ATS Optimization: Key Principles

Applicant Tracking Systems (ATS) are software applications used by companies to manage recruitment. They scan, parse, and rank resumes. To ensure your resume gets past the initial screening and into human hands, consider the following:

  • Keywords are Crucial:

* Action: Analyze job descriptions for target roles. Identify frequently used nouns, verbs, and phrases (e.g., "digital marketing," "lead generation," "project management," "SQL," "Python").

* Implementation: Integrate these keywords naturally throughout your resume, especially in your Professional Summary, Experience bullet points, and Skills section.

  • Clean, Simple Formatting:

* Action: Avoid complex designs, tables, text boxes, headers/footers (some older ATS struggle with these), or excessive graphics.

* Implementation: Use standard, readable fonts (e.g., Arial, Calibri, Times New Roman) between 10-12pt for body text and 14-16pt for headings. Use clear, distinct section headers. Bullet points are highly preferred for readability and parsing.

  • Standard Section Headings:

* Action: Use universally recognized headings.

* Implementation: "Professional Summary," "Experience," "Skills," "Education," "Certifications," "Projects" are ideal. Avoid creative or unusual titles.

  • Quantifiable Achievements:

* Action: Whenever possible, use numbers, percentages, and dollar figures to demonstrate your impact.

* Implementation: Instead of "Managed social media," write "Managed social media strategy that increased engagement by 30% and drove 15% more website traffic."

  • Strong Action Verbs:

* Action: Start bullet points with powerful action verbs.

* Implementation: Use "Led," "Developed," "Managed," "Executed," "Optimized," "Achieved," "Spearheaded," "Initiated," "Designed," "Analyzed."

  • Consistent Formatting:

* Action: Maintain consistency in font sizes, bolding, and date formats (e.g., "Month YYYY – Month YYYY" or "YYYY – YYYY").

* Implementation: This ensures a professional look and helps ATS parse information accurately.

  • Relevant Information Only:

* Action: Tailor your resume to each specific job application. Remove irrelevant experience or skills.

* Implementation: Focus on the most impactful and pertinent information that aligns with the job description.

  • File Type:

* Action: Always check the job application's preferred file type.

* Implementation: If not specified, PDF is generally preferred as it preserves formatting. However, some older ATS systems or specific company instructions might request a Word (.docx) file.

3. Actionable Next Steps for Customization

To make this template your own and maximize its effectiveness:

  1. Replace Placeholder Content:

* Contact Information: Update with your actual phone, email, LinkedIn, and optional portfolio/website.

* Professional Summary: Craft a 3-5 sentence summary that highlights your top skills, experience, and career goals, using keywords from your target job descriptions.

* Experience: Detail your work history. For each role, use 3-5 bullet points starting with strong action verbs and quantifying your achievements. Focus on impact and results.

* Skills: List all relevant hard and soft skills. Categorize them for clarity (e.g., "Technical Skills," "Marketing Tools," "Soft Skills").

* Education: Provide details of your degrees, institutions, and graduation dates. Include GPA if it's high (3.5+) or if you're a recent graduate.

* Optional Sections: Add sections for Certifications, Projects, Publications, or Awards if they strengthen your application and are relevant to the role.

  1. Tailor for Each Application:

Crucial Step: Do not* use a generic resume for every job. For each application, review the job description carefully.

* Keyword Matching: Incorporate specific keywords and phrases from the job description into your summary, experience, and skills sections.

* Prioritize Relevance: Reorder bullet points in your experience section to highlight achievements most relevant to the specific job.

  1. Quantify Everything Possible:

* Go through your experience and identify opportunities to add numbers. How many people did you manage? By what percentage did you increase efficiency/sales? How much revenue did you generate? What was the scope of your projects?

  1. Proofread Meticulously:

* Errors in grammar or spelling can be immediate disqualifiers. Use spell-checkers, grammar tools (like Grammarly), and ask a trusted friend or colleague to review your resume.

* Read it aloud to catch awkward phrasing.

  1. Save in the Correct Format:

* If the job application specifies a file type (e.g., .docx, .pdf), use that.

* If not specified, save as a PDF to preserve formatting.

* Name your file professionally: YourName_JobTitle_Resume.pdf (e.g., JaneDoe_SeniorMarketingManager_Resume.pdf).

  1. Consider a Cover Letter:

* Always accompany your resume with a tailored cover letter that elaborates on your most relevant experience and expresses your enthusiasm for the specific role and company.


By following these guidelines and customizing this template with your unique experience and achievements, you will significantly enhance your resume's professionalism and ATS compatibility, increasing your chances of landing an interview.

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