I am working to generate offer letter for employees. So I have some default template index.html:
index.html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="header">
<h1>Offer Letter</h1>
</div>
<div id="name">
Hello [[Name]],
Welcome to our organization,'
Details:
[[Date]] : Offer Letter Date
[[Name]] : Employee Name
[[Designation]] : Designation
[[Address]] : Communication Address
[[CTC]] : Cost to the Company
</div>
<div id="footer">
Copyright
</div>
</body>
</html>
I am generate multiple offers at a time more than 300.
So I have json data like this:
var obj = [
{ "name" : "Abc",
"Date" : "12-12-2014",
"Designation" : "Admin",
"Address" : "XXXX",
"CTC" : 3333},
{ "name" : "wefrwe",
"Date" : "12-12-2014",
"Designation" : "Admin",
"Address" : "XXXX",
"CTC" : 55},
{ "name" : "dssd",
"Date" : "12-12-2015",
"Designation" : "Admin",
"Address" : "XXXX",
"CTC" : 333},
{ "name" : "gfsc",
"Date" : "12-1-2014",
"Designation" : "Admin",
"Address" : "XXXX",
"CTC" : 22},
{ "name" : "dssdds",
"Date" : "1-12-2014",
"Designation" : "Admin",
"Address" : "XXXX",
"CTC" : 4334}
];
How do I replace values (eg. [[Name]] to Abc ) .
Have any node packages ?
I tried the following code but don't know this is best way and useful.
for(i in obj) {
var textbody = '<!DOCTYPE html> <html> <head> </head> <body> <div id="header"> <h1>Offer Letter</h1> </div> <div id="name"> Hello [[name]], Welcome to our organization,' Details: [[Date]] : Offer Letter Date [[Name]] : Employee Name [[Designation]] : Designation [[Address]] : Communication Address [[CTC]] : Cost to the Company </div> <div id="footer"> Copyright </div> </body> </html>';
textbody = textbody.replace(/{[^{{}}]+}/g, function(key){
return obj[key.replace(/[{{}}]+/g, "")] || "";
});
}