From 57c5ca710c19ef65f8184d030f42177a0ba045dd Mon Sep 17 00:00:00 2001 From: Louis Burke Date: Sun, 21 May 2023 20:33:48 -0400 Subject: [PATCH] Initial version for Melody to review --- Makefile | 27 ++++++++++++++++ cv.md.mako | 59 +++++++++++++++++++++++++++++++++++ cv.tex.mako | 83 ++++++++++++++++++++++++++++++++++++++++++++++++ cv.txt | 41 ++++++++++++++++++++++++ cv.txt.mako | 47 ++++++++++++++++++++++++++++ cv.yaml | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++ render.py | 8 +++++ 7 files changed, 355 insertions(+) create mode 100644 Makefile create mode 100644 cv.md.mako create mode 100644 cv.tex.mako create mode 100644 cv.txt create mode 100644 cv.txt.mako create mode 100644 cv.yaml create mode 100755 render.py diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..07db4c8 --- /dev/null +++ b/Makefile @@ -0,0 +1,27 @@ +.PHONY: default clean + +all: cv.rendered.pdf cv.rendered.txt cv.rendered.odt + +default: cv.rendered.pdf + +cv.rendered.pdf: cv.rendered.tex + xelatex $^ + +cv.rendered.tex: cv.tex.mako cv.yaml + yq . < cv.yaml | ./render.py $< > $@ + +cv.rendered.txt: cv.txt.mako cv.yaml + yq . < cv.yaml | ./render.py $< > $@ + +cv.rendered.md: cv.md.mako cv.yaml + yq . < cv.yaml | ./render.py $< > $@ + +cv.rendered.odt: cv.rendered.md + pandoc -s $< -o $@ + +cv.rendered.docx: cv.rendered.md + pandoc -s $< -o $@ + +clean: + -rm *.rendered.* + -rm *.pdf *.aux *.log *.out diff --git a/cv.md.mako b/cv.md.mako new file mode 100644 index 0000000..2c39af1 --- /dev/null +++ b/cv.md.mako @@ -0,0 +1,59 @@ +# ${name['first']} ${name['last']} + +% for line in address: +${line}${'\\'} +% endfor +% for type in phone: +${type}: ${phone[type]}${'\\'} +% endfor +email: ${email} + +${short} + +${'##'} Education + +% for academic in academics: + +${'###'} ${academic['degree']} from ${academic['institution']} + +${academic['location']}, ${academic['dates']} + +% if 'awards' in academic: +**Awards:** + +% for award in academic['awards']: +- ${award} +% endfor +% endif + +% if 'courses' in academic: +**Selected Courses:** + +% for course in academic['courses']: +- ${course} +% endfor +% endif +% endfor + +${'##'} Work Experience + +% for employment in employments: + +${'###'} ${employment['title']} at ${employment['company']} + +${employment['location']}, ${employment['dates']} + +${employment['summary']} + +% endfor + +${'##'} Skills & Interests + +% for category in categories: + +${'###'} ${category} + +% for skill in categories[category]: +- ${skill} +% endfor +% endfor diff --git a/cv.tex.mako b/cv.tex.mako new file mode 100644 index 0000000..89bcf84 --- /dev/null +++ b/cv.tex.mako @@ -0,0 +1,83 @@ +\documentclass[11pt,letterpaper,sans]{moderncv} + +\moderncvstyle{banking} +\moderncvcolor{black} + +\usepackage[utf8]{inputenc} + +\usepackage[margin=1in]{geometry} + +\usepackage{import} + +%% personal data +\name{${name['first']}}{${name['last']}} +\address{${', '.join(address)}}{}{} +% for type in phone: +\phone[${type}]{${phone[type]}} +% endfor +\email{${email}} +%%\photo[64pt][0.4pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 0.4pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file + +\begin{document} + +\makecvtitle + +\small ${short} + +\section{Education} + +\vspace{5pt} + +\begin{itemize} + +% for academic in academics: +\item{\cventry{${academic['location']}}{${academic['degree']}}{${academic['institution']}}{${academic['dates']}}{}{\vspace{3pt} + % if 'awards' in academic: + Awards: \begin{itemize} + % for award in academic['awards']: + \item ${award} + % endfor + \end{itemize} + % endif + % if 'courses' in academic: + Selected Courses: \begin{itemize} + % for course in academic['courses']: + \item ${course} + % endfor + \end{itemize} + % endif +}} +% endfor + +\end{itemize} + +\vspace{2pt} + + +\section{Work Experience} + +\vspace{6pt} + +\begin{itemize} + \setlength\itemsep{6pt} + +% for employment in employments: +\item{\cventry{${employment['location']}}{${employment['title']}}{${employment['company']}}{${employment['dates']}}{}{\vspace{3pt}${employment['summary']}}} +% endfor + +\end{itemize} + +\section{Skills \& Interests} + +\vspace{6pt} + +\begin{itemize} +\setlength\itemsep{6pt} + +% for category in categories: +\item \textbf{${category}:} ${', '.join(categories[category])}. +% endfor + +\end{itemize} + +\end{document} diff --git a/cv.txt b/cv.txt new file mode 100644 index 0000000..ab1eb1d --- /dev/null +++ b/cv.txt @@ -0,0 +1,41 @@ + + +Jessica King +131 Birch Hill Pvt, Ottawa, Ontario, Canada, K1K 3Y5 +mobile: +1 613 868 9455 +email: jessking@live.ca + +Seeking an entry-level position to leverage my education in Human Resources from the University of Waterloo. I pride +myself on my professionalism and ability to function as a cohesive team member, completing tasks with the utmost rigour. +References available upon request. + +Education: + +Bachelor of Arts from University of Waterloo in Waterloo: June 2022 (Expected) + - Awards: + - St. Jerome's Founders Scholarship + - Selected Courses: + - Accounting Information for Managers + - Strategic Human Resources Management + - Compensation + - Training and Development +Highschool diploma from Monsignor Doyle Catholic Secondary School in Cambridge: 2010--2012 + +Work Experience: + +Self-employed Dog Walker at Rover in Ottawa: 2017--2019 + - Maintained a roster of regular clients, which involved marketing the business, conducting initial consultations to + gather information and note any special instructions or limitations, and scheduling appointments. Developed strong + organization and time management skills to ensure flexibility and reliability for clients. +Service Representative at McDonald's in Cambridge: 2015--2017 + - Managed the front counter and dining area. Maintained high standards of customer service during high-volume, fast- + paced operations. +Part-time Food Service Worker at Wilfred Laurier University Fresh Food Company (Aramark) in Waterloo: 2013--2017 + - Performed a range of services related to the food industry, from cashier to food preparation. + +Skills & Interests: + +Software Skills: Microsoft Office Suite (advanced familiarity with Excel and Word), Microsoft SharePoint +Technical Skills: HTML/CSS Programming, Linux operating systems +Languages: Basic French +Canine Psychology: Dog Guides of Canada volunteer (2004-2017) diff --git a/cv.txt.mako b/cv.txt.mako new file mode 100644 index 0000000..efb5836 --- /dev/null +++ b/cv.txt.mako @@ -0,0 +1,47 @@ +<%! + import textwrap + def wrap(width=80, indent=0): + return lambda text: ("\n" + " " * indent).join(textwrap.wrap(text, width - indent)).strip() +%> + +${name['first']} ${name['last']} +${', '.join(address)} +% for type in phone: +${type}: ${phone[type]} +% endfor +email: ${email} + +<%block filter="wrap(120, 0)"> +${short} + + +Education: + +% for academic in academics: +${academic['degree']} from ${academic['institution']} in ${academic['location']}: ${academic['dates']} +% if 'awards' in academic: + - Awards: +% for award in academic['awards']: + - ${award} +% endfor +% endif +% if 'courses' in academic: + - Selected Courses: +% for course in academic['courses']: + - ${course} +% endfor +% endif +% endfor + +Work Experience: + +% for employment in employments: +${employment['title']} at ${employment['company']} in ${employment['location']}: ${employment['dates']} + - ${employment['summary'] | wrap(120, 3)} +% endfor + +Skills & Interests: + +% for category in categories: +${category}: ${', '.join(categories[category])} +% endfor diff --git a/cv.yaml b/cv.yaml new file mode 100644 index 0000000..3830afe --- /dev/null +++ b/cv.yaml @@ -0,0 +1,90 @@ +name: + first: Jessica + last: King +address: + - 131 Birch Hill Pvt + - Ottawa + - Ontario + - Canada + - K1K 3Y5 +phone: + mobile: '+1 613 868 9455' +email: 'jessking@live.ca' + +short: >- + Seeking work experience to leverage my educational experience in Human + Resource Management. I pride myself on my professionalism and ability to + function as a cohesive team member, completing tasks with the utmost rigour. + References available upon request. + +employments: + - company: Aramark + location: Ottawa + title: Barista / Cashier + dates: 2023--current + summary: >- + Managed cashier and barista duties while working in a fast-paced + environment in charge of maintaining cleanliness and restocking of + beverages and food items. Responsible for locking up at end of day. + - company: Rover + location: Ottawa + title: Self-employed Dog Walker + dates: 2017--2019 + summary: >- + Maintained a roster of regular clients, which involved marketing the + business, conducting initial consultations to gather information and note + any special instructions or limitations, and scheduling appointments. + Developed strong organization and time management skills to ensure + flexibility and reliability for clients. + - company: McDonald's + location: Cambridge + title: Service Representative + dates: 2015--2017 + summary: >- + Managed the front counter and dining area. Maintained high standards of + customer service during high-volume, fast-paced operations. + - company: Wilfred Laurier University Fresh Food Company (Aramark) + location: Waterloo + title: Part-time Food Service Worker + dates: 2013--2017 + summary: >- + Performed a range of services related to the food industry, from cashier + to food preparation. + +academics: + - degree: Bachelor of Arts + institution: University of Waterloo + location: Waterloo + dates: October 2022 + awards: + - St. Jerome's Founders Scholarship + courses: + - Accounting Information for Managers + - Strategic Human Resources Management + - Compensation + - Training and Development + - Personnel Psychology + - degree: Highschool diploma + institution: Monsignor Doyle Catholic Secondary School + location: Cambridge + dates: 2010--2012 + +categories: + Software Skills: + - Microsoft Office Suite (advanced familiarity with Excel and Word) + - Microsoft SharePoint + Technical Skills: + - HTML/CSS Programming + - Linux operating systems + Languages: + - Basic French + Canine Psychology: + - Dog Guides of Canada volunteer (2004-2017) + +references: + - name: Sandra Wilson + role: Aramark supervisor + number: '+1 519 505 3459' + - name: Chris George + role: McDonald's supervisor + number: '+1 519 591 4958' diff --git a/render.py b/render.py new file mode 100755 index 0000000..ea31b3a --- /dev/null +++ b/render.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 + +import json +import sys +from mako.template import Template + +if __name__ == '__main__': + print(Template(filename=sys.argv[1]).render(**json.load(sys.stdin)))