const templates = [ { id: 'tmpl_modern_1', name: 'Modern Blue', description: 'Clean single-column with a professional blue touch.', category: 'modern', layout: 'single', thumbnail_url: 'assets/modern_blue.png', is_ats_safe: 1, is_premium: 0, tags: JSON.stringify(['clean', 'modern']), html_content: `

{{contact.name}}

{{contact.email}} | {{contact.phone}} | {{contact.location}} {{#if contact.linkedin}} | LinkedIn: {{contact.linkedin}}{{/if}} {{#if contact.github}} | GitHub: {{contact.github}}{{/if}}
{{#if summary}}

Summary

{{nl2br summary}}

{{/if}} {{#if experience.length}}

Experience

{{#each experience}}

{{title}} @ {{company}}

{{startDate}} - {{endDate}}

{{nl2br description}}

{{/each}}
{{/if}} {{#if education.length}}

Education

{{#each education}}

{{degree}}

{{endDate}}

{{institution}}

{{/each}}
{{/if}} {{#if projects.length}}

Projects

{{#each projects}}

{{name}}

{{#if link}}{{link}}{{/if}}

{{nl2br description}}

{{/each}}
{{/if}} {{#if certifications.length}}

Certifications

{{#each certifications}}

{{name}}

{{date}}

{{issuer}}

{{/each}}
{{/if}} {{#if skills.length}}

Skills

{{#each skills}}{{this}}{{/each}}
{{/if}} {{#if additional.length}}

Additional Information

{{#each additional}}
{{title}}: {{value}}
{{/each}}
{{/if}}
{{#if languages.length}}

Languages

{{#each languages}}
{{name}}: {{level}}
{{/each}}
{{/if}} {{#if references.length}}

References

{{#each references}}
{{name}}
{{title}} | {{contact}}
{{/each}}
{{/if}}
`, css_content: ` :root { --primary: {{#if design.primaryColor}}{{design.primaryColor}}{{else}}#2563EB{{/if}}; --font-family: {{#if design.fontFamily}}{{{design.fontFamily}}}{{else}}'Inter', sans-serif{{/if}}; } body { font-family: var(--font-family); color: #1e293b; line-height: 1.4; } h1 { font-size: 24pt; color: var(--primary); margin-bottom: 2px; } h2 { font-size: 13pt; border-bottom: 1.5px solid var(--primary); padding-bottom: 2px; margin-top: 12px; margin-bottom: 8px; color: var(--primary); text-transform: uppercase; } .contact-bar { font-size: 9pt; color: #64748b; margin-bottom: 15px; } .item { margin-bottom: 10px; } .item-header { display: flex; justify-content: space-between; align-items: baseline; } .item-header h3 { font-size: 11pt; font-weight: 600; margin: 0; } .date { font-size: 9pt; color: #64748b; } .skills-grid { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; } .skill-tag { background: #f1f5f9; padding: 3px 8px; border-radius: 4px; font-size: 8.5pt; border: 1px solid #e2e8f0; } p { margin: 0; font-size: 10pt; } ` }, { id: 'tmpl_classic_1', name: 'Classic Serif', description: 'Traditional serif layout for legal and corporate roles.', category: 'classic', layout: 'single', thumbnail_url: 'assets/classic_serif.png', is_ats_safe: 1, is_premium: 0, tags: JSON.stringify(['classic', 'serif']), html_content: `

{{contact.name}}

{{#if contact.title}}
{{contact.title}}
{{/if}}
{{#if contact.phone}}✆ {{contact.phone}}{{/if}} {{#if contact.email}}✉ {{contact.email}}{{/if}} {{#if contact.linkedin}}🔗 {{contact.linkedin}}{{/if}} {{#if contact.github}}🔗 {{contact.github}}{{/if}} {{#if contact.location}}📍 {{contact.location}}{{/if}}
{{#if summary}}

Professional Summary

{{summary}}
{{/if}} {{#if education.length}}

Education

{{#each education}}
{{institution}} {{location}}
{{degree}} {{startDate}}{{#if startDate}} - {{/if}}{{endDate}}
{{/each}}
{{/if}} {{#if skills.length}}

Technical Skills

Skills: {{join skills ", "}}
{{/if}} {{#if experience.length}}

Work Experience

{{#each experience}}
{{title}} {{startDate}}{{#if startDate}} - {{/if}}{{endDate}}
{{company}} {{location}}
{{nl2li description}}
{{/each}}
{{/if}} {{#if projects.length}}

Projects

{{#each projects}}
{{name}} {{link}}
{{nl2li description}}
{{/each}}
{{/if}} {{#if certifications.length}}

Certifications

{{#each certifications}}
{{name}} {{date}}
{{issuer}}
{{/each}}
{{/if}} {{#if additional.length}}

Additional Information

{{#each additional}}
{{title}}: {{value}}
{{/each}}
{{/if}} {{#if languages.length}}

Languages

{{#each languages}}{{name}} ({{level}}){{#unless @last}}, {{/unless}}{{/each}}
{{/if}} {{#if references.length}}

References

{{#each references}}
{{name}} - {{title}} ({{contact}})
{{/each}}
{{/if}}
`, css_content: ` :root { --primary: {{#if design.primaryColor}}{{design.primaryColor}}{{else}}#000000{{/if}}; --font-family: {{#if design.fontFamily}}{{{design.fontFamily}}}{{else}}'Times New Roman', Times, serif{{/if}}; } body { font-family: var(--font-family); color: #000; line-height: 1.15; } .resume-ats { padding: 0; } header { text-align: center; margin-bottom: 12px; } h1 { font-size: 20pt; font-weight: normal; margin: 0 0 4px 0; color: var(--primary); } .contact-info { font-size: 9.5pt; display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; } .contact-info span { display: inline-flex; align-items: center; gap: 4px; } section { margin-bottom: 12px; } h2 { font-size: 11pt; text-transform: uppercase; border-bottom: 1px solid #000; margin-top: 0; margin-bottom: 4px; font-weight: bold; color: var(--primary); } .item { margin-bottom: 8px; } .item-row { display: flex; justify-content: space-between; align-items: baseline; font-size: 10pt; } .bold { font-weight: bold; } .italic { font-style: italic; } .right { text-align: right; } .bullet-points { margin-top: 2px; } .bullet-points ul { margin: 0; padding-left: 20px; font-size: 9.5pt; } .bullet-points li { margin-bottom: 2px; line-height: 1.25; } .skills-block { font-size: 10pt; line-height: 1.4; } .summary-text { font-size: 10pt; line-height: 1.3; } ` }, { id: 'tmpl_creative_1', name: 'Creative Mint', description: 'Fresh two-column layout for creative professionals.', category: 'creative', layout: 'two-column', thumbnail_url: 'assets/creative_mint.png', is_ats_safe: 0, is_premium: 1, tags: JSON.stringify(['creative', 'mint']), html_content: `
{{#if summary}}

Profile

{{nl2br summary}}

{{/if}} {{#if experience.length}}

Experience

{{#each experience}}

{{title}}

{{company}} | {{startDate}} - {{endDate}}

{{nl2br description}}

{{/each}}
{{/if}} {{#if projects.length}}

Projects

{{#each projects}}

{{name}}

{{#if link}}{{link}}{{/if}}

{{nl2br description}}

{{/each}}
{{/if}} {{#if certifications.length}}

Certifications

{{#each certifications}}

{{name}}

{{issuer}} | {{date}}
{{/each}}
{{/if}} {{#if additional.length}}

Additional

{{#each additional}}
{{title}}:

{{value}}

{{/each}}
{{/if}} {{#if languages.length}}

Languages

{{#each languages}}
{{name}}: {{level}}
{{/each}}
{{/if}} {{#if references.length}}

References

{{#each references}}
{{name}}
{{title}} | {{contact}}
{{/each}}
{{/if}}
`, css_content: ` :root { --primary: {{#if design.primaryColor}}{{design.primaryColor}}{{else}}#166534{{/if}}; --font-family: {{#if design.fontFamily}}{{{design.fontFamily}}}{{else}}'Source Sans Pro', sans-serif{{/if}}; } body { font-family: var(--font-family); color: #1e293b; margin: 0; } h2 { font-size: 15pt; color: #166534; border-bottom: 2px solid #f0fdf4; padding-bottom: 5px; margin-bottom: 15px; } h3 { font-size: 13pt; margin-bottom: 4px; } p { font-size: 10pt; margin: 0; } ` }, { id: 'tmpl_dark_1', name: 'Midnight Professional', description: 'Striking dark-themed header for a bold impression.', category: 'modern', layout: 'single', thumbnail_url: 'assets/dark_pro.png', is_ats_safe: 1, is_premium: 1, tags: JSON.stringify(['dark', 'bold']), html_content: `

{{contact.name}}

{{#if contact.title}}
{{contact.title}}
{{/if}}
{{contact.email}} | {{contact.phone}} | {{contact.location}} {{#if contact.linkedin}} | LI: {{contact.linkedin}}{{/if}} {{#if contact.github}} | GH: {{contact.github}}{{/if}}
{{#if summary}}

Professional Summary

{{nl2br summary}}

{{/if}} {{#if experience.length}}

Experience

{{#each experience}}

{{title}} @ {{company}}

{{startDate}} - {{endDate}}

{{nl2br description}}

{{/each}}
{{/if}} {{#if education.length}}

Education

{{#each education}}

{{degree}}

{{endDate}}

{{institution}}

{{/each}}
{{/if}} {{#if projects.length}}

Projects

{{#each projects}}

{{name}}

{{#if link}}{{link}}{{/if}}

{{nl2br description}}

{{/each}}
{{/if}} {{#if certifications.length}}

Certifications

{{#each certifications}}

{{name}}

{{issuer}} | {{date}}
{{/each}}
{{/if}} {{#if skills.length}}

Expertise

{{#each skills}}{{this}}{{/each}}
{{/if}} {{#if additional.length}}

Additional Info

{{#each additional}}

{{title}}

{{value}}

{{/each}}
{{/if}} {{#if languages.length}}

Languages

{{#each languages}}
{{name}} • {{level}}
{{/each}}
{{/if}} {{#if references.length}}

References

{{#each references}}

{{name}}

{{title}} | {{contact}}

{{/each}}
{{/if}}
`, css_content: ` :root { --primary: {{#if design.primaryColor}}{{design.primaryColor}}{{else}}#0f172a{{/if}}; --font-family: {{#if design.fontFamily}}{{{design.fontFamily}}}{{else}}'Inter', sans-serif{{/if}}; } body { font-family: var(--font-family); color: #1e293b; line-height: 1.4; } h2 { color: #0f172a; font-size: 13pt; text-transform: uppercase; letter-spacing: 1px; border-bottom: 2px solid #0f172a; padding-bottom: 3px; margin-top: 15px; } h3 { font-size: 11.5pt; margin: 0; font-weight: 700; } .date { font-size: 9pt; color: #64748b; font-weight: 500; } .skills-grid { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; } .skill-tag { background: #0f172a; color: #fff; padding: 3px 10px; border-radius: 20px; font-size: 8.5pt; } p { font-size: 10pt; margin: 0; } ` }, { id: 'tmpl_minimal_1', name: 'Minimalist Executive', description: 'High-impact minimalist design for senior professionals.', category: 'modern', layout: 'single', thumbnail_url: 'assets/minimal_executive.png', is_ats_safe: 1, is_premium: 1, tags: JSON.stringify(['minimal', 'executive', 'clean']), html_content: `

{{contact.name}}

{{#if contact.title}}
{{contact.title}}
{{/if}}
{{contact.email}} • {{contact.phone}} • {{contact.location}} {{#if contact.linkedin}} • LinkedIn: {{contact.linkedin}}{{/if}} {{#if contact.github}} • GitHub: {{contact.github}}{{/if}}
{{#if summary}}
{{#if summary}}

{{nl2br summary}}

{{/if}}
{{/if}} {{#if experience.length}}

Experience

{{#each experience}}
{{title}} @ {{company}}{{startDate}} - {{endDate}}

{{nl2br description}}

{{/each}}
{{/if}} {{#if education.length}}

Education

{{#each education}}
{{degree}}{{endDate}}

{{institution}}

{{/each}}
{{/if}} {{#if projects.length}}

Projects

{{#each projects}}
{{name}}{{#if link}}{{link}}{{/if}}

{{nl2br description}}

{{/each}}
{{/if}} {{#if certifications.length}}

Certifications

{{#each certifications}}
{{name}}{{date}}

{{issuer}}

{{/each}}
{{/if}} {{#if skills.length}}

Skills

{{join skills ", "}}

{{/if}} {{#if additional.length}}

Additional

{{#each additional}}
{{title}}: {{value}}
{{/each}}
{{/if}} {{#if languages.length}}

Languages

{{#each languages}}{{name}}: {{level}}{{#unless @last}} • {{/unless}}{{/each}}
{{/if}} {{#if references.length}}

References

{{#each references}}
{{name}} ({{title}}) - {{contact}}
{{/each}}
{{/if}}
`, css_content: ` :root { --primary: {{#if design.primaryColor}}{{design.primaryColor}}{{else}}#6366f1{{/if}}; --font-family: {{#if design.fontFamily}}{{{design.fontFamily}}}{{else}}'Inter', sans-serif{{/if}}; } body { font-family: var(--font-family); background: #fff; color: #1e293b; } h2 { border-bottom: none !important; } ` }, { id: 'tmpl_tech_1', name: 'Tech Professional', description: 'Modern, skill-focused layout for developers and engineers.', category: 'modern', layout: 'single', thumbnail_url: 'assets/tech_pro.png', is_ats_safe: 1, is_premium: 0, tags: JSON.stringify(['tech', 'modern', 'skills']), html_content: `

{{contact.name}}

{{#if contact.title}}{{contact.title}}{{else}}Software Engineer{{/if}}

{{contact.email}}
{{contact.phone}}
{{contact.location}}
{{#if contact.linkedin}}
LI: {{contact.linkedin}}
{{/if}} {{#if contact.github}}
GH: {{contact.github}}
{{/if}}
{{#if summary}}

About Me

{{nl2br summary}}

{{/if}} {{#if experience.length}}

Work Experience

{{#each experience}}
{{title}} | {{company}}
{{startDate}} - {{endDate}}

{{nl2br description}}

{{/each}}
{{/if}} {{#if projects.length}}

Projects

{{#each projects}}
{{name}}{{#if link}} | Link{{/if}}

{{nl2br description}}

{{/each}}
{{/if}}
{{#if skills.length}}

Tech Stack

{{#each skills}}{{this}}{{/each}}
{{/if}} {{#if education.length}}

Education

{{#each education}}
{{degree}}
{{institution}}
{{/each}}
{{/if}} {{#if certifications.length}}

Certifications

{{#each certifications}}
{{name}}
{{issuer}} | {{date}}
{{/each}}
{{/if}} {{#if additional.length}}

Extra Info

{{#each additional}}
{{title}}

{{value}}

{{/each}}
{{/if}} {{#if languages.length}}

Languages

{{#each languages}}
{{name}}: {{level}}
{{/each}}
{{/if}} {{#if references.length}}

References

{{#each references}}
{{name}}
{{title}}
{{contact}}
{{/each}}
{{/if}}
`, css_content: ` :root { --primary: {{#if design.primaryColor}}{{design.primaryColor}}{{else}}#4f46e5{{/if}}; --font-family: {{#if design.fontFamily}}{{{design.fontFamily}}}{{else}}'Inter', sans-serif{{/if}}; } body { font-family: var(--font-family); color: #1e293b; } h3 { font-size: 11pt; text-transform: uppercase; color: #64748b; border-bottom: 1px solid #e2e8f0; padding-bottom: 5px; margin-bottom: 15px; } ` }, { id: 'tmpl_standard_1', name: 'Standard Business', description: 'A reliable, classic choice that passes every ATS system.', category: 'classic', layout: 'single', thumbnail_url: 'assets/standard_business.png', is_ats_safe: 1, is_premium: 0, tags: JSON.stringify(['classic', 'standard', 'ats']), html_content: `

{{contact.name}}

{{#if contact.title}}
{{contact.title}}
{{/if}}

{{contact.email}} | {{contact.phone}} | {{contact.location}} {{#if contact.linkedin}} | LI: {{contact.linkedin}}{{/if}} {{#if contact.github}} | GH: {{contact.github}}{{/if}}

{{#if summary}}

PROFESSIONAL SUMMARY

{{nl2br summary}}

{{/if}} {{#if experience.length}}

EXPERIENCE

{{#each experience}}
{{company}}{{startDate}} - {{endDate}}
{{title}}

{{nl2br description}}

{{/each}}
{{/if}} {{#if education.length}}

EDUCATION

{{#each education}}
{{institution}}{{endDate}}
{{degree}}
{{/each}}
{{/if}} {{#if projects.length}}

PROJECTS

{{#each projects}}
{{name}}

{{nl2br description}}

{{/each}}
{{/if}} {{#if certifications.length}}

CERTIFICATIONS

{{#each certifications}}
{{name}}{{date}}
{{issuer}}
{{/each}}
{{/if}} {{#if skills.length}}

SKILLS

{{join skills ", "}}

{{/if}} {{#if additional.length}}

ADDITIONAL INFORMATION

{{#each additional}}
{{title}}: {{value}}
{{/each}}
{{/if}} {{#if languages.length}}

LANGUAGES

{{#each languages}}{{name}} ({{level}}){{#unless @last}}, {{/unless}}{{/each}}

{{/if}} {{#if references.length}}

REFERENCES

{{#each references}}
{{name}}
{{title}} | {{contact}}
{{/each}}
{{/if}}
`, css_content: ` :root { --primary: {{#if design.primaryColor}}{{design.primaryColor}}{{else}}#000000{{/if}}; --font-family: {{#if design.fontFamily}}{{{design.fontFamily}}}{{else}}'Times New Roman', serif{{/if}}; } body { font-family: var(--font-family); color: #000; line-height: 1.3; } ` }, { id: 'tmpl_academic_1', name: 'Academic Professional', description: 'Clean, detailed layout optimized for research and academic roles.', category: 'classic', layout: 'single', thumbnail_url: 'assets/academic_pro.png', is_ats_safe: 1, is_premium: 0, tags: JSON.stringify(['academic', 'professional', 'detailed']), html_content: `

{{contact.name}}

{{#if contact.title}}
{{contact.title}}
{{/if}}

{{contact.email}} | {{contact.phone}} | {{contact.location}} {{#if contact.linkedin}} | LinkedIn: {{contact.linkedin}}{{/if}} {{#if contact.github}} | GitHub: {{contact.github}}{{/if}}

{{#if summary}}

Research Profile

{{nl2br summary}}

{{/if}} {{#if experience.length}}

Academic Experience

{{#each experience}}
{{title}}, {{company}}
{{startDate}} - {{endDate}}

{{nl2br description}}

{{/each}}
{{/if}} {{#if education.length}}

Education

{{#each education}}
{{degree}}
{{institution}} | Graduated {{endDate}}
{{/each}}
{{/if}} {{#if certifications.length}}

Certifications

{{#each certifications}}
{{name}} ({{issuer}}, {{date}})
{{/each}}
{{/if}} {{#if skills.length}}

Technical Skills

{{join skills ", "}}

{{/if}} {{#if additional.length}}

Additional Details

{{#each additional}}
{{title}}: {{value}}
{{/each}}
{{/if}}
{{#if languages.length}}

Languages

{{#each languages}}
{{name}} ({{level}})
{{/each}}
{{/if}} {{#if references.length}}

References

{{#each references}}
{{name}}
{{title}}
{{contact}}
{{/each}}
{{/if}}
`, css_content: ` :root { --primary: {{#if design.primaryColor}}{{design.primaryColor}}{{else}}#2d3748{{/if}}; --font-family: {{#if design.fontFamily}}{{{design.fontFamily}}}{{else}}'Crimson Pro', serif{{/if}}; } body { font-family: var(--font-family); line-height: 1.5; } ` }, { id: 'tmpl_corporate_2', name: 'Corporate Sleek', description: 'Modern corporate layout with a distinctive left border accent.', category: 'modern', layout: 'single', thumbnail_url: 'assets/corporate_sleek.png', is_ats_safe: 1, is_premium: 1, tags: JSON.stringify(['corporate', 'sleek', 'modern']), html_content: `

{{contact.name}}

{{#if contact.title}}
{{contact.title}}
{{/if}}

{{contact.email}} • {{contact.phone}} • {{contact.location}} {{#if contact.linkedin}} • LI: {{contact.linkedin}}{{/if}} {{#if contact.github}} • GH: {{contact.github}}{{/if}}

{{#if summary}}

About Me

{{nl2br summary}}

{{/if}} {{#if experience.length}}

Professional History

{{#each experience}}
{{title}}{{startDate}} - {{endDate}}
{{company}}

{{nl2br description}}

{{/each}}
{{/if}} {{#if education.length}}

Education

{{#each education}}
{{degree}}
{{institution}} | Graduated {{endDate}}
{{/each}}
{{/if}} {{#if skills.length}}

Core Expertise

{{#each skills}}{{this}}{{/each}}
{{/if}} {{#if projects.length}}

Projects

{{#each projects}}
{{name}}{{#if link}}{{link}}{{/if}}

{{nl2br description}}

{{/each}}
{{/if}} {{#if certifications.length}}

Certifications

{{#each certifications}}
{{name}}{{date}}
{{issuer}}
{{/each}}
{{/if}}
{{#if languages.length}}

Languages

{{#each languages}}
{{name}}: {{level}}
{{/each}}
{{/if}} {{#if references.length}}

References

{{#each references}}
{{name}} • {{contact}}
{{/each}}
{{/if}}
`, css_content: ` :root { --primary: {{#if design.primaryColor}}{{design.primaryColor}}{{else}}#1e293b{{/if}}; --font-family: {{#if design.fontFamily}}{{{design.fontFamily}}}{{else}}'Inter', sans-serif{{/if}}; } body { font-family: var(--font-family); line-height: 1.4; } ` } ]; const writingTips = [ { id: 'tip_1', section: 'summary', tip: 'Focus on achievements, not just tasks.', example: 'Saved 20% on server costs by optimizing database queries.' }, { id: 'tip_2', section: 'experience', tip: 'Use action verbs to start each bullet point.', example: 'Managed, Created, Developed, Improved' }, { id: 'tip_3', section: 'experience', tip: 'Quantify your accomplishments with numbers.', example: 'Increased sales by 30%, Reduced costs by $50K' }, { id: 'tip_4', section: 'education', tip: 'Include relevant coursework and academic projects.', example: 'Data Structures, Machine Learning, Web Development' }, { id: 'tip_5', section: 'skills', tip: 'List both technical and soft skills.', example: 'Python, JavaScript, Leadership, Communication' } ]; module.exports = { templates, writingTips };