True client/server refactor
This commit is contained in:
parent
7d70e0ecfd
commit
5c63ee2049
@ -1,121 +0,0 @@
|
||||
# {{CandidateName}} Candidate Information Sheet
|
||||
|
||||
## Introduction
|
||||
|
||||
Hello,
|
||||
|
||||
I apologize for the form letter response.
|
||||
|
||||
I receive a high volume of recruiter emails every day and I've found this letter to be the most efficient way to
|
||||
handle the high volume of emails and reduce back and forth emails/texts/calls.
|
||||
|
||||
If you have any questions/comments/concerns not covered by this document, please let me know via e-mail and I'm happy to address them!
|
||||
|
||||
If you ask me something answered in this document, I will not respond and will not move forward with the opportunity, so please read it in detail!
|
||||
|
||||
## Re: share my ID over email
|
||||
|
||||
I WILL NOT share my (full or redacted) photo ID over email or any other electronic written
|
||||
communication. If that is "required" then I have no interest in moving forward with this opportunity.
|
||||
|
||||
I am happy to get on a teams/zoom/google meet etc call and show my ID.
|
||||
|
||||
## Re: professional references
|
||||
|
||||
I am happy to provide professional references once an interview with the end client/customer/hiring manager/team has been scheduled. I will NOT provide references up front. If that is "required" then I have no interest in moving forward with this opportunity.
|
||||
|
||||
## Re: relocation
|
||||
|
||||
if the role is not based in **{{CandidateLocation}}** or **Other Location** I will need to re-locate
|
||||
|
||||
| Question | Answer |
|
||||
|-------------------------------------------|--------|
|
||||
| Am I open to relocation? | Yes |
|
||||
| Am I willing to re-locate at own expense? | No |
|
||||
| Am I open to up to 100% travel | Yes |
|
||||
|
||||
Please be aware that:
|
||||
|
||||
- I will **only re-locate at the employer expense**.
|
||||
- I will need **two weeks of time** to re-locate.
|
||||
- The net amount of the re-location benefit **MUST be at least {{CandidateRelocationNetMinimumAmount}}** to fully compensate me for the time/effort to re-locate.
|
||||
- The full re-location benefit **must be provided prior to the confirmed start date**.
|
||||
- I **will NOT** accept a reimbursement based re-location package.
|
||||
- I am happy to come onsite (at client expense (paid up front)) for training/orientation etc.
|
||||
|
||||
\pagebreak
|
||||
|
||||
## Rate Schedule (compensation expectations)
|
||||
|
||||
### Fully remote roles
|
||||
|
||||
I have a **very strong** preference for fully remote roles.
|
||||
|
||||
I am open to (at the absolute bottom of my range):
|
||||
|
||||
- **{{CandidateRateSheetRemoteW2HourlyMinimum}}** per hour(w2)
|
||||
- **{{CandidateRateSheetRemoteW2AnnualMinimum}}** annually
|
||||
- **{{CandidateRateSheetRemote1099HourlyMinimum}}** per hour (1099/corp to corp)
|
||||
|
||||
I have a strong preference for roles that are :
|
||||
|
||||
- **{{CandidateRateSheetRemoteW2HourlyPrefer}}** per hour(w2) or more
|
||||
- **{{CandidateRateSheetRemoteW2AnnualPrefer}}** annually or more
|
||||
- **{{CandidateRateSheetRemote1099HourlyPrefer}}** per hour (1099/corp to corp) or more
|
||||
|
||||
### On-site/hybrid roles
|
||||
|
||||
- **{{CandidateRateSheetRemoteW2HourlyPrefer}}** per hour(w2) or more
|
||||
- **{{CandidateRateSheetRemoteW2AnnualPrefer}}** annually or more
|
||||
- **{{CandidateRateSheetRemote1099HourlyPrefer}}** per hour (1099/corp to corp) or more
|
||||
|
||||
In regards to compensation type, I am open to:
|
||||
|
||||
- w2
|
||||
- corp to corp (I have my own LLC)
|
||||
- 1099
|
||||
|
||||
If you have a rate for any of the compensation options above, send them all. I will pick which one works best for my situation and the opportunity.
|
||||
|
||||
If it's a different rate with/without benefits, send both.
|
||||
|
||||
If the above is in alignment with this opportunity, please feel free to send me an RTR with the best rate you can offer.
|
||||
|
||||
\pagebreak
|
||||
|
||||
## Details needed for submission
|
||||
|
||||
### My resume
|
||||
|
||||
[Download Candidate resume(format)](https://some.resume.somewhere/some-Resume.pdf)
|
||||
|
||||
I am happy to discuss and make edits to the resume content specific to the opportunity if you feel they are needed.
|
||||
|
||||
### Candidate details
|
||||
|
||||
Here are my complete candidate details for submission to the role.
|
||||
|
||||
| Question | Answer |
|
||||
|---------------------------------------|-------------------------------------|
|
||||
| Full name | {{CandidateName}} |
|
||||
| E-mail address | {{CandiateEmail}} |
|
||||
| Phone number | {{CandidatePhone}} |
|
||||
| Preferred form of contact | {{CandidatePreferredContactMethod}} |
|
||||
| Work authorization | {{CandidateWorkAuthorization}} |
|
||||
| Are you employed presently? | {{CandidateEmploymentStatus}} |
|
||||
| Current location | {{CandidateCurrentLocation}} |
|
||||
| Current timezone | {{CandidateCurrentTimezone}} |
|
||||
| Timezones I can work in | {{CandidateWorkableTimezones}} |
|
||||
| Availability to interview | {{CandidateInterviewAvailability}} |
|
||||
| Availability to start | {{CandidateStartAvailability}} |
|
||||
| Highest Education | {{CandidateHighestEducation}} |
|
||||
| Graduated Year | {{CandidateGraduationYear}} |
|
||||
| Name of school | {{CandidateSchoolName}} |
|
||||
| Location of school | {{CandidateSchoolLocation}} |
|
||||
| Linkedin Profile | ({{CandidateLinkedin}}) |
|
||||
| Github Profile | ({{CandidateGithub}}) |
|
||||
| Last project | {{CandidateLastProject}} |
|
||||
| DOB | {{CandidateDOB}} |
|
||||
| Total IT/career experience | {{CandidateTotalExperience}} |
|
||||
| Open to in-office/hybrid/remote | Yes |
|
||||
| Any trips planned in next six months? | No |
|
@ -1,4 +0,0 @@
|
||||
{{CandidateName}}
|
||||
=====
|
||||
|
||||
{{CandidateOneLinerSummary}}
|
@ -1,6 +0,0 @@
|
||||
{{CandidateName}}
|
||||
=====
|
||||
|
||||
{{CandidateOneLinerSummary}}
|
||||
|
||||
[ [Github Profile]({{CandidateGithub}}) ] . [ [Linkedin Profile]({{CandidateLinkedin}}) ] . [ {{CandidateEmail}} ] . [ {{CandidatePhone}} ] . [ {{CandidateLocation}} ]
|
@ -1,3 +0,0 @@
|
||||
- Stuff
|
||||
- Things
|
||||
- Amazing project!
|
@ -1,3 +0,0 @@
|
||||
- Stuff
|
||||
- Things
|
||||
- Amazing project!
|
@ -1,2 +0,0 @@
|
||||
- Cool project 1.
|
||||
- cool project 2.
|
@ -1,2 +0,0 @@
|
||||
skill1|1 years|skill,1,details,and,stuff
|
||||
skill2|2 years|skill2,2,details,and,stuff,and,things
|
|
@ -1,2 +0,0 @@
|
||||
job1,Title of job 1,January 1 1970 - January 6 1980
|
||||
job2,Title of Job 2,January 1 1970 - January 6 1980
|
|
@ -1,4 +0,0 @@
|
||||
title,date,awarder,summary
|
||||
Outstanding Achievement Award,2014-11-01,Tech Company Inc,Excellence in software architecture and team leadership
|
||||
Innovation Prize,2016-03-15,Industry Association,Breakthrough development in cloud infrastructure
|
||||
Open Source Contributor Award,2018-06-30,GitHub,Significant contributions to developer tools and libraries
|
|
@ -1,5 +0,0 @@
|
||||
name,keywords
|
||||
Gardening,Lazy Gardening
|
||||
Music,Guitar|Singing|Dancing
|
||||
Books,Reading|Writing|History
|
||||
Open Source,All of it
|
|
@ -1,2 +0,0 @@
|
||||
language,fluency
|
||||
English,Native speaker
|
|
@ -1,2 +0,0 @@
|
||||
name,publisher,releaseDate,url,summary
|
||||
Advanced JavaScript Techniques,Tech Books Publishing,2019-08-01,http://techbookspublishing.com/advanced-javascript,A comprehensive guide to modern JavaScript development.
|
|
@ -1,4 +0,0 @@
|
||||
name,level,keywords
|
||||
Frontend,Senior,HTML / JSX|SCSS / CSS / BEM / Styled Components|Javascript / Typescript|React / Next|Redux / Apollo
|
||||
Backend,Senior,Node|Ruby|Python|Postgres|Redis|Serverless
|
||||
Devops,Senior,AWS|G Cloud|Heroku|Caching
|
|
@ -1,2 +0,0 @@
|
||||
organization,position,url,startDate,summary,highlights
|
||||
Open Source Project,Contributor,http://opensourceproject.com,2016-01-01,Contributing to open source projects to improve software quality.,Fixed critical bugs and added new features.|Mentored new contributors.
|
|
@ -1,4 +0,0 @@
|
||||
name,position,url,startDate,endDate,summary,highlights
|
||||
Company,President,https://company.com,2013-01-01,2014-01-01,Description...,Started the company
|
||||
Google,Senior Engineer,https://google.com,2014-01-01,2016-06-30,Led frontend infrastructure.,Launched major features|Mentored junior developers|Improved build system
|
||||
Startup Inc,CTO,https://startup.com,2016-07-01,,Building next-gen tech.,Grew team to 20 engineers|Architected core platform|Secured Series A funding
|
|
@ -1 +0,0 @@
|
||||
Working directory for the pipeline. Don't use.
|
@ -1 +0,0 @@
|
||||
Working directory for the pipeline. Don't use.
|
@ -1,14 +0,0 @@
|
||||
title: "{{CandidateName}} Candidate Information Sheet"
|
||||
titlepage: true
|
||||
titlepage-logo: "{{CandidateLogo}}"
|
||||
toc: true
|
||||
toc-own-page: true
|
||||
date: \today
|
||||
header-left: "\\hspace{1cm}"
|
||||
header-center: "\\leftmark"
|
||||
header-right: "Page \\thepage"
|
||||
footer-left: "{{CandidateName}}"
|
||||
footer-center: "{{CandidateTagline}}"
|
||||
footer-right: "[Source code]({{SourceCode}})"
|
||||
urlcolor: {{URLCOLOR}}
|
||||
page-background: "{{PAGEBACKGROUND}}"
|
@ -1,7 +0,0 @@
|
||||
title: "{{CandidateName}} Resume"
|
||||
header-left: "\\hspace{1cm}"
|
||||
header-center: "\\leftmark"
|
||||
header-right: "Page \\thepage"
|
||||
footer-left: "{{CandidateName}}"
|
||||
urlcolor: {{URLCOLOR}}
|
||||
page-background: "{{PAGEBACKGROUND}}"
|
@ -1,12 +0,0 @@
|
||||
title: "{{CandidateName}} Resume"
|
||||
titlepage: true
|
||||
titlepage-logo: "{{CandidateLogo}}"
|
||||
date: \today
|
||||
header-left: "\\hspace{1cm}"
|
||||
header-center: "\\leftmark"
|
||||
header-right: "Page \\thepage"
|
||||
footer-left: "{{CandidateName}}"
|
||||
footer-center: "{{CandidateTagline}}"
|
||||
footer-right: "[Source code]({{SourceCode}})"
|
||||
urlcolor: {{URLCOLOR}}
|
||||
page-background: "{{PAGEBACKGROUND}}"
|
@ -1,77 +0,0 @@
|
||||
###################################################
|
||||
# Modify these values to suit
|
||||
###################################################
|
||||
|
||||
########################
|
||||
# Contact info
|
||||
########################
|
||||
|
||||
export CandidateName="First Middle Last"
|
||||
export CandidatePhone="1 123 456 7890"
|
||||
export CandidateRole="Jack of all trades"
|
||||
export CandidateLocation="Place 1/Place 2"
|
||||
export CandidateCity="City"
|
||||
export CandidateCountry="Country"
|
||||
export CandidateZipCode="Zip"
|
||||
export CandidateSkypeID="SkypeID"
|
||||
export CandidateEmail="candidate@domain.com"
|
||||
export CandidateAvatar="URLTOAVATAR"
|
||||
export CandidateWebsite="URLTOCANDIDATEWEbSITE"
|
||||
|
||||
########################
|
||||
# Profile information
|
||||
########################
|
||||
|
||||
export CandidateTagline="Your.Tagline.Here."
|
||||
export CandidateOneLineSummary="Super awesome and stuff."
|
||||
export CandidateLinkedin="https://www.linkedin.com/in/ab1"
|
||||
export CandidateGithubUsername="ghuser"
|
||||
export CandidateTwitterUsername="twxuser"
|
||||
|
||||
##########################################
|
||||
# Layout/title page /formatting options
|
||||
##########################################
|
||||
|
||||
export CandidateLogo=""
|
||||
export SourceCode="https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline"
|
||||
export URLCOLOR="blue"
|
||||
export PAGEBACKGROUND="./background3.pdf"
|
||||
export JSONRESUME_THEME="professional"
|
||||
|
||||
##########################
|
||||
# Candidate info sheet
|
||||
##########################
|
||||
|
||||
export CandidatePreferredContactMethod="Email will get the fastest response."
|
||||
export CandidateWorkAuthorization="US Citizen"
|
||||
export CandidateEmploymentStatus="Not currently employed"
|
||||
export CandidateCurrentLocation="City,State,Country etc"
|
||||
export CandidateCurrentTimezone="Timezone"
|
||||
export CandidateWorkableTimezones="Timezones"
|
||||
export CandidateInterviewAvailability="Sometime"
|
||||
export CandidateStartAvailability="Sometime"
|
||||
export CandidateHighestEducation="Some education level"
|
||||
export CandidateGraduationYear="Graduation year"
|
||||
export CandidateSchoolName="School name"
|
||||
export CandidateSchoolLocation="School location"
|
||||
export CandidateLastProject="Last project"
|
||||
export CandidateDOB="MM/DD"
|
||||
export CandidateTotalExperience="epoch"
|
||||
|
||||
|
||||
########################
|
||||
#Compensation targets
|
||||
########################
|
||||
|
||||
export CandidateRelocationNetMinimumAmount="1,987.11"
|
||||
|
||||
export CandidateRateSheetRemoteW2HourlyMinimum="\$12.34"
|
||||
export CandidateRateSheetRemoteW2AnnualMinimum="\$123,456.00"
|
||||
export CandidateRateSheetRemote1099HourlyMinimum="\$56.78"
|
||||
|
||||
export CandidateRateSheetRemoteW2HourlyPrefer="\$34.56"
|
||||
export CandidateRateSheetRemoteW2AnnualPrefer="\$321,987.00"
|
||||
export CandidateRateSheetRemote1099HourlyPrefer="\$78.90"
|
||||
|
||||
export CandidateCertifications=""
|
||||
export CandidateReferences=""
|
Binary file not shown.
@ -1,329 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
#####################################################################################################
|
||||
#JSON Resume
|
||||
#####################################################################################################
|
||||
|
||||
export BUILD_OUTPUT_DIR="../build-output/JSONResume/"
|
||||
export JSON_TEMPLATE_DIRECTORY="../Templates/JSONResume/"
|
||||
|
||||
|
||||
###################################################################
|
||||
# Modify the CandiateVariables.env file to refelct your information
|
||||
###################################################################
|
||||
###################################################
|
||||
|
||||
source "./CandidateVariables.env"
|
||||
|
||||
####################################################
|
||||
####################################################
|
||||
####################################################
|
||||
#DO NOT CHANGE ANYTHING BELOW THIS LINE
|
||||
####################################################
|
||||
####################################################
|
||||
####################################################
|
||||
|
||||
add_header()
|
||||
|
||||
{
|
||||
|
||||
echo "{" > $BUILD_OUTPUT_DIR/resume.json
|
||||
|
||||
}
|
||||
|
||||
add_meta_section()
|
||||
|
||||
{
|
||||
|
||||
cat << META >> $BUILD_OUTPUT_DIR/resume.json
|
||||
"meta": {
|
||||
"theme": "$JSONRESUME_THEME"
|
||||
},
|
||||
META
|
||||
|
||||
}
|
||||
|
||||
add_basics_section()
|
||||
|
||||
{
|
||||
|
||||
cat << BASICS >> $BUILD_OUTPUT_DIR/resume.json
|
||||
"basics": {
|
||||
"name": "$CandidateName",
|
||||
"phone": "$CandidatePhone",
|
||||
"label": "$CandidateRole",
|
||||
"image": "$CandidateAvatar",
|
||||
"summary": "$CandidateOneLineSummary",
|
||||
"website": "$CandidateWebsite",
|
||||
"url": "https://lordajax.com",
|
||||
"email": "$CandidateEmail",
|
||||
"location": {
|
||||
"city": "$CandidateLocation",
|
||||
"countryCode": "$CandidateCountry"
|
||||
},
|
||||
},
|
||||
BASICS
|
||||
|
||||
}
|
||||
|
||||
add_work_section()
|
||||
{
|
||||
|
||||
local input_file=$JSON_TEMPLATE_DIRECTORY/work.csv
|
||||
cat << 'WORK_START'
|
||||
"work": [
|
||||
WORK_START
|
||||
awk -F, 'NR>1 {
|
||||
printf " {\n"
|
||||
printf " \"name\": \"%s\",\n", $1
|
||||
printf " \"position\": \"%s\",\n", $2
|
||||
printf " \"url\": \"%s\",\n", $3
|
||||
printf " \"startDate\": \"%s\",\n", $4
|
||||
if ($5 != "") printf " \"endDate\": \"%s\",\n", $5
|
||||
printf " \"summary\": \"%s\",\n", $6
|
||||
printf " \"highlights\": [\n \"%s\"\n ]\n", gensub(/\|/, "\",\n \"", "g", $7)
|
||||
printf " }%s\n", (NR==NR?"":",")
|
||||
}' "$input_file"
|
||||
cat << 'WORK_END'
|
||||
],
|
||||
WORK_END
|
||||
|
||||
}
|
||||
|
||||
add_volunteer_section()
|
||||
|
||||
{
|
||||
|
||||
local input_file="$JSON_TEMPLATE_DIRECTORY/volunteer.csv"
|
||||
cat << 'VOLUNTEER_START' >> $BUILD_OUTPUT_DIR/resume.json
|
||||
"volunteer": [
|
||||
VOLUNTEER_START
|
||||
|
||||
awk -F, 'NR>1 {
|
||||
printf " {\n"
|
||||
printf " \"organization\": \"%s\",\n", $1
|
||||
printf " \"position\": \"%s\",\n", $2
|
||||
printf " \"url\": \"%s\",\n", $3
|
||||
printf " \"startDate\": \"%s\",\n", $3
|
||||
printf " \"endDate\": \"%s\",\n", $3
|
||||
printf " \"summary\": \"%s\"\n", $4
|
||||
printf " \"highlights\": ["
|
||||
printf " " $7
|
||||
printf " ]"
|
||||
printf " }%s\n", (NR==NR?"":",")
|
||||
}' "$input_file"
|
||||
cat << 'VOLUNTEER_END'
|
||||
],
|
||||
VOLUNTEER_END
|
||||
|
||||
}
|
||||
|
||||
add_awards_section()
|
||||
|
||||
{
|
||||
|
||||
local input_file=$JSON_TEMPLATE_DIRECTORY/awards.csv
|
||||
cat << 'AWARDS_START' >> $BUILD_OUTPUT_DIR/resume.json
|
||||
"awards": [
|
||||
AWARDS_START
|
||||
awk -F, 'NR>1 {
|
||||
printf " {\n"
|
||||
printf " \"title\": \"%s\",\n", $1
|
||||
printf " \"date\": \"%s\",\n", $2
|
||||
printf " \"awarder\": \"%s\",\n", $3
|
||||
printf " \"summary\": \"%s\"\n", $4
|
||||
printf " }%s\n", (NR==NR?"":",")
|
||||
}' "$input_file"
|
||||
cat << 'AWARDS_END'
|
||||
],
|
||||
AWARDS_END
|
||||
}
|
||||
|
||||
|
||||
add_publications_section()
|
||||
|
||||
{
|
||||
|
||||
local input_file=$JSON_TEMPLATE_DIRECTORY/publications.csv
|
||||
cat << 'PUBLICATIONS_START' >> $BUILD_OUTPUT_DIR/resume.json
|
||||
"publications": [
|
||||
PUBLICATIONS_START
|
||||
awk -F, 'NR>1 {
|
||||
printf " {\n"
|
||||
printf " \"name\": \"%s\",\n", $1
|
||||
printf " \"publisher\": \"%s\",\n", $2
|
||||
printf " \"releaseDate\": \"%s\",\n", $3
|
||||
printf " \"url\": \"%s\",\n", $4
|
||||
printf " \"summary\": \"%s\"\n", $5
|
||||
printf " }%s\n", (NR==NR?"":",")
|
||||
}' "$input_file"
|
||||
cat << 'PUBLICATIONS_END'
|
||||
],
|
||||
PUBLICATIONS_END
|
||||
|
||||
}
|
||||
|
||||
add_volunteer_section()
|
||||
|
||||
{
|
||||
|
||||
local input_file=$JSON_TEMPLATE_DIRECTORY/volunteer.csv
|
||||
cat << 'VOLUNTEER_START' >> $BUILD_OUTPUT_DIR/resume.json
|
||||
"volunteer": [
|
||||
VOLUNTEER_START
|
||||
awk -F, 'NR>1 {
|
||||
printf " {\n"
|
||||
printf " \"organization\": \"%s\",\n", $1
|
||||
printf " \"position\": \"%s\",\n", $2
|
||||
printf " \"url\": \"%s\",\n", $3
|
||||
printf " \"startDate\": \"%s\",\n", $4
|
||||
printf " \"summary\": \"%s\",\n", $5
|
||||
printf " \"highlights\": [\n \"%s\"\n ]\n", gensub(/\|/, "\",\n \"", "g", $6)
|
||||
printf " }%s\n", (NR==NR?"":",")
|
||||
}' "$input_file"
|
||||
cat << 'VOLUNTEER_END'
|
||||
],
|
||||
VOLUNTEER_END
|
||||
|
||||
}
|
||||
|
||||
add_skills_section()
|
||||
|
||||
{
|
||||
|
||||
local input_file="$JSON_TEMPLATE_DIRECTORY/skills.csv"
|
||||
cat << 'SKILLS_START' >> $BUILD_OUTPUT_DIR/resume.json
|
||||
"skills": [
|
||||
SKILLS_START
|
||||
awk -F, 'NR>1 {
|
||||
printf " {\n"
|
||||
printf " \"keywords\": [\n \"%s\"\n ],\n", gensub(/\|/, "\",\n \"", "g", $3)
|
||||
printf " \"level\": \"%s\",\n", $2
|
||||
printf " \"name\": \"%s\"\n", $1
|
||||
printf " }%s\n", (NR==NR?"":",")
|
||||
}' "$input_file"
|
||||
cat << 'SKILLS_END'
|
||||
],
|
||||
SKILLS_END
|
||||
|
||||
}
|
||||
|
||||
add_education_section()
|
||||
|
||||
{
|
||||
|
||||
local input_file="$JSON_TEMPLATE_DIRECTORY/education.csv"
|
||||
cat << 'EDUCATION_START' >> $BUILD_OUTPUT_DIR/resume.json
|
||||
"education": [
|
||||
EDUCATION_START
|
||||
awk -F, 'NR>1 {
|
||||
printf " {\n"
|
||||
printf " \"institution\": \"%s\",\n", $1
|
||||
if ($2 != "") printf " \"url\": \"%s\",\n", $2
|
||||
printf " \"area\": \"%s\",\n", $3
|
||||
printf " \"studyType\": \"%s\",\n", $4
|
||||
printf " \"startDate\": \"%s\",\n", $5
|
||||
printf " \"endDate\": \"%s\"", $6
|
||||
if ($7 != "") printf ",\n \"score\": \"%s\"", $7
|
||||
if ($8 != "") printf ",\n \"courses\": [\n \"%s\"\n ]", gensub(/\|/, "\",\n \"", "g", $8)
|
||||
printf "\n }%s\n", (NR==NR?"":",")
|
||||
}' "$input_file"
|
||||
cat << 'EDUCATION_END'
|
||||
],
|
||||
EDUCATION_END
|
||||
|
||||
}
|
||||
|
||||
add_languages_section()
|
||||
|
||||
{
|
||||
|
||||
local input_file="$JSON_TEMPLATE_DIRECTORY/languages.csv"
|
||||
cat << 'LANGUAGES_START' >> $BUILD_OUTPUT_DIR/resume.json
|
||||
"languages": [
|
||||
LANGUAGES_START
|
||||
awk -F, 'NR>1 {
|
||||
printf " {\n"
|
||||
printf " \"language\": \"%s\",\n", $1
|
||||
printf " \"fluency\": \"%s\"\n", $2
|
||||
printf " }%s\n", (NR==NR?"":",")
|
||||
}' "$input_file"
|
||||
cat << 'LANGUAGES_END'
|
||||
],
|
||||
LANGUAGES_END
|
||||
|
||||
}
|
||||
|
||||
add_interests_section()
|
||||
|
||||
{
|
||||
local input_file="$JSON_TEMPLATE_DIRECTORY/interests.csv"
|
||||
cat << 'INTERESTS_START' >> $BUILD_OUTPUT_DIR/resume.json
|
||||
"interests": [
|
||||
INTERESTS_START
|
||||
awk -F, 'NR>1 {
|
||||
printf " {\n"
|
||||
printf " \"name\": \"%s\",\n", $1
|
||||
printf " \"keywords\": [\n \"%s\"\n ]\n", gensub(/\|/, "\",\n \"", "g", $2)
|
||||
printf " }%s\n", (NR==NR?"":",")
|
||||
}' "$input_file"
|
||||
cat << 'INTERESTS_END'
|
||||
],
|
||||
INTERESTS_END
|
||||
|
||||
}
|
||||
|
||||
add_references_section()
|
||||
|
||||
{
|
||||
|
||||
local input_file="$JSON_TEMPLATE_DIRECTORY/references.csv"
|
||||
cat << 'REFERENCES_START' >> $BUILD_OUTPUT_DIR/resume.json
|
||||
"references": [
|
||||
REFERENCES_START
|
||||
awk -F, 'NR>1 {
|
||||
printf " {\n"
|
||||
printf " \"name\": \"%s\",\n", $1
|
||||
printf " \"reference\": \"%s\"\n", $2
|
||||
printf " }%s\n", (NR==NR?"":",")
|
||||
}' "$input_file"
|
||||
cat << 'REFERENCES_END'
|
||||
]
|
||||
REFERENCES_END
|
||||
|
||||
}
|
||||
|
||||
|
||||
add_footer()
|
||||
|
||||
{
|
||||
|
||||
echo "}" >> $BUILD_OUTPUT_DIR/resume.json
|
||||
|
||||
}
|
||||
|
||||
main()
|
||||
|
||||
{
|
||||
|
||||
add_header
|
||||
add_meta_section $JSON_TEMPLATE_DIRECTORY/meta.csv
|
||||
add_basics_section $JSON_TEMPLATE_DIRECTORY/basics.csv
|
||||
#add_profiles_section $JSON_TEMPLATE_DIRECTORY/profiles.csv
|
||||
#add_work_section $JSON_TEMPLATE_DIRECTORY/work.csv
|
||||
#add_volunteer_section $JSON_TEMPLATE_DIRECTORY/volunteer.csv
|
||||
#add_education-section $JSON_TEMPLATE_DIRECTORY/education.csv
|
||||
#add_awards_section $JSON_TEMPLATE_DIRECTORY/awards.csv
|
||||
#add_certificates_section $JSON_TEMPLATE_DIRECTORY/certificates.csv
|
||||
#add_publications_section $JSON_TEMPLATE_DIRECTORY/publications.csv
|
||||
#add_skills_section $JSON_TEMPLATE_DIRECTORY/skills.csv
|
||||
#add_languages_section $JSON_TEMPLATE_DIRECTORY/languages.csv
|
||||
#add_interests_section $JSON_TEMPLATE_DIRECTORY/interests.csv
|
||||
#add_references_section $JSON_TEMPLATE_DIRECTORY/references.csv
|
||||
#add_projects_section $JSON_TEMPLATE_DIRECTORY/projects.csv
|
||||
add_footer
|
||||
|
||||
}
|
||||
|
||||
|
||||
main
|
@ -1,212 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# This is a demo used for testing the build pipeline end to end in a self contained way.
|
||||
|
||||
# It's only used by developers of this repository for testing/validating changes.
|
||||
|
||||
# Your client repository has a build-pipeline-client.sh script and it uses
|
||||
# build-pipeline-server.sh, not this script.
|
||||
|
||||
###################################################################
|
||||
# Modify the CandiateVariables.env file to refelct your information
|
||||
###################################################################
|
||||
###################################################
|
||||
|
||||
source "./CandidateVariables.env"
|
||||
|
||||
####################################################
|
||||
####################################################
|
||||
####################################################
|
||||
#DO NOT CHANGE ANYTHING BELOW THIS LINE
|
||||
####################################################
|
||||
####################################################
|
||||
####################################################
|
||||
|
||||
############################################################
|
||||
# Setup globals
|
||||
############################################################
|
||||
|
||||
readonly MO_PATH="bash ../vendor/git.knownelement.com/ExternalVendorCode/mo/mo"
|
||||
readonly BUILD_OUTPUT_DIR="../build-output/MarkdownResume/"
|
||||
readonly BUILD_TEMP_DIR="../build-temp/MarkdownResume"
|
||||
readonly BUILDYAML_JOBBOARD="$BUILD_TEMP_DIR/JobBoard.yml"
|
||||
readonly BUILDYAML_CLIENTSUBMISSION="$BUILD_TEMP_DIR/ClientSubmission.yml"
|
||||
readonly BUILDYAML_CANDIDATEINFOSHEET="$BUILD_TEMP_DIR/CandidateInfoSheet.yml"
|
||||
|
||||
CandidateInfoSheetMarkdownOutputFile="$BUILD_OUTPUT_DIR/CandidateInfoSheet.md"
|
||||
CandidateInfoSheetPDFOutputFIle="$BUILD_OUTPUT_DIR/CandidateInfoSheet.pdf"
|
||||
|
||||
JobBoardMarkdownOutputFile="$BUILD_OUTPUT_DIR/job-board/Resume.md"
|
||||
JobBoardPDFOutputFile="$BUILD_OUTPUT_DIR/job-board/Resume.pdf"
|
||||
JobBoardMSWordOutputFile="$BUILD_OUTPUT_DIR/job-board/Resume.doc"
|
||||
|
||||
ClientSubmissionMarkdownOutputFile="$BUILD_OUTPUT_DIR/client-submission/Resume.md"
|
||||
ClientSubmissionPDFOutputFile="$BUILD_OUTPUT_DIR/client-submission//Resume.pdf"
|
||||
ClientSubmissionMSWordOutputFile="$BUILD_OUTPUT_DIR/client-submission/Resume.doc"
|
||||
|
||||
echo "Cleaning up from previous runs..."
|
||||
|
||||
rm $BUILDYAML_CANDIDATEINFOSHEET
|
||||
rm $CandidateInfoSheetMarkdownOutputFile
|
||||
rm $CandidateInfoSheetPDFOutputFIle
|
||||
|
||||
rm $BUILDYAML_JOBBOARD
|
||||
rm $JobBoardMarkdownOutputFile
|
||||
rm $JobBoardPDFOutputFile
|
||||
rm $JobBoardMSWordOutputFile
|
||||
|
||||
rm $BUILDYAML_CLIENTSUBMISSION
|
||||
rm $ClientSubmissionMarkdownOutputFile
|
||||
rm $ClientSubmissionPDFOutputFile
|
||||
rm $ClientSubmissionMSWordOutputFile
|
||||
|
||||
# Expand variables into rendered YAML files. These will be used by pandoc to create the output artifacts
|
||||
|
||||
$MO_PATH ./BuildTemplate-CandidateInfoSheet.yml > $BUILDYAML_CANDIDATEINFOSHEET
|
||||
$MO_PATH ./BuildTemplate-JobBoard.yml > $BUILDYAML_JOBBOARD
|
||||
$MO_PATH ./BuildTemplate-ClientSubmission.yml > $BUILDYAML_CLIENTSUBMISSION
|
||||
|
||||
echo "Creating candidate info sheet..."
|
||||
|
||||
$MO_PATH ../Templates/MarkdownResume/CandidateInfoSheet/CandidateInfoSheet.md > $CandidateInfoSheetMarkdownOutputFile
|
||||
|
||||
pandoc \
|
||||
"$CandidateInfoSheetMarkdownOutputFile" \
|
||||
--template eisvogel \
|
||||
--metadata-file="$BUILD_TEMP_DIR/CandidateInfoSheet.yml" \
|
||||
--from markdown \
|
||||
--to=pdf \
|
||||
--output $CandidateInfoSheetPDFOutputFIle
|
||||
|
||||
echo "Combining markdown files into single input file for pandoc..."
|
||||
|
||||
# Create contact info md file
|
||||
$MO_PATH ../Templates/MarkdownResume/ContactInfo/ContactInfo-JobBoard.md > $BUILD_TEMP_DIR/ContactInfo-JobBoard.md
|
||||
$MO_PATH ../Templates/MarkdownResume/ContactInfo/ContactInfo-ClientSubmit.md > $BUILD_TEMP_DIR/ContactInfo-ClientSubmit.md
|
||||
|
||||
#Pull in contact info
|
||||
cat $BUILD_TEMP_DIR/ContactInfo-JobBoard.md >> $JobBoardMarkdownOutputFile
|
||||
echo " " >> $JobBoardMarkdownOutputFile
|
||||
|
||||
cat $BUILD_TEMP_DIR/ContactInfo-ClientSubmit.md >> $ClientSubmissionMarkdownOutputFile
|
||||
echo " " >> $ClientSubmissionMarkdownOutputFile
|
||||
|
||||
echo "## Career Highlights" >> $JobBoardMarkdownOutputFile
|
||||
echo "## Career Highlights" >> $ClientSubmissionMarkdownOutputFile
|
||||
|
||||
cat ../Templates/MarkdownResume/SkillsAndProjects/Projects.md >> $JobBoardMarkdownOutputFile
|
||||
echo "\pagebreak" >> $JobBoardMarkdownOutputFile
|
||||
|
||||
cat ../Templates/MarkdownResume/SkillsAndProjects/Projects.md >> $ClientSubmissionMarkdownOutputFile
|
||||
echo "\pagebreak" >> $ClientSubmissionMarkdownOutputFile
|
||||
|
||||
echo " " >> $JobBoardMarkdownOutputFile
|
||||
echo "## Employment History" >> $JobBoardMarkdownOutputFile
|
||||
echo " " >> $JobBoardMarkdownOutputFile
|
||||
|
||||
echo " " >> $ClientSubmissionMarkdownOutputFile
|
||||
echo "## Employment History" >> $ClientSubmissionMarkdownOutputFile
|
||||
echo " " >> $ClientSubmissionMarkdownOutputFile
|
||||
|
||||
#And here we do some magic...
|
||||
#Pull in :
|
||||
|
||||
# employer
|
||||
# title
|
||||
# start/end dates of employment
|
||||
# long form position summary data from each position
|
||||
|
||||
IFS=$'\n\t'
|
||||
for position in \
|
||||
$(cat ../Templates/MarkdownResume/WorkHistory/WorkHistory.csv); do
|
||||
|
||||
COMPANY="$(echo $position|awk -F ',' '{print $1}')"
|
||||
TITLE="$(echo $position|awk -F ',' '{print $2}')"
|
||||
DATEOFEMPLOY="$(echo $position|awk -F ',' '{print $3}')"
|
||||
|
||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
||||
echo "**$COMPANY | $TITLE | $DATEOFEMPLOY**" >> $JobBoardMarkdownOutputFile
|
||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
||||
|
||||
echo "**$COMPANY | $TITLE | $DATEOFEMPLOY**" >> $ClientSubmissionMarkdownOutputFile
|
||||
echo " " >> "$ClientSubmissionMarkdownOutputFile"
|
||||
|
||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
||||
cat ../Templates/MarkdownResume/JobHistoryDetails/$COMPANY.md >> "$JobBoardMarkdownOutputFile"
|
||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
||||
|
||||
cat ../Templates/MarkdownResume/JobHistoryDetails/$COMPANY.md >> "$ClientSubmissionMarkdownOutputFile"
|
||||
echo " " >> "$ClientSubmissionMarkdownOutputFile"
|
||||
done
|
||||
|
||||
#Pull in my skills and generate a beautiful table.
|
||||
|
||||
echo "\pagebreak" >> $JobBoardMarkdownOutputFile
|
||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
||||
echo "## Skills" >> "$JobBoardMarkdownOutputFile"
|
||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
||||
|
||||
echo "\pagebreak" >> $ClientSubmissionMarkdownOutputFile
|
||||
echo " " >> "$ClientSubmissionMarkdownOutputFile"
|
||||
echo "## Skills" >> "$ClientSubmissionMarkdownOutputFile"
|
||||
echo " " >> "$ClientSubmissionMarkdownOutputFile"
|
||||
|
||||
#Table heading
|
||||
echo "|Skill|Experience|Skill Details|" >> $JobBoardMarkdownOutputFile
|
||||
echo "|---|---|---|" >> $JobBoardMarkdownOutputFile
|
||||
|
||||
echo "|Skill|Experience|Skill Details|" >> $ClientSubmissionMarkdownOutputFile
|
||||
echo "|---|---|---|" >> $ClientSubmissionMarkdownOutputFile
|
||||
|
||||
#Table rows
|
||||
IFS=$'\n\t'
|
||||
for skill in \
|
||||
$(cat ../Templates/MarkdownResume/SkillsAndProjects/Skills.csv); do
|
||||
SKILL_NAME="$(echo $skill|awk -F '|' '{print $1}')"
|
||||
SKILL_YEARS="$(echo $skill|awk -F '|' '{print $2}')"
|
||||
SKILL_DETAIL="$(echo $skill|awk -F '|' '{print $3}')"
|
||||
echo "|**$SKILL_NAME**|$SKILL_YEARS|$SKILL_DETAIL|" >> $JobBoardMarkdownOutputFile
|
||||
echo "|**$SKILL_NAME**|$SKILL_YEARS|$SKILL_DETAIL|" >> $ClientSubmissionMarkdownOutputFile
|
||||
|
||||
done
|
||||
unset IFS
|
||||
|
||||
echo "Generating PDF output for job board version..."
|
||||
|
||||
pandoc \
|
||||
"$JobBoardMarkdownOutputFile" \
|
||||
--template eisvogel \
|
||||
--metadata-file="$BUILD_TEMP_DIR/JobBoard.yml" \
|
||||
--from markdown \
|
||||
--to=pdf \
|
||||
--output $JobBoardPDFOutputFile
|
||||
|
||||
echo "Generating MSWord output for job board version..."
|
||||
|
||||
pandoc \
|
||||
"$JobBoardMarkdownOutputFile" \
|
||||
--metadata-file="$BUILD_TEMP_DIR/JobBoard.yml" \
|
||||
--from markdown \
|
||||
--to=docx \
|
||||
--reference-doc=resume-docx-reference.docx \
|
||||
--output $JobBoardMSWordOutputFile
|
||||
|
||||
echo "Generating PDF output for client submission version..."
|
||||
|
||||
pandoc \
|
||||
"$ClientSubmissionMarkdownOutputFile" \
|
||||
--template eisvogel \
|
||||
--metadata-file="$BUILD_TEMP_DIR/ClientSubmission.yml" \
|
||||
--from markdown \
|
||||
--to=pdf \
|
||||
--output $ClientSubmissionPDFOutputFile
|
||||
|
||||
echo "Generating MSWord output for client submission version..."
|
||||
|
||||
pandoc \
|
||||
"$ClientSubmissionMarkdownOutputFile" \
|
||||
--metadata-file="$BUILD_TEMP_DIR/ClientSubmission.yml" \
|
||||
--from markdown \
|
||||
--to=docx \
|
||||
--reference-doc=resume-docx-reference.docx \
|
||||
--output $ClientSubmissionMSWordOutputFile
|
@ -41,32 +41,32 @@ pandoc \
|
||||
echo "Combining markdown files into single input file for pandoc..."
|
||||
|
||||
# Create contact info md file
|
||||
$MO_PATH $PipelineClientWorkingDir/Templates/ContactInfo/ContactInfo-JobBoard.md > $BUILD_TEMP_DIR/ContactInfo-JobBoard.md
|
||||
$MO_PATH $PipelineClientWorkingDir/Templates/ContactInfo/ContactInfo-ClientSubmit.md > $BUILD_TEMP_DIR/ContactInfo-ClientSubmit.md
|
||||
$MO_PATH "$PipelineClientWorkingDir/Templates/ContactInfo/ContactInfo-JobBoard.md" > "$BUILD_TEMP_DIR/ContactInfo-JobBoard.md"
|
||||
$MO_PATH "$PipelineClientWorkingDir/Templates/ContactInfo/ContactInfo-ClientSubmit.md" > "$BUILD_TEMP_DIR/ContactInfo-ClientSubmit.md"
|
||||
|
||||
#Pull in contact info
|
||||
cat $BUILD_TEMP_DIR/ContactInfo-JobBoard.md >> $JobBoardMarkdownOutputFile
|
||||
echo " " >> $JobBoardMarkdownOutputFile
|
||||
cat $BUILD_TEMP_DIR/ContactInfo-JobBoard.md >> "$JobBoardMarkdownOutputFile"
|
||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
||||
|
||||
cat $BUILD_TEMP_DIR/ContactInfo-ClientSubmit.md >> $ClientSubmissionMarkdownOutputFile
|
||||
echo " " >> $ClientSubmissionMarkdownOutputFile
|
||||
echo " " >> "$ClientSubmissionMarkdownOutputFile"
|
||||
|
||||
echo "## Career Highlights" >> $JobBoardMarkdownOutputFile
|
||||
echo "## Career Highlights" >> $ClientSubmissionMarkdownOutputFile
|
||||
echo "## Career Highlights" >> "$JobBoardMarkdownOutputFile"
|
||||
echo "## Career Highlights" >> "$ClientSubmissionMarkdownOutputFile"
|
||||
|
||||
cat $PipelineClientWorkingDir/Templates/SkillsAndProjects/Projects.md >> $JobBoardMarkdownOutputFile
|
||||
cat $PipelineClientWorkingDir/Templates/SkillsAndProjects/Projects.md >> "$JobBoardMarkdownOutputFile"
|
||||
echo "\pagebreak" >> $JobBoardMarkdownOutputFile
|
||||
|
||||
cat $PipelineClientWorkingDir/Templates/SkillsAndProjects/Projects.md >> $ClientSubmissionMarkdownOutputFile
|
||||
echo "\pagebreak" >> $ClientSubmissionMarkdownOutputFile
|
||||
cat $PipelineClientWorkingDir/Templates/SkillsAndProjects/Projects.md >> "$ClientSubmissionMarkdownOutputFile"
|
||||
echo "\pagebreak" >> "$ClientSubmissionMarkdownOutputFile"
|
||||
|
||||
echo " " >> $JobBoardMarkdownOutputFile
|
||||
echo "## Employment History" >> $JobBoardMarkdownOutputFile
|
||||
echo " " >> $JobBoardMarkdownOutputFile
|
||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
||||
echo "## Employment History" >> "$JobBoardMarkdownOutputFile"
|
||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
||||
|
||||
echo " " >> $ClientSubmissionMarkdownOutputFile
|
||||
echo "## Employment History" >> $ClientSubmissionMarkdownOutputFile
|
||||
echo " " >> $ClientSubmissionMarkdownOutputFile
|
||||
echo " " >> "$ClientSubmissionMarkdownOutputFile"
|
||||
echo "## Employment History" >> "$ClientSubmissionMarkdownOutputFile"
|
||||
echo " " >> "$ClientSubmissionMarkdownOutputFile"
|
||||
|
||||
#And here we do some magic...
|
||||
#Pull in :
|
||||
@ -101,12 +101,12 @@ done
|
||||
|
||||
#Pull in my skills and generate a beautiful table.
|
||||
|
||||
echo "\pagebreak" >> $JobBoardMarkdownOutputFile
|
||||
echo "\pagebreak" >> "$JobBoardMarkdownOutputFile"
|
||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
||||
echo "## Skills" >> "$JobBoardMarkdownOutputFile"
|
||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
||||
|
||||
echo "\pagebreak" >> $ClientSubmissionMarkdownOutputFile
|
||||
echo "\pagebreak" >> "$ClientSubmissionMarkdownOutputFile"
|
||||
echo " " >> "$ClientSubmissionMarkdownOutputFile"
|
||||
echo "## Skills" >> "$ClientSubmissionMarkdownOutputFile"
|
||||
echo " " >> "$ClientSubmissionMarkdownOutputFile"
|
||||
@ -125,8 +125,8 @@ $(cat $PipelineClientWorkingDir/Templates/SkillsAndProjects/Skills.csv); do
|
||||
SKILL_NAME="$(echo $skill|awk -F '|' '{print $1}')"
|
||||
SKILL_YEARS="$(echo $skill|awk -F '|' '{print $2}')"
|
||||
SKILL_DETAIL="$(echo $skill|awk -F '|' '{print $3}')"
|
||||
echo "|**$SKILL_NAME**|$SKILL_YEARS|$SKILL_DETAIL|" >> $JobBoardMarkdownOutputFile
|
||||
echo "|**$SKILL_NAME**|$SKILL_YEARS|$SKILL_DETAIL|" >> $ClientSubmissionMarkdownOutputFile
|
||||
echo "|**$SKILL_NAME**|$SKILL_YEARS|$SKILL_DETAIL|" >> "$JobBoardMarkdownOutputFile"
|
||||
echo "|**$SKILL_NAME**|$SKILL_YEARS|$SKILL_DETAIL|" >> "$ClientSubmissionMarkdownOutputFile"
|
||||
|
||||
done
|
||||
unset IFS
|
||||
@ -139,7 +139,7 @@ pandoc \
|
||||
--metadata-file="$PipelineClientWorkingDir/build-temp/JobBoard.yml" \
|
||||
--from markdown \
|
||||
--to=pdf \
|
||||
--output $JobBoardPDFOutputFile
|
||||
--output "$JobBoardPDFOutputFile"
|
||||
|
||||
echo "Generating MSWord output for job board version..."
|
||||
|
||||
@ -149,7 +149,7 @@ pandoc \
|
||||
--from markdown \
|
||||
--to=docx \
|
||||
--reference-doc="$PipelineClientWorkingDir/build/resume-docx-reference.docx" \
|
||||
--output $JobBoardMSWordOutputFile
|
||||
--output "$JobBoardMSWordOutputFile"
|
||||
|
||||
echo "Generating PDF output for client submission version..."
|
||||
|
||||
@ -159,7 +159,7 @@ pandoc \
|
||||
--metadata-file="$PipelineClientWorkingDir/build-temp/ClientSubmission.yml" \
|
||||
--from markdown \
|
||||
--to=pdf \
|
||||
--output $ClientSubmissionPDFOutputFile
|
||||
--output "$ClientSubmissionPDFOutputFile"
|
||||
|
||||
echo "Generating MSWord output for client submission version..."
|
||||
|
||||
@ -169,7 +169,7 @@ pandoc \
|
||||
--from markdown \
|
||||
--to=docx \
|
||||
--reference-doc="$PipelineClientWorkingDir/build/resume-docx-reference.docx" \
|
||||
--output $ClientSubmissionMSWordOutputFile
|
||||
--output "$ClientSubmissionMSWordOutputFile"
|
||||
|
||||
|
||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user