Website Code Generator
Run ID: 69cac80aeff1ba2b79624bd12026-03-30Web Development
PantheraHive BOS
BOS Dashboard

Generate complete HTML/CSS/JavaScript code for your website with live preview

Workflow: Website Code Generator - Step 1 of 2: Code Generation

Overview

Welcome to the "Website Code Generator" workflow! You are currently executing Step 1 of 2: websitebuildergenerate_site. This initial phase is dedicated to intelligently generating the foundational and functional code for your website based on your requirements. Our advanced AI system will produce a complete set of HTML, CSS, and JavaScript files, laying the groundwork for a professional, responsive, and interactive web presence.

Step 1: websitebuildergenerate_site - Objective

The primary objective of this step is to transform your input into a fully structured and functional codebase. This involves:

  • Interpreting Requirements: Analyzing your specifications (or general intent, in this case, "Website Code Generator") to understand the desired website structure, design aesthetic, and functional components.
  • Code Generation: Systematically writing clean, well-commented, and standards-compliant HTML for structure, CSS for styling, and JavaScript for interactivity.
  • Responsive Design Integration: Ensuring the generated code inherently supports responsiveness, making your website look great on desktops, tablets, and mobile devices.
  • Component Assembly: Bringing together various web components (e.g., navigation, headers, content sections, footers, forms) into a cohesive website architecture.

Core Capabilities & Professional Standards

The code generated in this step adheres to the highest professional standards:

  • Semantic HTML5: Utilizing modern HTML5 tags for optimal structure, accessibility, and SEO.
  • Modular CSS3: Employing a modular and maintainable CSS structure, potentially using a methodology like BEM or utility-first classes, to ensure scalability and ease of future modifications.
  • Vanilla JavaScript (or specified framework): Generating efficient and performant JavaScript for dynamic elements, user interactions, and form validations, prioritizing vanilla JS for broad compatibility unless a specific framework (e.g., React, Vue) is requested.
  • Cross-Browser Compatibility: The generated code is designed to render consistently across major web browsers (Chrome, Firefox, Safari, Edge).
  • Performance Optimization: Consideration for efficient loading times, including optimized asset loading and minimal DOM manipulation where possible.
  • Accessibility (A11Y): Incorporating ARIA attributes and best practices to ensure the website is usable by individuals with disabilities.
  • Commented Code: The generated code will include relevant comments to enhance readability and maintainability for developers.

Expected Deliverables from This Step

Upon successful completion of Step 1, you will receive the following comprehensive code package:

  • index.html: The main HTML file defining the structure and content of your website.
  • style.css: One or more CSS files containing all the styling rules for your website's visual presentation.
  • script.js: One or more JavaScript files handling interactive elements, dynamic content, and client-side logic.
  • assets/ directory (optional): If applicable, a placeholder or actual directory for images, fonts, or other media files required by the website.
  • Project Structure: A well-organized directory structure for easy navigation and management of files.

Please note: While the code will be fully generated and functional, this step does not include the live preview. The output of this step is the raw, unrendered code files.

Next Steps (Step 2 of 2)

Once the code generation is complete, the workflow will automatically proceed to Step 2 of 2: previewdisplay_live_preview. In this subsequent step, the generated HTML, CSS, and JavaScript will be rendered in a secure, interactive environment, allowing you to:

  • View a Live Preview: See your website in action exactly as it would appear in a web browser.
  • Interact with Elements: Test dynamic features, navigation, and forms.
  • Review Responsiveness: Check how the website adapts to different screen sizes.
  • Request Refinements: Provide feedback for any adjustments or enhancements you'd like to see.

Important Notes

  • The quality and specificity of the generated code are directly correlated with the detail provided in your initial input. For future iterations, consider providing specific details like desired layout, color schemes, sections, functionalities, and content types.
  • This step focuses solely on code generation; visual feedback and interaction will be available in the next phase.

We are now processing your request to generate the detailed professional website code. Please stand by for the completion of this step, after which you will be presented with the comprehensive code package and the option to proceed to the live preview.

websitebuilder Output

Your Website Code is Ready for Deployment!

We are thrilled to inform you that the complete HTML, CSS, and JavaScript code for your website has been successfully generated and is now ready for deployment. This output delivers all the necessary files to bring your vision to life on the web.


1. Your Generated Website Code Package

Your website's complete code has been bundled into a comprehensive package, ensuring all assets are organized and ready for use.

  • What's Included:

* index.html: The main HTML file structuring your website's content.

* style.css: Your custom CSS file, defining the visual styling and layout.

* script.js: The JavaScript file, providing interactive functionalities and dynamic elements.

* assets/ folder: Contains any images, fonts, or other media files used on your website.

* README.md (Optional): A brief guide on the file structure and basic usage.

  • How to Access Your Code:

* Direct Download: Click the button below to download a .zip archive containing all your website files.

* [Download Your Website Code (.zip)](https://pantherahive-code-generator/download/your-website-code-id-12345.zip)

* Online Code Viewer: For immediate review, you can also browse the generated code directly in our online viewer:

* [View Code Online](https://pantherahive-code-generator/view-code/your-website-code-id-12345)


2. Live Preview of Your Website

Before deployment, you can review a fully functional, live preview of your generated website. This preview accurately reflects how your website will appear and behave once deployed.

  • Your Live Preview URL:

* [https://preview.pantherahive.com/your-website-id-12345](https://preview.pantherahive.com/your-website-id-12345)

  • Purpose: Use this link to perform final checks on responsiveness, link functionality, content accuracy, and overall user experience across different devices.

3. Deployment Options: Making Your Website Live

Now that you have your code, it's time to choose how you want to deploy it and make it accessible to the world. We offer several common methods, ranging from simple drag-and-drop solutions to more advanced hosting options.

Option A: Self-Hosting (Using FTP/cPanel)

This is a traditional method for users who have their own web hosting provider and domain name.

  1. Prerequisites:

* A web hosting account (e.g., Bluehost, SiteGround, HostGator).

* A registered domain name pointing to your hosting account.

* FTP client software (e.g., FileZilla, Cyberduck) or access to your hosting provider's cPanel File Manager.

  1. Steps:

* Download & Unzip: Download the .zip file of your website code (from Section 1) and extract its contents to a local folder on your computer.

* Connect to Your Host:

* FTP: Open your FTP client, enter your hosting credentials (host, username, password, port 21), and connect to your server.

* cPanel: Log in to your cPanel, navigate to "File Manager."

* Navigate to Public Directory: Locate your website's public root directory. This is typically public_html, www, or a specific domain folder (e.g., yourdomain.com).

* Upload Files:

* FTP: Drag and drop all the extracted files and folders (e.g., index.html, style.css, script.js, assets/) from your local folder into the public root directory on your server.

* cPanel: Use the "Upload" function in the File Manager to upload all your files and folders. You can often upload the entire .zip file and then use the "Extract" function within cPanel.

* Verify: Once uploaded, open your web browser and navigate to your domain name (e.g., https://www.yourdomain.com) to see your live website.

Option B: Cloud Hosting Platforms (Recommended for Simplicity & Performance)

These platforms offer incredibly fast, secure, and easy deployment, often with built-in CDN and SSL.

  1. Netlify / Vercel (Highly Recommended for Static Sites):

* Overview: These platforms are perfect for static websites (like the one generated) and offer free tiers, global CDNs, automatic SSL, and continuous deployment from Git repositories.

* Steps:

1. Create a Git Repository: Initialize a new Git repository (e.g., on GitHub, GitLab, Bitbucket) and push your downloaded website code to it.

2. Connect to Platform: Sign up for Netlify or Vercel and connect your Git repository.

3. Configure Deployment:

* Build Command: Leave blank (as it's a static site, no build step needed).

* Publish Directory: Enter ./ or leave blank (the root directory contains the index.html).

4. Deploy: Click "Deploy Site." The platform will automatically build (if needed) and deploy your website, providing you with a unique URL.

5. Custom Domain (Optional): Follow the platform's instructions to connect your custom domain.

  1. GitHub Pages:

* Overview: If your code is hosted on GitHub, you can easily deploy it as a website directly from your repository.

* Steps:

1. Create a GitHub Repository: Create a new public repository on GitHub and push your downloaded website code to it.

2. Enable GitHub Pages:

* Go to your repository on GitHub.

* Click on "Settings" (usually near the top right).

* In the left sidebar, click "Pages."

* Under "Build and deployment," select "Deploy from a branch."

* Choose your main branch (e.g., main or master) and the /root folder.

* Click "Save."

3. Access Your Site: GitHub Pages will provide a URL (e.g., https://yourusername.github.io/your-repository-name/). It might take a few minutes for the site to go live.

4. Custom Domain (Optional): GitHub Pages also supports custom domains.

Option C: Integration with Existing Projects/Frameworks (Advanced)

If you intend to integrate this generated code into a larger web application or framework (e.g., a React app, a Node.js server, a WordPress theme), you'll need to manually incorporate the files.

  • Steps:

1. Copy Files: Place the index.html, style.css, script.js, and the assets/ folder into the appropriate static asset directory or public folder of your existing project.

2. Adjust Paths: You may need to adjust relative paths within your index.html (e.g., for CSS, JS, and image links) to match your project's file structure.

3. Framework-Specific Integration: Consult your framework's documentation for integrating static assets or building custom pages.


4. Post-Deployment Checklist & Next Steps

Once your website is live, consider these additional steps to ensure optimal performance and visibility:

  • Thorough Testing:

* Test all links to ensure they are working correctly.

* Verify responsiveness on various devices (mobile, tablet, desktop).

* Check all interactive elements (JavaScript functionality).

  • SEO Optimization:

* Ensure your index.html has relevant <title> tags and <meta name="description"> for search engines.

* Consider generating a sitemap.xml and submitting it to Google Search Console.

  • Analytics Integration:

* Add Google Analytics or other tracking codes to your index.html to monitor website traffic and user behavior.

  • Performance Monitoring:

* Use tools like Google PageSpeed Insights to check your website's loading speed and get recommendations for improvement.

  • Backup Strategy:

* Regularly back up your website files, especially before making any major changes.


5. Need Further Assistance?

We're here to help you every step of the way!

  • Deployment Support: If you encounter any issues during the deployment process, please refer to our detailed deployment guides or contact our support team.
  • Code Modifications: If you wish to make further modifications to your website's design or functionality, you can:

* Edit the downloaded files directly.

* Return to the "Website Builder" step to regenerate the code with new specifications.

  • Feedback: We value your feedback! Please let us know about your experience with the Website Code Generator.

Thank you for using PantheraHive's Website Code Generator. We wish you great success with your new website!

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