added ats friendly remume
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
2026-04-21 20:47:00 -06:00
parent 235414ebfe
commit 043af0b6fa
5 changed files with 132 additions and 19 deletions
+18 -2
View File
@@ -1,11 +1,19 @@
<div id="contact"> <div id="contact">
<table id="contact-table"> <!-- Pretty 3 column table for humans -->
<table id="contact-table" class="web-only">
<tr> <tr>
<td style="text-align: left">4150 W 111th CIR<br>Westminter, CO 80031<br>USA</td> <td style="text-align: left">4150 W 111th CIR<br>Westminter, CO 80031<br>USA</td>
<td style="text-align: center"><h1 style="margin: 0;">Eric W Phillips</h1></td> <td style="text-align: center"><h1 style="margin: 0;">Eric W Phillips</h1></td>
<td style="text-align: right">eric@ewpt3ch.dev<br>linkedin.com/in/ewpt3ch/<br>3034351478</td> <td style="text-align: right">eric@ewpt3ch.dev<br>linkedin.com/in/ewpt3ch/<br>3034351478</td>
</tr> </tr>
</table> </table>
<!-- ATS simple linear for parsing -->
<div class="ats-only">
<h1>Eric Phillips</h1>
<p>4150 W 111th Circle, Westminster, CO 80031<br>
303-435-1478 | eric@ewpt3ch.dev | linkedin.com/in/ewpt3ch/</p>
</div>
</div> </div>
<div id="summary"> <div id="summary">
@@ -18,7 +26,8 @@ Technical professional with 20+ years of business ownership and operations exper
<h3>Work Experience</h3> <h3>Work Experience</h3>
<div class="job-entry"> <div class="job-entry">
<table id="experience-table"> <!-- Pretty 3 column table for humans -->
<table id="experience-table" class="web-only">
<tr> <tr>
<td>IT, Data Analyst, Driver Trainer<br>Management Team</td> <td>IT, Data Analyst, Driver Trainer<br>Management Team</td>
<td><b>JBL Logistics INC</b><br>Broomfield, CO, USA</td> <td><b>JBL Logistics INC</b><br>Broomfield, CO, USA</td>
@@ -26,6 +35,13 @@ Technical professional with 20+ years of business ownership and operations exper
</tr> </tr>
</table> </table>
<!-- ATS simple linear for parsing -->
<div class="ats-only">
<h3>IT, Data Analyst, Driver Trainer | Management Team</h3>
<p><strong>JBL Logistics INC</strong>Broomfield, CO<br>
September 2019 - November 2025</p>
</div>
Transportation company servicing FedEX Ground Contract Transportation company servicing FedEX Ground Contract
Responsibilities included: Responsibilities included:
+29 -16
View File
@@ -21,6 +21,7 @@ def main():
# get the files # get the files
if not srcdir.is_dir(): if not srcdir.is_dir():
return f'Error: "{srcdir}" is not a directory or does not exist' return f'Error: "{srcdir}" is not a directory or does not exist'
filelist = list(srcdir.glob("*.md")) filelist = list(srcdir.glob("*.md"))
# mk destdir if not exist # mk destdir if not exist
@@ -29,32 +30,44 @@ def main():
# process filelist # process filelist
for infile in filelist: for infile in filelist:
# create filenames
outfile = destdir / infile.name
outfile = outfile.with_suffix(".html")
outfilepdf = outfile.with_suffix(".pdf")
# md -> html
print(f"processing '{infile}' to html") print(f"processing '{infile}' to html")
# Read markdown once
with infile.open(mode="r", encoding="utf-8") as f: with infile.open(mode="r", encoding="utf-8") as f:
mdsrc = f.read() mdsrc = f.read()
rawhtml = mdtohtml(mdsrc) rawhtml = mdtohtml(mdsrc)
# html -> resume.template base_name = infile.stem
print("processing rawhtml through resume.template")
template = j2_env.get_template("resume.template")
pdfhtml = template.render(name=name, content=rawhtml, download="")
print(f"processing html to '{outfilepdf}'") # pretty pdf
htmltopdf(pdfhtml, outfilepdf) print("Generating web PDF...")
web_template = j2_env.get_template("resume-web.template")
web_html = web_template.render(name=name, content=rawhtml)
web_pdf_path = destdir / f"{base_name}-web.pdf"
htmltopdf(web_html, web_pdf_path)
print(f"processing pdfhtml to '{outfile}'") # ats friendly pdf
ats_template = j2_env.get_template("resume-ats.template")
ats_html = ats_template.render(name=name, content=rawhtml)
ats_pdf_path = destdir / f"{base_name}-ats.pdf"
htmltopdf(ats_html, ats_pdf_path)
# generate web html with download bar
download_template = j2_env.get_template("download.template") download_template = j2_env.get_template("download.template")
download_bar = download_template.render(pdffile=outfilepdf.name) download_bar = download_template.render(
pubhtml = template.render(content=rawhtml, download=download_bar) web_pdf=f"{base_name}-web.pdf", ats_pdf=f"{base_name}-ats.pdf"
with outfile.open(mode="w", encoding="utf-8") as f: )
pubhtml = web_template.render(name=name, content=rawhtml, download=download_bar)
html_path = destdir / f"{base_name}.html"
with html_path.open(mode="w", encoding="utf-8") as f:
f.write(pubhtml) f.write(pubhtml)
print(f"Created: {web_pdf_path.name}")
print(f"Created: {ats_pdf_path.name}")
print(f"Created: {html_path.name}")
if __name__ == "__main__": if __name__ == "__main__":
main() main()
+2 -1
View File
@@ -1,4 +1,5 @@
<div id="download-bar" style="position: sticky; top: 0; background: #f5f5f5; padding: 10px; text-align: center; border-bottom: 1px solid #ddd; z-index: 100;"> <div id="download-bar" style="position: sticky; top: 0; background: #f5f5f5; padding: 10px; text-align: center; border-bottom: 1px solid #ddd; z-index: 100;">
Download: Download:
<a href="/resume/{{ pdffile }}">Resume (PDF)</a> <a href="/resume/{{ web_pdf }}">Resume (web PDF)</a>
<a href="/resume/{{ ats_pdf }}">Resume (ats-friendly PDF)</a>
</div> </div>
+55
View File
@@ -0,0 +1,55 @@
<!DOCTYPE html>
<html>
<head>
<style>
@page { size: letter; margin: 0.75in; }
/* Hide web version */
.web-only { display: none !important; }
.ats-only { display: block; }
/* Simple, ATS-friendly styling */
body {
font-family: Arial, sans-serif;
font-size: 11pt;
line-height: 1.4;
}
h1 {
font-size: 18pt;
margin: 0 0 5pt 0;
text-align: center;
}
h2 {
font-size: 12pt;
font-weight: bold;
margin: 12pt 0 6pt 0;
border-bottom: 1pt solid #333;
}
h3 {
font-size: 11pt;
font-weight: bold;
margin: 8pt 0 2pt 0;
}
p { margin: 4pt 0; }
ul {
margin: 4pt 0;
padding-left: 20pt;
}
li { margin-bottom: 2pt; }
/* Center contact info */
#contact p {
text-align: center;
}
</style>
</head>
<body>
{{ content }}
</body>
</html>
+28
View File
@@ -0,0 +1,28 @@
<!DOCTYPE html>
<html>
<head>
<style>
@page { size: letter; margin: 0.5in 0.75in; }
/* Hide ATS version */
.ats-only { display: none !important; }
.web-only { display: block; }
/* Your current beautiful styling */
#contact-table {
width: 100%;
table-layout: fixed;
/* ... rest of your styling ... */
}
.experience-table {
width: 100%;
table-layout: fixed;
/* ... */
}
</style>
</head>
<body>
{{ content }}
</body>
</html>