Resume Maker — Mobile Friendly (No Sticky)PreviewDesktop view
Generate resume to see preview.
');
w.document.close();
w.focus();
setTimeout(()=> w.print(), 400);
}$('#downloadPDF').addEventListener('click', openPrintWindow);// init: add one empty row
(function init(){ addEduRow(); })();// helper functions (addEduRow, collectEdu, escapeHtml) kept here
function addEduRow(values = {}) {
const eduTbody = document.querySelector('#eduTable tbody');
const tr = document.createElement('tr');
tr.innerHTML = `
| | | | | | `;
eduTbody.appendChild(tr);
tr.querySelector('.removeEdu').addEventListener('click', ()=> tr.remove());
return tr;
}function collectEdu(){
return Array.from(document.querySelectorAll('#eduTable tbody tr')).map((tr,i)=>{
return {
sr: tr.querySelector('.eduSr')?.value || (i+1),
cls: tr.querySelector('.eduClass')?.value || '',
board: tr.querySelector('.eduBoard')?.value || '',
year: tr.querySelector('.eduYear')?.value || '',
perc: tr.querySelector('.eduPerc')?.value || ''
};
}).filter(r => r.cls || r.board || r.year || r.perc);
}function escapeHtml(s){ if(!s) return ''; return String(s).replace(/[&<>"']/g, m => ({'&':'&','<':'<','>':'>','"':'"',"'":'''}[m])); }