Online Resume Builder
Online Resume Builder
CSS (styles.css)
css
Copy code
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f4f4f4;
}
.container {
width: 90%;
max-width: 800px;
margin: 20px auto;
padding: 20px;
background-color: white;
border-radius: 8px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
h1 {
text-align: center;
color: #333;
}
.form-group {
margin-bottom: 15px;
}
label {
display: block;
margin-bottom: 5px;
font-weight: bold;
}
input, textarea, button {
width: 100%;
padding: 10px;
margin-top: 5px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 16px;
}
textarea {
resize: vertical;
height: 100px;
}
button {
background-color: #5cb85c;
color: white;
cursor: pointer;
border: none;
}
button:hover {
background-color: #4cae4c;
}
.resume {
margin-top: 20px;
padding: 20px;
background-color: #fff;
border: 1px solid #ccc;
border-radius: 8px;
}
#photo-preview {
max-width: 100px;
max-height: 100px;
margin-bottom: 20px;
}
JavaScript (script.js)
javascript
Copy code
document.getElementById('photo').addEventListener('change', function(event) {
const reader = new FileReader();
reader.onload = function() {
const img = document.createElement('img');
img.id = 'photo-preview';
img.src = reader.result;
document.getElementById('resume').appendChild(img);
};
reader.readAsDataURL(event.target.files[0]);
});
function generateRandomColor() {
const letters = '89ABCDEF'; // Lighter colors only
let color = '#';
for (let i = 0; i < 6; i++) {
color += letters[Math.floor(Math.random() * 8)];
}
return color;
}
function generateResume() {
const resume = document.getElementById('resume');
resume.innerHTML = '';
resume.style.backgroundColor = generateRandomColor();
const fields = ['name', 'email', 'address', 'education', 'experience', 'hobbies', 'languages', 'disclaimer'];
fields.forEach(field => {
const value = document.getElementById(field).value;
if (value) {
const div = document.createElement('div');
div.className = 'resume-section';
div.innerHTML = `${field.charAt(0).toUpperCase() + field.slice(1)}: ${value}`;
resume.appendChild(div);
}
});
const downloadBtn = document.getElementById('downloadBtn');
downloadBtn.style.display = 'block';
}
function downloadResume() {
const { jsPDF } = window.jspdf;
const pdf = new jsPDF();
pdf.fromHTML(document.getElementById('resume').innerHTML, 10, 10, {
'width': 180
});
pdf.save('resume.pdf');
'height' : 60,
'width' : 468,
'params' : {}
};
}