{"_id":"@bluesialia/jsonresume-theme-bluetime","_rev":"5-5406ed076c6e853f49d8286e62a6aeb7","name":"@bluesialia/jsonresume-theme-bluetime","dist-tags":{"latest":"0.6.2"},"versions":{"0.4.0":{"name":"@bluesialia/jsonresume-theme-bluetime","version":"0.4.0","keywords":["jsonresume","theme","resume","cv","bluetime","typescript","html","responsive","professional","career","portfolio"],"author":{"url":"BlueSialia","name":"Jorge Domínguez Arnáez","email":"bluesialia@gmail.com"},"license":"MIT","_id":"@bluesialia/jsonresume-theme-bluetime@0.4.0","maintainers":[{"name":"bluesialia","email":"bluesialia+npmjs@gmail.com"}],"homepage":"https://github.com/BlueSialia/jsonresume-theme-bluetime#readme","bugs":{"url":"https://github.com/BlueSialia/jsonresume-theme-bluetime/issues"},"dist":{"shasum":"f6b112b7881031fdca641bab2df86f746d13ad99","tarball":"https://registry.npmjs.org/@bluesialia/jsonresume-theme-bluetime/-/jsonresume-theme-bluetime-0.4.0.tgz","fileCount":15,"integrity":"sha512-pH46vkSAuwrJjvh9ZYBEl9m6gavDgoCqvW3lItsJJAfOtWjJ3ZtlKXDI+tu7FiErA7EcSxC5D0WZAvfczqoJkQ==","signatures":[{"sig":"MEUCIQDO8QPAqeTDsU/xkXVER7TWf+2DK9a0lpCYnbvKaHj7owIgDXEiVVTKRixHfFyZdX3/o4bGSb3sorV2AHqUZa4CRU4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104551},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","module":"dist/index.js","browser":"dist/index.min.js","exports":{".":"./dist/index.js","./dist/index.min.js":"./dist/index.min.js"},"gitHead":"c993b107f517f7739ce319f8f6dbf9b3ae0928a9","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","size":"npm run build && echo 'Compiled size:' && ls -lh dist/index.js && echo 'Minified size:' && ls -lh dist/index.min.js","test":"npm run build && jest","build":"npm run clean && npm run compile && npm run minify","clean":"rimraf dist","minify":"terser dist/index.js -o dist/index.min.js --compress --mangle --module","compile":"tsc","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"bluesialia","email":"bluesialia+npmjs@gmail.com"},"repository":{"url":"git+https://github.com/BlueSialia/jsonresume-theme-bluetime.git","type":"git"},"_npmVersion":"11.5.1","description":"A modern, clean TypeScript-based theme for JSON Resume with responsive design and professional styling","directories":{},"_nodeVersion":"24.5.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.5","rimraf":"^6.0.0","terser":"^5.43.0","ts-jest":"^29.4.1","typescript":"^5.0.0","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonresume-theme-bluetime_0.4.0_1754648933019_0.7874711952518871","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@bluesialia/jsonresume-theme-bluetime","version":"0.4.1","keywords":["jsonresume","theme","resume","cv","bluetime","typescript","html","responsive","professional","career","portfolio"],"author":{"url":"BlueSialia","name":"Jorge Domínguez Arnáez","email":"bluesialia@gmail.com"},"license":"MIT","_id":"@bluesialia/jsonresume-theme-bluetime@0.4.1","maintainers":[{"name":"bluesialia","email":"bluesialia+npmjs@gmail.com"}],"homepage":"https://github.com/BlueSialia/jsonresume-theme-bluetime#readme","bugs":{"url":"https://github.com/BlueSialia/jsonresume-theme-bluetime/issues"},"dist":{"shasum":"4ec6e7657054d70a2c31ed86be9017e1afe9b530","tarball":"https://registry.npmjs.org/@bluesialia/jsonresume-theme-bluetime/-/jsonresume-theme-bluetime-0.4.1.tgz","fileCount":15,"integrity":"sha512-pLbxj5U9KhT0uPJgNLQQae0aX70YpEalN9DQKQRvSfe/WBbC2Czu7+3/CKUL+yByX46iVLwLgcihUI6bnmhPoQ==","signatures":[{"sig":"MEYCIQDknE9I3y81n3o0p1AABsTAqvIf3FCIHjy+mTRRxrOxmgIhAOM0sE5/r+ZMgGK3KLve4zYBvryyEIZsGqaT6uvATDJE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104551},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","module":"dist/index.js","browser":"dist/index.min.js","exports":{".":"./dist/index.js","./dist/index.min.js":"./dist/index.min.js"},"gitHead":"87f24be53fbcdbcbf225f6737ecf2c0e883e2673","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","size":"npm run build && echo 'Compiled size:' && ls -lh dist/index.js && echo 'Minified size:' && ls -lh dist/index.min.js","test":"npm run build && jest","build":"npm run clean && npm run compile && npm run minify","clean":"rimraf dist","minify":"terser dist/index.js -o dist/index.min.js --compress --mangle --module","compile":"tsc","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"bluesialia","email":"bluesialia+npmjs@gmail.com"},"repository":{"url":"git+https://github.com/BlueSialia/jsonresume-theme-bluetime.git","type":"git"},"_npmVersion":"11.5.1","description":"A modern, clean TypeScript-based theme for JSON Resume with responsive design and professional styling","directories":{},"_nodeVersion":"24.5.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.5","rimraf":"^6.0.0","terser":"^5.43.0","ts-jest":"^29.4.1","typescript":"^5.0.0","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonresume-theme-bluetime_0.4.1_1754649264245_0.39750343991145654","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@bluesialia/jsonresume-theme-bluetime","version":"0.4.2","keywords":["jsonresume","theme","resume","cv","bluetime","typescript","html","responsive","professional","career","portfolio"],"author":{"url":"BlueSialia","name":"Jorge Domínguez Arnáez","email":"bluesialia@gmail.com"},"license":"MIT","_id":"@bluesialia/jsonresume-theme-bluetime@0.4.2","maintainers":[{"name":"bluesialia","email":"bluesialia+npmjs@gmail.com"}],"homepage":"https://github.com/BlueSialia/jsonresume-theme-bluetime#readme","bugs":{"url":"https://github.com/BlueSialia/jsonresume-theme-bluetime/issues"},"dist":{"shasum":"02da1e19560e58ab7af0ad5d9d982d51257d4984","tarball":"https://registry.npmjs.org/@bluesialia/jsonresume-theme-bluetime/-/jsonresume-theme-bluetime-0.4.2.tgz","fileCount":15,"integrity":"sha512-KkzK5Ewak+ApVZIn5WQApsM8lmRXEZ4LRZQczNBzDRkZTblGV7Fnr+IRVJ0DZz+k1NKJZiys378nBGSyw2reDw==","signatures":[{"sig":"MEQCIC3uKyOXAYPf3/0R4+mLh+DEmnav29h6iXfm1l4nqJxqAiB3HBtOUmvv8ac/E67dW8zhKPK/fWJGiQQUgG0ffyqJ9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104623},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","module":"dist/index.js","browser":"dist/index.min.js","exports":{".":"./dist/index.js","./dist/index.min.js":"./dist/index.min.js"},"gitHead":"be152130ca1a24b339bda0f2edeffd2826612c13","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","size":"npm run build && echo 'Compiled size:' && ls -lh dist/index.js && echo 'Minified size:' && ls -lh dist/index.min.js","test":"npm run build && jest","build":"npm run clean && npm run compile && npm run minify","clean":"rimraf dist","minify":"terser dist/index.js -o dist/index.min.js --compress --mangle --module","compile":"tsc","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"bluesialia","email":"bluesialia+npmjs@gmail.com"},"repository":{"url":"git+https://github.com/BlueSialia/jsonresume-theme-bluetime.git","type":"git"},"_npmVersion":"11.5.1","description":"A modern, clean TypeScript-based theme for JSON Resume with responsive design and professional styling","directories":{},"_nodeVersion":"24.5.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.5","rimraf":"^6.0.0","terser":"^5.43.0","ts-jest":"^29.4.1","typescript":"^5.0.0","@types/jest":"^30.0.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonresume-theme-bluetime_0.4.2_1754649802574_0.6911930277250422","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@bluesialia/jsonresume-theme-bluetime","version":"0.6.0","keywords":["jsonresume","theme","resume","cv","bluetime","typescript","html","responsive","professional","career","portfolio"],"author":{"url":"BlueSialia","name":"Jorge Domínguez Arnáez","email":"bluesialia@gmail.com"},"license":"Hippocratic License 3.0","_id":"@bluesialia/jsonresume-theme-bluetime@0.6.0","maintainers":[{"name":"bluesialia","email":"bluesialia+npmjs@gmail.com"}],"homepage":"https://github.com/BlueSialia/jsonresume-theme-bluetime#readme","bugs":{"url":"https://github.com/BlueSialia/jsonresume-theme-bluetime/issues"},"dist":{"shasum":"1dd2607e88386b1a5e84909ea07c1bf962dfc217","tarball":"https://registry.npmjs.org/@bluesialia/jsonresume-theme-bluetime/-/jsonresume-theme-bluetime-0.6.0.tgz","fileCount":15,"integrity":"sha512-68a4Il2icSZgkWqS827yoQbZa3iJ2vhTJNtwMqCSzvuYE9l0CA/VnD9JbUlLZlmwCdMneeZoS7IbqG7soubb4g==","signatures":[{"sig":"MEUCIBYZumFALiuTTmCCEXm4eDPDoyGjT/ljfQHMAiUbcNuPAiEAv/zPrR0SAFeb2KLcFzrN8F4GA7S9bD8FOKIsF4YmIdA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138057},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"import":"./dist/index.js","default":"./dist/index.min.js"}},"gitHead":"0bd642960b1f0537dfb6d03220373cb509febf00","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","size":"npm run build && echo 'Compiled size:' && ls -lh dist/index.js && echo 'Minified size:' && ls -lh dist/index.min.js","test":"npm run build && node --import tsx --test tests/**/*.test.ts","build":"npm run clean && npm run compile && npm run minify","clean":"rimraf dist","minify":"terser dist/index.js -o dist/index.min.js --compress --mangle --module","compile":"tsc","test:watch":"node --import tsx --test --watch tests/**/*.test.ts","test:coverage":"npm run build && node --import tsx --experimental-test-coverage --test-coverage-lines=80 --test tests/**/*.test.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"bluesialia","email":"bluesialia+npmjs@gmail.com"},"repository":{"url":"git+https://github.com/BlueSialia/jsonresume-theme-bluetime.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"50 KB"},{"path":"dist/index.min.js","limit":"15 KB"}],"_npmVersion":"11.18.0","description":"A modern, clean TypeScript-based theme for JSON Resume with responsive design and professional styling","directories":{},"_nodeVersion":"26.4.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.0","knip":"^6.26.0","rimraf":"^6.0.0","terser":"^5.43.0","size-limit":"^11.2.0","typescript":"^5.0.0","@size-limit/preset-small-lib":"^12.1.0"},"_npmOperationalInternal":{"tmp":"tmp/jsonresume-theme-bluetime_0.6.0_1783770835585_0.8847835589835229","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@bluesialia/jsonresume-theme-bluetime","version":"0.6.2","description":"A modern, clean TypeScript-based theme for JSON Resume with responsive design and professional styling","main":"dist/index.js","type":"module","exports":{".":{"import":"./dist/index.js","default":"./dist/index.min.js"}},"scripts":{"build":"npm run clean && npm run compile && npm run minify","clean":"rimraf dist","compile":"tsc","minify":"terser dist/index.js -o dist/index.min.js --compress --mangle --module","prepublishOnly":"npm run build","dev":"tsc --watch","test":"npm run build && node --import tsx --test tests/**/*.test.ts","test:watch":"node --import tsx --test --watch tests/**/*.test.ts","test:coverage":"npm run build && node --import tsx --experimental-test-coverage --test-coverage-lines=80 --test tests/**/*.test.ts","lint":"tsc --noEmit","size":"npm run build && echo 'Compiled size:' && ls -lh dist/index.js && echo 'Minified size:' && ls -lh dist/index.min.js"},"repository":{"type":"git","url":"git+https://github.com/BlueSialia/jsonresume-theme-bluetime.git"},"keywords":["jsonresume","theme","resume","cv","bluetime","typescript","html","responsive","professional","career","portfolio"],"author":{"name":"Jorge Domínguez Arnáez","email":"bluesialia@gmail.com","url":"BlueSialia"},"license":"Hippocratic License 3.0","bugs":{"url":"https://github.com/BlueSialia/jsonresume-theme-bluetime/issues"},"homepage":"https://github.com/BlueSialia/jsonresume-theme-bluetime#readme","engines":{"node":">=18"},"devDependencies":{"@types/node":"^18.0.0","@size-limit/preset-small-lib":"^12.1.0","knip":"^6.26.0","rimraf":"^6.0.0","size-limit":"^11.2.0","terser":"^5.43.0","tsx":"^4.23.0","typescript":"^5.0.0"},"size-limit":[{"path":"dist/index.js","limit":"50 KB"},{"path":"dist/index.min.js","limit":"15 KB"}],"gitHead":"dc7485de206267be83fa12b99b6e9f993c1f9063","types":"./dist/index.d.ts","_id":"@bluesialia/jsonresume-theme-bluetime@0.6.2","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-eGi0hY44Z9nXJEuwOK8Ar4PGqqy7zNCMj+TxNA8K32PIYiryq+Gzb3jq2K9ocfdWiLR6Onu1DeebEm0+dfIx/Q==","shasum":"72f1207067fd730438f3ab85ea6b04a7967f82d2","tarball":"https://registry.npmjs.org/@bluesialia/jsonresume-theme-bluetime/-/jsonresume-theme-bluetime-0.6.2.tgz","fileCount":15,"unpackedSize":138087,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bluesialia%2fjsonresume-theme-bluetime@0.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDE2V6ax6ZwxA8VzmfHHuxBoymXwx6ZFyiNfo3k3z0eeQIgG86ptSAnBORSFcWjCClMGNWpkH7FUX7jbjCf1kUup/Q="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d4062b48-9d4c-41b1-a15c-a1fd2ed26add"}},"directories":{},"maintainers":[{"name":"bluesialia","email":"bluesialia+npmjs@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jsonresume-theme-bluetime_0.6.2_1783802903361_0.5259020010992483"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-08T10:28:52.957Z","modified":"2026-07-11T20:48:23.723Z","0.4.0":"2025-08-08T10:28:53.197Z","0.4.1":"2025-08-08T10:34:24.450Z","0.4.2":"2025-08-08T10:43:22.750Z","0.6.0":"2026-07-11T11:53:55.754Z","0.6.2":"2026-07-11T20:48:23.493Z"},"bugs":{"url":"https://github.com/BlueSialia/jsonresume-theme-bluetime/issues"},"author":{"name":"Jorge Domínguez Arnáez","email":"bluesialia@gmail.com","url":"BlueSialia"},"license":"Hippocratic License 3.0","homepage":"https://github.com/BlueSialia/jsonresume-theme-bluetime#readme","keywords":["jsonresume","theme","resume","cv","bluetime","typescript","html","responsive","professional","career","portfolio"],"repository":{"type":"git","url":"git+https://github.com/BlueSialia/jsonresume-theme-bluetime.git"},"description":"A modern, clean TypeScript-based theme for JSON Resume with responsive design and professional styling","maintainers":[{"name":"bluesialia","email":"bluesialia+npmjs@gmail.com"}],"readme":"# JSONResume Theme Bluetime\n\n[![Hippocratic License HL3-BOD-CL-ECO-FFD-LAW-MEDIA-MIL-MY-SV-TAL-USTA-XUAR](https://img.shields.io/static/v1?label=Hippocratic%20License&message=HL3-BOD-CL-ECO-FFD-LAW-MEDIA-MIL-MY-SV-TAL-USTA-XUAR&labelColor=5e2751&color=bc8c3d)](https://firstdonoharm.dev/version/3/0/bod-cl-eco-ffd-law-media-mil-my-sv-tal-usta-xuar.html)\n\n---\n\nA TypeScript-based theme for [JSON Resume](https://jsonresume.org/) called Bluetime.\n\n## Installation\n\n### Node.js/NPM\n\n```bash\nnpm install @bluesialia/jsonresume-theme-bluetime\n```\n\n### Browser/CDN\n\nFor vanilla JavaScript usage in browsers, you can use the theme directly from a CDN:\n\n```html\n<script type=\"module\">\n  import { render } from \"https://cdn.jsdelivr.net/npm/@bluesialia/jsonresume-theme-bluetime/dist/index.js\";\n</script>\n```\n\n## Usage\n\n### Browser Usage (ES Modules)\n\n```html\n<!DOCTYPE html>\n<html>\n<head>\n    <title>My Resume</title>\n</head>\n<body>\n    <div id=\"resume-container\"></div>\n    \n    <script type=\"module\">\n        // Import the render function directly using ES modules\n        import { render } from \"https://cdn.jsdelivr.net/npm/@bluesialia/jsonresume-theme-bluetime/dist/index.js\";\n        \n        // Your JSON Resume data\n        const resumeData = {\n            basics: {\n                name: \"John Doe\",\n                label: \"Software Developer\",\n                email: \"john.doe@example.com\",\n                phone: \"(123) 456-7890\",\n                url: \"https://johndoe.dev\",\n                summary: \"Passionate software developer with 5+ years of experience.\",\n                location: {\n                    city: \"San Francisco\",\n                    region: \"CA\"\n                }\n            },\n            work: [\n                {\n                    name: \"Tech Corp\",\n                    position: \"Senior Software Developer\",\n                    startDate: \"2021-03\",\n                    summary: \"Led development of web applications using React and Node.js\"\n                }\n            ]\n            // ... more resume data\n        };\n\n        // Render the resume using the imported render function\n        const htmlResume = render(resumeData);\n        document.getElementById('resume-container').innerHTML = htmlResume;\n    </script>\n</body>\n</html>\n```\n\n### Node.js Usage (ES Modules)\n\n```javascript\nimport { render } from '@bluesialia/jsonresume-theme-bluetime';\n\n// Your JSON Resume data\nconst resumeData = {\n  basics: {\n    name: \"John Doe\",\n    label: \"Software Developer\",\n    email: \"john.doe@example.com\",\n    phone: \"(123) 456-7890\",\n    url: \"https://johndoe.dev\",\n    summary: \"Passionate software developer with 5+ years of experience.\",\n    location: {\n      city: \"San Francisco\",\n      region: \"CA\"\n    }\n  },\n  work: [\n    {\n      name: \"Tech Corp\",\n      position: \"Senior Software Developer\",\n      startDate: \"2021-03\",\n      summary: \"Led development of web applications using React and Node.js\"\n    }\n  ],\n  // ... more resume data\n};\n\n// Generate HTML\nconst htmlResume = render(resumeData);\n\n// Save to file\nconst fs = require('fs');\nfs.writeFileSync('resume.html', htmlResume);\n```\n\n## ES Modules Usage Notes\n\nWhen using the theme:\n\n- **Browser**: Use `<script type=\"module\">` and `import { render }`\n- **Node.js**: Works with native ES modules (`import` statements) — requires Node.js 18+\n- The default `import` path gives you the full build; the minified build is available via `dist/index.min.js` for direct CDN usage\n- All styles are embedded in the generated HTML\n- No additional CSS files are needed\n- Compatible with modern browsers supporting ES modules and native CSS nesting (Chrome 120+, Firefox 117+, Safari 17.2+, Edge 120+)\n\n### CDN URLs\n\n```\nhttps://cdn.jsdelivr.net/npm/@bluesialia/jsonresume-theme-bluetime/dist/index.js\nhttps://cdn.jsdelivr.net/npm/@bluesialia/jsonresume-theme-bluetime/dist/index.min.js\n```\n\n### Browser Compatibility\n\n- **Modern browsers** (Chrome 120+, Firefox 117+, Safari 17.2+, Edge 120+) — required for ES modules and native CSS nesting\n- **Node.js** 18+ with ES modules support\n- Browsers must support ES modules (`<script type=\"module\">`) and native CSS nesting\n- Older browsers will render a broken layout due to unsupported CSS nesting syntax\n\n## JSON Resume Schema\n\nThis theme supports the complete [JSON Resume Schema](https://jsonresume.org/schema/). The schema includes:\n\n- **basics**: Personal information, contact details, and summary\n- **work**: Work experience and achievements\n- **volunteer**: Volunteer experience\n- **education**: Educational background\n- **awards**: Awards and recognitions\n- **certificates**: Professional certifications\n- **publications**: Published works\n- **skills**: Technical and professional skills\n- **languages**: Language proficiencies\n- **interests**: Personal interests and hobbies\n- **references**: Professional references\n- **projects**: Personal and professional projects\n\n## Theme Customization\n\nThe generated HTML includes embedded CSS that you can customize. The theme uses a clean design with:\n\n- Blue accent colors (`#3498db`)\n- Professional typography\n- Responsive layout\n- Clean section separators\n- Skill tags for easy scanning\n\n> **Note:** The rendered HTML loads Google Fonts (Lato) and Font Awesome icons from CDNs. Offline rendering will show fallback fonts and missing icons.\n\n## Development\n\n### Prerequisites\n\n- Node.js 18 or higher\n- npm\n\n### Building from Source\n\n```bash\n# Clone the repository\ngit clone https://github.com/BlueSialia/jsonresume-theme-bluetime.git\ncd jsonresume-theme-bluetime\n\n# Install dependencies\nnpm install\n\n# Build the project\nnpm run build\n\n# Watch for changes during development\nnpm run dev\n```\n\n### Project Structure\n\n```\nsrc/\n├── index.ts      # Main render function with ES modules exports\n├── types.ts      # TypeScript interfaces for JSON Resume schema\ndist/\n├── index.js      # ES2020 modules output\n├── index.min.js  # Minified ES modules version\n├── index.d.ts    # TypeScript declarations\n├── types.d.ts    # Type definitions\n└── types.js      # Compiled types module\n```\n\n### Scripts\n\n#### Build Scripts\n- `npm run build`: Clean, compile TypeScript, and create minified version\n- `npm run compile`: Compile TypeScript to ES2020 modules\n- `npm run minify`: Create minified ES modules version\n- `npm run clean`: Remove dist directory\n\n#### Development Scripts\n- `npm run dev`: Watch mode for development (recompiles TypeScript on file changes; does not minify)\n- `npm run lint`: Type-check without compilation\n\n#### Testing Scripts\n- `npm test`: Run tests with build using Node.js native test runner\n- `npm run test:watch`: Run tests in watch mode for development\n- `npm run test:coverage`: Run tests with coverage report\n\n#### Utility Scripts\n- `npm run size`: Show compiled and minified file sizes\n- `npm run prepublishOnly`: Automatically runs before publishing\n\n## Testing\n\nThis project includes a comprehensive test suite built with the Node.js native test runner and TypeScript. We maintain high test coverage to ensure reliability and catch regressions.\n\n### Running Tests\n\n```bash\n# Run all tests\nnpm test\n\n# Run tests in watch mode during development\nnpm run test:watch\n\n# Generate coverage report\nnpm run test:coverage\n```\n\n### What's Tested\n\nThe test suite covers:\n- **Render Function**: All paths through the main render function\n- **HTML Security**: XSS prevention and HTML escaping\n- **All Resume Sections**: Basics, work, education, skills, projects, etc.\n- **Date Handling**: Various date formats and edge cases\n- **Contact Information**: Email, phone, URL formatting with proper links\n- **Social Profiles**: Multiple networks with Font Awesome icons\n- **Error Handling**: Missing fields, malformed data, edge cases\n- **Performance**: Baseline rendering speed assertion\n- **Accessibility**: Semantic HTML and proper link attributes\n\n## Contributing\n\nContributions are welcome! Please feel free to:\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests if applicable\n5. Submit a pull request\n\n## License\n\n[Hippocratic License HL3-BOD-CL-ECO-FFD-LAW-MEDIA-MIL-MY-SV-TAL-USTA-XUAR](LICENSE).\n\n## Support\n\nIf you encounter any issues or have questions:\n\n1. Check the [GitHub Issues](https://github.com/BlueSialia/jsonresume-theme-bluetime/issues)\n2. Create a new issue with a detailed description\n3. Include sample resume data if reporting rendering issues\n\n## Related\n\n- [JSON Resume](https://jsonresume.org/) - The open source initiative to create a JSON-based standard for resumes\n- [JSON Resume Schema](https://jsonresume.org/schema/) - Complete schema documentation\n- [Other JSON Resume Themes](https://jsonresume.org/themes/) - Browse more themes\n\n---\n\nMade with ❤️ by [BlueSialia](https://github.com/BlueSialia)\n","readmeFilename":"README.md"}