26 lines
1.5 KiB
JavaScript
26 lines
1.5 KiB
JavaScript
// Simple Carbone DOCX merge test (no PDF conversion)
|
|
const carbone = require('carbone');
|
|
const fs = require('fs');
|
|
|
|
const data = {
|
|
fullName: 'John Smith', email: 'john@test.com', phone: '+1-555-123-4567',
|
|
address: 'Cape Town', linkedin: 'linkedin.com/in/john', github: 'github.com/john',
|
|
website: '', summary: 'Software engineer with 8 years experience.',
|
|
experience: [
|
|
{ position: 'Senior Engineer', company: 'TechCorp', startDate: 'Jan 2022', endDate: 'Present', duration: '4.5 years', description: 'Led team.', achievements: ['Reduced time 70%'], skillsUsed: 'C#, Azure' },
|
|
{ position: 'Software Engineer', company: 'DataSoft', startDate: 'Mar 2019', endDate: 'Dec 2021', duration: '2.8 years', description: 'Built APIs.', achievements: ['Built dashboard'], skillsUsed: 'C#, React' }
|
|
],
|
|
skillsByCategory: [
|
|
{ category: 'Programming', skills: [{ name: 'C#', years: 8.5 }, { name: 'React', years: 5.5 }] },
|
|
{ category: 'Cloud', skills: [{ name: 'Azure', years: 6.5 }] }
|
|
],
|
|
education: [{ degree: 'BSc', field: 'CS', institution: 'UCT', startDate: '2014', endDate: '2017', grade: 'First Class' }],
|
|
certifications: [{ name: 'Azure Dev', issuer: 'Microsoft', date: 'Jun 2021' }],
|
|
generationDate: 'July 16, 2026'
|
|
};
|
|
|
|
carbone.render('./carbone-templates/master_cv_template.docx', data, {}, function(err, result) {
|
|
if (err) { console.error('Merge error:', err.message || err); process.exit(1); }
|
|
fs.writeFileSync('./output/carbone_merged.docx', result);
|
|
console.log('DOCX merged:', result.length, 'bytes');
|
|
}); |