{"_id":"@elias4044/portfolio-template","_rev":"4-7f0ba5c1271290c16244d832adc93957","name":"@elias4044/portfolio-template","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"@elias4044/portfolio-template","version":"1.0.0","keywords":["portfolio","static-site-generator","template","html-css-js","ejs","cli-tool"],"author":{"name":"Elias"},"license":"MIT","_id":"@elias4044/portfolio-template@1.0.0","maintainers":[{"name":"elias4044","email":"elis321yt@gmail.com"}],"bin":{"create-portfolio":"cli.js"},"dist":{"shasum":"41ad2292a0cceccbdf04cc8df3db73354f425684","tarball":"https://registry.npmjs.org/@elias4044/portfolio-template/-/portfolio-template-1.0.0.tgz","fileCount":21,"integrity":"sha512-nO3HC+1CKeoNC1o9BN8U5Pjw88M9pDuc+a2PkcdmiXa16IQIrndR46mVDbBBZegxwkI3k149BM5bk3gVm6rYEQ==","signatures":[{"sig":"MEUCIQC4xI2kb1nTspVUFfrkO9HdTEjrLX9J+2/VxKOho3/3iAIgEFp2tsIZ8tiquYD0cZq/5X6TX310575lSHWpLoXvcnU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121261},"main":"index.js","type":"module","exports":{".":"./index.js"},"scripts":{"test":"node generate.js","start":"node generate.js"},"_npmUser":{"name":"elias4044","actor":{"name":"elias4044","type":"user","email":"elis321yt@gmail.com"},"email":"elis321yt@gmail.com"},"_npmVersion":"10.9.2","description":"A customizable HTML/CSS/JS portfolio generator via a simple JS function.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ejs":"^3.1.10","prompts":"^2.4.2","fs-extra":"^11.1.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/portfolio-template_1.0.0_1751754224434_0.00869276626492721","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@elias4044/portfolio-template","version":"1.1.0","keywords":["portfolio","static-site-generator","template","html-css-js","ejs","cli-tool"],"author":{"name":"Elias"},"license":"MIT","_id":"@elias4044/portfolio-template@1.1.0","maintainers":[{"name":"elias4044","email":"elis321yt@gmail.com"}],"homepage":"https://github.com/repulsord/portfolio-template#readme","bugs":{"url":"https://github.com/repulsord/portfolio-template/issues"},"bin":{"create-portfolio":"cli.js"},"dist":{"shasum":"37d3f284ead0fc726f46cc5a161abbddb3fac65e","tarball":"https://registry.npmjs.org/@elias4044/portfolio-template/-/portfolio-template-1.1.0.tgz","fileCount":21,"integrity":"sha512-SwlRxicjhTMqNIHZ+2qN21YaB9jHkrRSMAD0GRe/MFtvB/lI4jnnWlXQvAnMwdHdN0M2jL6ppWbFfPGFXfifgQ==","signatures":[{"sig":"MEQCIB/jmzGEyHbMdhHEKjaUTF8EKDJ1GKu4yc2lGrfejQP0AiBbIlwURV3UdAR+BH1mkacI+Stw0Br2tmdqgecnmcTBAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121333},"main":"index.js","type":"module","exports":{".":"./index.js"},"gitHead":"8665f8b403580ee949642080630548f4a1013e51","scripts":{"test":"node generate.js","start":"node generate.js"},"_npmUser":{"name":"elias4044","actor":{"name":"elias4044","type":"user","email":"elis321yt@gmail.com"},"email":"elis321yt@gmail.com"},"repository":{"url":"git+https://github.com/repulsord/portfolio-template.git","type":"git"},"_npmVersion":"10.9.2","description":"A customizable HTML/CSS/JS portfolio generator via a simple JS function.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ejs":"^3.1.10","prompts":"^2.4.2","fs-extra":"^11.1.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/portfolio-template_1.1.0_1751759256087_0.8657252311063328","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@elias4044/portfolio-template","version":"1.1.2","keywords":["portfolio","static-site-generator","template","html-css-js","ejs","cli-tool"],"author":{"name":"Elias"},"license":"MIT","_id":"@elias4044/portfolio-template@1.1.2","maintainers":[{"name":"elias4044","email":"elis321yt@gmail.com"}],"homepage":"https://github.com/elias4044/portfolio-template#readme","bugs":{"url":"https://github.com/elias4044/portfolio-template/issues"},"bin":{"create-portfolio":"cli.js"},"dist":{"shasum":"cd0077ff422fdbee026c51a27d4b1bc37a517cb3","tarball":"https://registry.npmjs.org/@elias4044/portfolio-template/-/portfolio-template-1.1.2.tgz","fileCount":21,"integrity":"sha512-je9SX6KZGTfK3CAhRbtSqrbbjbYVTHpQ7wA089uyyAAg5oQQcrgdMATE0Km5BtRZPHko2xhWYzISuBLZhos6lA==","signatures":[{"sig":"MEUCIQCYTH4FmisCeJShlmu5Eyvcs6p5nl+d9+70ckbsQZa8hwIgDyiCada4rShk9R4/cnAteUxGvxLC3pp69rDVLtQDqRY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121523},"main":"index.js","type":"module","exports":{".":"./index.js"},"gitHead":"f07fb4f330dd344807679d731064366537cf8a66","scripts":{"test":"node generate.js","start":"node generate.js"},"_npmUser":{"name":"elias4044","actor":{"name":"elias4044","type":"user","email":"elis321yt@gmail.com"},"email":"elis321yt@gmail.com"},"repository":{"url":"git+https://github.com/elias4044/portfolio-template.git","type":"git"},"_npmVersion":"10.9.2","description":"A customizable HTML/CSS/JS portfolio generator via a simple JS function.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ejs":"^3.1.10","prompts":"^2.4.2","fs-extra":"^11.1.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/portfolio-template_1.1.2_1751761960180_0.9889049200489362","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@elias4044/portfolio-template","version":"1.2.0","description":"A customizable HTML/CSS/JS portfolio generator via a simple JS function.","repository":{"type":"git","url":"git+https://github.com/elias4044/portfolio-template.git"},"bugs":{"url":"https://github.com/elias4044/portfolio-template/issues"},"homepage":"https://github.com/elias4044/portfolio-template#readme","main":"src/index.js","type":"module","exports":{".":"./index.js"},"bin":{"create-portfolio":"src/cli.js"},"scripts":{"start":"node generate.js","test":"node generate.js"},"keywords":["portfolio","static-site-generator","template","html-css-js","ejs","cli-tool"],"author":{"name":"Elias"},"license":"MIT","dependencies":{"ejs":"^3.1.10","fs-extra":"^11.1.1","prompts":"^2.4.2"},"_id":"@elias4044/portfolio-template@1.2.0","gitHead":"a35f2138dacfad73211b90baf87d389ff9f44499","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-wpWtUCekVvARFypEW5QQlXYzTGkQKnP0lPYZG9hEewva6CAG3b0SW5aSNbOzLAIicazgO9YmFFGJyZGgM3qR1Q==","shasum":"2550c36895ee2e3b11074e84db6640677854b4e0","tarball":"https://registry.npmjs.org/@elias4044/portfolio-template/-/portfolio-template-1.2.0.tgz","fileCount":25,"unpackedSize":129286,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGU3ZOzGwW81hDyaTUIz7p3h8xOKISj80M/xNXupYyD/AiATD40AgsGXl4eS79Pmcun9pF723A+rj8eJqSmAvzKDFQ=="}]},"_npmUser":{"name":"elias4044","email":"elis321yt@gmail.com","actor":{"name":"elias4044","email":"elis321yt@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"elias4044","email":"elis321yt@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/portfolio-template_1.2.0_1751813570099_0.6424067138837875"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-05T22:23:44.341Z","modified":"2025-07-06T14:52:50.481Z","1.0.0":"2025-07-05T22:23:44.629Z","1.1.0":"2025-07-05T23:47:36.277Z","1.1.2":"2025-07-06T00:32:40.392Z","1.2.0":"2025-07-06T14:52:50.306Z"},"bugs":{"url":"https://github.com/elias4044/portfolio-template/issues"},"author":{"name":"Elias"},"license":"MIT","homepage":"https://github.com/elias4044/portfolio-template#readme","keywords":["portfolio","static-site-generator","template","html-css-js","ejs","cli-tool"],"repository":{"type":"git","url":"git+https://github.com/elias4044/portfolio-template.git"},"description":"A customizable HTML/CSS/JS portfolio generator via a simple JS function.","maintainers":[{"name":"elias4044","email":"elis321yt@gmail.com"}],"readme":"\r\n# Portfolio Template Generator\r\n\r\nA modern, customizable portfolio website generator. Instantly create a beautiful, interactive HTML/CSS/JS portfolio with your own projects and contact info—no coding required!\r\n\r\n## Features\r\n- **Easy CLI:** Answer a few prompts and generate your portfolio in seconds\r\n- **Customizable:** Add your name, role, skills, projects, and contacts\r\n- **Modern Design:** Responsive, animated, and stylish (HTML, CSS, JS)\r\n- **Contact Form:** Optional backend (Node.js/Express) with Discord webhook support\r\n- **Deploy Anywhere:** Works on GitHub Pages, Vercel, Netlify, or any static host\r\n\r\n## Quick Start\r\n\r\n### 1. Install dependencies\r\n```sh\r\nnpm install\r\n```\r\n\r\n### 2. Generate your portfolio\r\n```sh\r\nnpx create-portfolio\r\n```\r\n_Or, if installed globally:_\r\n```sh\r\nnpm install -g .\r\ncreate-portfolio\r\n```\r\n\r\nYou’ll be prompted for your name, role, skills, projects, and contact methods. Your site will be generated in the `my-portfolio` folder (or specify a custom output directory).\r\n\r\n### 3. Preview your site\r\nOpen the generated `index.html` in your browser.\r\n\r\n---\r\n\r\n## Advanced Usage\r\n\r\n### Use in JavaScript\r\nYou can use the generator programmatically:\r\n```js\r\nimport { createPortfolio } from 'portfolio-template';\r\n\r\nawait createPortfolio({\r\n  name: 'Jane Doe',\r\n  role: 'Web Developer',\r\n  skills: ['JS', 'CSS', 'React'],\r\n  projects: [\r\n    { name: 'Cool App', description: '...', tech: ['React'], website: '...', github: '...' }\r\n  ],\r\n  contacts: [\r\n    { method: 'Email', label: 'jane@example.com', link: 'mailto:jane@example.com' }\r\n  ]\r\n}, 'output-folder');\r\n```\r\n\r\n### Enable Contact Form (Optional)\r\n1. Copy `.env.example` to `.env` and set your Discord webhook URL:\r\n   ```sh\r\n   cp .env.example .env\r\n   # Edit .env and set DISCORD_WEBHOOK_URL\r\n   ```\r\n2. Install dependencies:\r\n  ```sh\r\n  cd my-portfolio\r\n  npm install\r\n  ```\r\n\r\n3. Start the backend:\r\n   ```sh\r\n   npm start\r\n   ```\r\n   OR\r\n\r\n   ```sh\r\n   vercel dev\r\n   ```\r\n3. The contact form will send messages to your Discord!\r\n\r\n---\r\n\r\n## Project Structure\r\n```\r\ncli.js                # CLI tool\r\nindex.js              # Main API\r\npackage.json          # Project config\r\nREADME.md             # This file\r\ntemplate/             # HTML/CSS/JS template\r\n  index.html          # EJS template\r\n  styles.css          # Styles\r\n  script.js           # JS\r\n  api/                # Backend (optional)\r\n    express-server.js # Express backend\r\n    vercel-function-contact.js # Vercel serverless function\r\n  favicon/            # Icons\r\n```\r\n\r\n## Environment Variables\r\nCreate a `.env` file in the root:\r\n```\r\nENABLE_CONTACT_FORM=true\r\nDISCORD_WEBHOOK_URL=your_discord_webhook_url_here\r\nPORT=3000\r\n```\r\n\r\n## License\r\nMIT\r\n\r\n---\r\nPortfolio generator by Elias ([@elias4044](https://github.com/elias4044))\r\n","readmeFilename":"README.md"}