Compare commits
69 Commits
518d02921d
...
v1.0
Author | SHA1 | Date | |
---|---|---|---|
2b63732480 | |||
7653fcd05b | |||
d4d01a9c8f | |||
ef2fae024f | |||
8fc853b309 | |||
098970d877 | |||
9ab05711f3 | |||
5f3d41f8cb | |||
8cd36acfeb | |||
cb2b0e87df | |||
259a7fe7e2 | |||
a7bd749c1a | |||
055e32abab | |||
2b38f0f053 | |||
dc741450df | |||
a3ebb66979 | |||
6c882fe7e7 | |||
5b1120db68 | |||
4d17933dd9 | |||
d0de9b5c6a | |||
d5bc7841f7 | |||
5444ef0bce | |||
37098ccd06 | |||
119e8dfc39 | |||
0ecf6f0526 | |||
f6744e3393 | |||
24827b2b84 | |||
63545d003b | |||
6fde94eb1d | |||
ad651b8d78 | |||
92fe354a3c | |||
bbf4749d7e | |||
4703d43798 | |||
f220f82bcd | |||
e8293103a6 | |||
01ab989465 | |||
d24c1f0d20 | |||
75e7df36a8 | |||
51f4d0dd74 | |||
45d81647f3 | |||
6e9c263c72 | |||
dc48181bd9 | |||
4aa476639c | |||
d0c8ee9256 | |||
556b54bfc3 | |||
ea121b0fbd | |||
f52d98f365 | |||
7cd4b4089a | |||
0f4cac91cc | |||
fae4c6a372 | |||
bb837aa5db | |||
1803bcb1ca | |||
5e455c763f | |||
ac8dd706f8 | |||
d68df9c5e1 | |||
7df269a401 | |||
af4876a447 | |||
e5cd5f4f79 | |||
70cd9780ed | |||
34b87aa38f | |||
806ed7b8c1 | |||
c8bbf4949a | |||
40c5b9b15f | |||
40afa5fd99 | |||
0aa8b59edf | |||
857a4af89a | |||
f99dc2a112 | |||
d5dd7515f2 | |||
ea3a252bed |
19
.gitignore
vendored
19
.gitignore
vendored
@@ -1,9 +1,10 @@
|
|||||||
local/build-output/client-submission/*.md
|
local/build-output/JSONResume/*.json
|
||||||
local/build-output/client-submission/*.pdf
|
local/build-output/MarkdownResume/*/*.doc
|
||||||
local/build-output/client-submission/*.doc
|
local/build-output/MarkdownResume/*/*.md
|
||||||
local/build-output/CandidateInfoSheet*
|
local/build-output/MarkdownResume/*/*.pdf
|
||||||
local/build-output/job-board/*.md
|
|
||||||
local/build-output/job-board/*.pdf
|
local/build-temp/MarkdownResume/*.yml
|
||||||
local/build-output/job-board/*.doc
|
local/build-temp/MarkdownResume/*.md
|
||||||
local/build-temp/*.yml
|
local/build-temp/MarkdownResume/*/*.md
|
||||||
local/build-temp/*.md
|
local/build-temp/MarkdownResume/*/*.pdf
|
||||||
|
local/build-temp/MarkdownResume/*/*.doc
|
26
README.md
26
README.md
@@ -1,15 +1,23 @@
|
|||||||
# MarkdownResume-Pipeline-ClientExample
|
# MarkdownResume-Pipeline-ClientExample
|
||||||
|
|
||||||
Example client repository for using the [MarkdownResume-Pipeline](https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline) vendored repository.
|
Example client repository for using the [MarkdownResume-Pipeline](https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline) resume building
|
||||||
|
microservice. The microservice is vendored into this repository.
|
||||||
|
|
||||||
## Quickstart
|
## Quickstart
|
||||||
|
|
||||||
I recommend doing these steps in order for efficency.
|
### Runtime Requirements
|
||||||
|
|
||||||
- Edit local/build/build-resume.sh and edit the values in the top section to refelct your information.
|
- Bash (this entire project was developed on msys2 on Windows 10)
|
||||||
- Edit local/Templates/WorkHistory/WorkHistory.csv
|
- Ensure you have pandoc installed and in your path.
|
||||||
- Create local/Templates/JobHistoryDetails/<position>.md to match the value in the first field of WorkHistory.csv
|
|
||||||
- Edit local/Templates/SkillsAndProjects/Projects.md
|
### Steps
|
||||||
- Edit local/Template/SkillsAndProjects/Skills.csv
|
|
||||||
- Edit local/Templates/CandidateInfoSheet.md
|
- Edit local/build/CandidateVariables.env to refelct your information.
|
||||||
- cd to the local/build directory and run bash build-resume.sh
|
- Edit local/Templates/MarkdownResume/WorkHistory/WorkHistory.csv
|
||||||
|
- Create and edit local/Templates/MarkdownResume/JobHistoryDetails/<position>.md to match the value in the first field of WorkHistory.csv
|
||||||
|
- Repeat as necessary for your job history.
|
||||||
|
- Edit local/Templates/MarkdownResume/SkillsAndProjects/Projects.md
|
||||||
|
- Edit local/Template/MarkdownResume/SkillsAndProjects/Skills.csv
|
||||||
|
- Edit local/Templates/MarkdownResume/CandidateInfoSheet.md
|
||||||
|
- cd to the local/build directory and run bash build-demo-markdown.sh
|
||||||
|
- Examine the PDF/MSWord output in local/build-output/*
|
||||||
|
3
local/Templates/JSONResume/awards.csv
Normal file
3
local/Templates/JSONResume/awards.csv
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# CSV File: awards.csv
|
||||||
|
# Columns: title,awarder,date,summary
|
||||||
|
Defender of the Internet,Fight For The Future,2014-10-02,"For my work against mass surveillance and building out civic tools for digital democracy."
|
Can't render this file because it has a wrong number of fields in line 2.
|
3
local/Templates/JSONResume/certificates.csv
Normal file
3
local/Templates/JSONResume/certificates.csv
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# CSV File: certificates.csv
|
||||||
|
# Columns: name,date,issuer,url
|
||||||
|
Certified Kubernetes Administrator,2021-05-01,Cloud Native Computing Foundation,http://certificates.com/kubernetes
|
|
3
local/Templates/JSONResume/education.csv
Normal file
3
local/Templates/JSONResume/education.csv
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
institution,url,area,studyType,startDate,endDate,score,courses
|
||||||
|
"The University of Queensland",,"Software Engineering (incomplete)","Bachelors","2008-02-12","2009-12-12",,
|
||||||
|
"University of Technology","http://universityoftechnology.com","Computer Science","Bachelor","2010-09-01","2014-06-30","3.8 GPA","CS101 - Introduction to Computer Science; CS201 - Data Structures and Algorithms; CS301 - Operating Systems"
|
|
6
local/Templates/JSONResume/interests.csv
Normal file
6
local/Templates/JSONResume/interests.csv
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# CSV File: interests.csv
|
||||||
|
# Columns: name,keywords
|
||||||
|
Gardening,"Lazy Gardening"
|
||||||
|
Music,"Guitar;Singing;Dancing"
|
||||||
|
Books,"Reading;Writing;History"
|
||||||
|
Open Source,"All of it"
|
Can't render this file because it has a wrong number of fields in line 2.
|
3
local/Templates/JSONResume/languages.csv
Normal file
3
local/Templates/JSONResume/languages.csv
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# CSV File: languages.csv
|
||||||
|
# Columns: language,fluency
|
||||||
|
English,Native speaker
|
|
5
local/Templates/JSONResume/profiles.csv
Normal file
5
local/Templates/JSONResume/profiles.csv
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# CSV File: profiles.csv
|
||||||
|
# Columns: username,url,network
|
||||||
|
ajaxdavis,https://twitter.com/ajaxdavis,twitter
|
||||||
|
thomasdavis,https://github.com/thomasdavis,github
|
||||||
|
|
|
3
local/Templates/JSONResume/publications.csv
Normal file
3
local/Templates/JSONResume/publications.csv
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# CSV File: publications.csv
|
||||||
|
# Columns: 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."
|
Can't render this file because it has a wrong number of fields in line 2.
|
6
local/Templates/JSONResume/references.csv
Normal file
6
local/Templates/JSONResume/references.csv
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# CSV File: references.csv
|
||||||
|
# Columns: reference,name
|
||||||
|
"Thomas was hired as a lead developer and, upon the leaving of our co-founder took over as CTO of Earbits. Thomas is, hands down, one of those A Players you hear of companies dying to hire. He is incredibly smart, not just at code but about everything from classical music to Chinese language and culture. Thomas is great to work with and, as a well established contributor to open source projects and several successful ventures, commands the respect of engineers at all levels. I would suggest doing anything you can to have him on your team.","Joey Flores, Co-founder and CEO of Earbits, Inc."
|
||||||
|
"I've had the great pleasure of working with Thomas for the past three years at Earbits, and on a few side projects. Two years ago our CTO left on a moment's notice, Thomas saved our company by quickly stepping up to fill this role. He has been with our company through thick and thin and made serious personal sacrifices in order to help the company during tough times. He is a phenomenal hacker and a true team player. Highly recommended!","Yotam Rosenbaum, SVP of Operations, Earbits, Inc."
|
||||||
|
"Thomas is an extremely talented engineer with a very broad range of skills and experience. From being a thought leader in the front-end community via backbonetutorials.com and cdnjs.com, to designing and implementing the API for cdnjs.com, working with Thomas has been fantastic learning experience. Thomas is truly a full stack develop, and his work output is incredible. If there is any opportunity to work with Thomas, I take it. He is the definition of an A player.","Ryan Kirkman, Senior Software Engineer at Nerdwallet"
|
||||||
|
"On Thomas Davis... Hire this guy. Do not be fooled. Incredibly capable and fast. Plays well with others. Unbelievable at front-end work end programming but that is just the start. Visionary. Hire him before I do.","Greg Davis"
|
Can't render this file because it has a wrong number of fields in line 2.
|
5
local/Templates/JSONResume/skills.csv
Normal file
5
local/Templates/JSONResume/skills.csv
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# CSV File: skills.csv
|
||||||
|
# Columns: 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"
|
Can't render this file because it has a wrong number of fields in line 2.
|
5
local/Templates/JSONResume/volunteer.csv
Normal file
5
local/Templates/JSONResume/volunteer.csv
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# CSV File: volunteer.csv
|
||||||
|
# Columns: 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."
|
||||||
|
|
||||||
|
add_vo
|
Can't render this file because it has a wrong number of fields in line 2.
|
13
local/Templates/JSONResume/work.csv
Normal file
13
local/Templates/JSONResume/work.csv
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# CSV File: work.csv
|
||||||
|
# Columns: name,position,location,website,startDate,endDate,summary,highlights
|
||||||
|
Misc Companies,Product Engineer,Melbourne,https://lordajax.com/,2020-05-05,,"Over the past several years, I've worked at various roles and companies. Mostly early stage startups, doing full stack product development.","React / Next;Node / Laravel;LLM's;Diagrams / Canvas"
|
||||||
|
Tokenized,Senior Javascript Developer,Melbourne,https://tokenized.com/,2020-05-05,2021-05-05,"Tokenized is a Bitcoin wallet for issuing, managing and trading digital tokens. I built out the front end which was packaged as an electron app. It was a difficult frontend to build because we store the users keys locally and used them to sign transactions and contracts.","React;Redux;SCSS;Product"
|
||||||
|
Blockbid,Senior Javascript Developer,Melbourne,https://platform.blockbid.io,2018-03-01,2020-01-01,"Blockbid is an Australian crypto currency exchange. I started off on the frontend but eventually became lead tech and worked on every moving piece of the exchange. I really enjoyed working with liquidity providers and connecting their platforms to help us achieve liquid markets.","React, Apollo, Styled Components;Node.js / Rails;Docker / Heroku / GCP;Used Figma for design and UX work;Optimizing markets with tens of millions of rows using SQL."
|
||||||
|
Listium,Developer,,https://listium.com,2016-01-01,2018-01-01,"Built a very large and complex React / Redux application. It works on all platforms and has IOS/Android builds due to it being a PWA. (wrapped it in React Native though only implementing a WebView)","Worked with Postgres, Redis and Dynamodb for storage.;Hosted on a mixture of Heroku Apps and EC2 servers.;Caching by Fastly and Cloudflare;Hybrid app supported on all platforms"
|
||||||
|
Electronic Frontier Foundation,Developer,,http://www.eff.org,2014-04-01,2016-01-01,"Hired to take EFF's campaigning to the next level by building an action centre in Ruby on Rails. The action centre is built around some large open source tools that lower the barrier to entry when contacting congress.","Developed new tools for contacting congress;Brainstormed campaign ideas to raise maximum awareness about issues;Lots of social networking integration"
|
||||||
|
Earbits,CTO,,http://www.earbits.com,2013-03-08,2015-01-09,"Started off as a front end developer but took on the role of CTO in early 2013. The application frontend is built with Javascript and organized as a single page application that talks to a collection of Rails web servers which are connected to MongoDB.","Managed a small team of developers and designers;Built the entire frontend application with Backbone.js;Transferred all of the infrastructure from Heroku to AWS"
|
||||||
|
JSON Resume,Founder,,http://jsonresume.org,2014-04-01,,"JSON Resume is a community driven open source initiative to create a JSON based standard for resumes. There is no reason why there can't be a common standard for writing a resume that can be extended with an ecosystem of open source tools.","This resume is built with JSON Resume;Over 3000 stars on Github;Community developed themes;Tens of thousands of users"
|
||||||
|
Taskforce.is,Developer,,http://www.taskforce.is,2013-06-01,2016-01-01,"Worked on many politically charged campaigns against mass surveillance. Not only technically challenging work but also a lot of networking and getting my hands dirty with politics. Our biggest project was \"TheDayWeFightBack\"..","Generated 37,000,000 banner views;100, 000 phone calls to congress;500, 000 emails;250, 000 signatures"
|
||||||
|
Drone Hire,Co-Founder,,http://www.dronehire.org,2013-01-01,,"An international directory of civilian drone / UAV operators for hire. Services include aerial photography, aerial video, mapping, surveying, precision agriculture, real estate photography, remote inspections and infrared imaging. Our plan is to be the place to go when looking for UAV/Drone services. The website is built in Backbone.js and API is built with Node.js and Postgres.","The site and blog combined have managed to receive over 200,000 visitors in 2014."
|
||||||
|
BackboneTutorials.com,Founder,,http://backbonetutorials.com,2011-01-01,2014-01-01,"I write tutorials and blog post regarding the popular Javascript framework Backbone.js. The tutorials cover a range of topics regarding front end development aimed at beginners, experts and anyone in between.","Over two million unique visitors a year;25,000+ ebook downloads;300,000+ Youtube views"
|
||||||
|
Ephox,Front-end Developer,,http://ephox.com,2011-01-01,2012-06-01,"Ephox is a worldwide company who is heavily involved with the development of TinyMce and enterprise editors. My primary role included building front-end widgets and applications. Worked on a major product using Backbone.js as a base. Heavily involved in UI/UX design and wire-framing. Also spend a lot of time designing API specifications and documentation.",
|
Can't render this file because it has a wrong number of fields in line 2.
|
@@ -0,0 +1 @@
|
|||||||
|
ignore
|
1
local/build-output/JSONResume/job-board/ignore-this-dir
Normal file
1
local/build-output/JSONResume/job-board/ignore-this-dir
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ignore
|
@@ -0,0 +1 @@
|
|||||||
|
ignore
|
@@ -0,0 +1 @@
|
|||||||
|
ignore
|
@@ -0,0 +1 @@
|
|||||||
|
ignore
|
1
local/build-temp/MarkdownResume/ignore-this-dir
Normal file
1
local/build-temp/MarkdownResume/ignore-this-dir
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ignore
|
102
local/build/CandidateVariables.env
Normal file
102
local/build/CandidateVariables.env
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
###################################################
|
||||||
|
# Modify these values to suit
|
||||||
|
###################################################
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
#SET THIS NEXT VARIABLE OR NOTHING WILL WORK!!!!
|
||||||
|
|
||||||
|
export PipelineClientWorkingDir="D:/tsys/@ReachableCEO/MarkdownResume-Pipeline-ClientExample/local"
|
||||||
|
|
||||||
|
#SET THE PREVIOUS VARIABLE OR NOTHING WILL WORK!!!!
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
########################
|
||||||
|
# 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"
|
||||||
|
export PANDOC_TEMPLATE="eisvogel"
|
||||||
|
|
||||||
|
###########################
|
||||||
|
# Yaml files used by pandoc
|
||||||
|
###########################
|
||||||
|
|
||||||
|
export YamlInputTemplateFileCandidateInfoSheet="$PipelineClientWorkingDir/build/BuildTemplate-CandidateInfoSheet.yml"
|
||||||
|
export YamlInputTemplateFileJobBoard="$PipelineClientWorkingDir/build/BuildTemplate-JobBoard.yml"
|
||||||
|
export YamlInputTemplateFileClientSubmission="$PipelineClientWorkingDir/build/BuildTemplate-ClientSubmission.yml"
|
||||||
|
export WordOutputReferenceDoc="$PipelineClientWorkingDir/build/resume-docx-reference.docx"
|
||||||
|
|
||||||
|
##########################
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
# Other resume data
|
||||||
|
# Awards
|
||||||
|
# Interests
|
||||||
|
# College/University education
|
||||||
|
# Certifactes
|
||||||
|
|
||||||
|
# Please see:
|
||||||
|
# the CSV files in ../Templates/JSONResume
|
||||||
|
# the CSV files in ../Templates/MarkdownResume
|
37
local/build/build-demo-json.sh
Normal file
37
local/build/build-demo-json.sh
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
|
||||||
|
# This is a demo script for the MarkdownResumePipeline server
|
||||||
|
# This script creates PDF/MSWord output from markdown/csv input
|
||||||
|
|
||||||
|
|
||||||
|
############################################
|
||||||
|
#Edit this file to reflect your information
|
||||||
|
############################################
|
||||||
|
|
||||||
|
source "./CandidateVariables.env"
|
||||||
|
|
||||||
|
####################################################
|
||||||
|
####################################################
|
||||||
|
####################################################
|
||||||
|
#DO NOT CHANGE ANYTHING BELOW THIS LINE
|
||||||
|
####################################################
|
||||||
|
####################################################
|
||||||
|
####################################################
|
||||||
|
|
||||||
|
######################################################################################
|
||||||
|
# Setup key variables that will be used by the build-pipeline-server-markdown.sh script
|
||||||
|
######################################################################################
|
||||||
|
|
||||||
|
export BUILD_OUTPUT_DIR="$PipelineClientWorkingDir/build-output/JSONResume"
|
||||||
|
export JSON_TEMPLATE_DIRECTORY="$PipelineClientWorkingDir/Templates/JSONResume"
|
||||||
|
|
||||||
|
export JobBoardJSONOutputFile="$BUILD_OUTPUT_DIR/job-board/Candidate-Resume.json"
|
||||||
|
export ClientSubmissionJSONOutputFile="$BUILD_OUTPUT_DIR/client-submit/Candidate-Resume.json"
|
||||||
|
|
||||||
|
echo "Cleaning up from previous runs..."
|
||||||
|
|
||||||
|
rm $JobBoardJSONOutputFile
|
||||||
|
rm $ClientSubmissionJSONOutputFile
|
||||||
|
|
||||||
|
bash ../../vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/build/build-pipeline-server-json.sh
|
@@ -1,110 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# A client script to setup variables for and execute:
|
|
||||||
#../vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/build/build-pipeline-server.sh
|
|
||||||
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
#SET THIS OR NOTHING WILL WORK
|
|
||||||
export PipelineClientWorkingDir="D:/tsys/@ReachableCEO/MarkdownResume-Pipeline-ClientExample/local"
|
|
||||||
#SET THIS OR NOTHING WILL WORK
|
|
||||||
#############################################################################
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
#If you want a quick demo, you can leave the below values un-changed. Otherwise
|
|
||||||
#modify them to refelect your details/preferences.
|
|
||||||
#############################################################################
|
|
||||||
|
|
||||||
########################
|
|
||||||
# Contact info
|
|
||||||
########################
|
|
||||||
|
|
||||||
export CandidateName="First Middle Last"
|
|
||||||
export CandidatePhone="1 123 456 7890"
|
|
||||||
export CandidateLocation="Place 1/Place 2"
|
|
||||||
export CandidateEmail="candidate@domain.com"
|
|
||||||
|
|
||||||
########################
|
|
||||||
# Profile information
|
|
||||||
########################
|
|
||||||
|
|
||||||
export CandidateOneLineSummary="Super awesome and stuff."
|
|
||||||
export CandidateLinkedin="https://www.linkedin.com/"
|
|
||||||
export CandidateGithub="https://www.github.com/"
|
|
||||||
export CandidateTagline="Your.Tagline.Here."
|
|
||||||
|
|
||||||
########################
|
|
||||||
# Formatting options
|
|
||||||
########################
|
|
||||||
|
|
||||||
export CandidateLogo=""
|
|
||||||
export SourceCode="https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline"
|
|
||||||
export URLCOLOR="blue"
|
|
||||||
export PAGEBACKGROUND="$PipelineClientWorkingDir/build/background3.pdf"
|
|
||||||
|
|
||||||
##########################
|
|
||||||
# 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"
|
|
||||||
|
|
||||||
|
|
||||||
####################################################
|
|
||||||
#DO NOT CHANGE ANYTHING BELOW THIS LINE
|
|
||||||
####################################################
|
|
||||||
|
|
||||||
##################################################################
|
|
||||||
# Setup globals for use by the build-pipeline-server.sh script
|
|
||||||
##################################################################
|
|
||||||
|
|
||||||
|
|
||||||
export MO_PATH="bash ../../vendor/git.knownelement.com/ExternalVendorCode/mo/mo"
|
|
||||||
export BUILD_OUTPUT_DIR="$PipelineClientWorkingDir/build-output"
|
|
||||||
export BUILD_TEMP_DIR="$PipelineClientWorkingDir/build-temp"
|
|
||||||
export BUILDYAML_JOBBOARD="$BUILD_TEMP_DIR/JobBoard.yml"
|
|
||||||
export BUILDYAML_CLIENTSUBMISSION="$BUILD_TEMP_DIR/ClientSubmission.yml"
|
|
||||||
export BUILDYAML_CANDIDATEINFOSHEET="$BUILD_TEMP_DIR/CandidateInfoSheet.yml"
|
|
||||||
|
|
||||||
export CandidateInfoSheetMarkdownOutputFile="$BUILD_OUTPUT_DIR/CandidateInfoSheet.md"
|
|
||||||
export CandidateInfoSheetPDFOutputFIle="$BUILD_OUTPUT_DIR/CandidateInfoSheet.pdf"
|
|
||||||
|
|
||||||
export JobBoardMarkdownOutputFile="$BUILD_OUTPUT_DIR/job-board/Resume.md"
|
|
||||||
export JobBoardPDFOutputFile="$BUILD_OUTPUT_DIR/job-board/Resume.pdf"
|
|
||||||
export JobBoardMSWordOutputFile="$BUILD_OUTPUT_DIR/job-board/Resume.doc"
|
|
||||||
|
|
||||||
export ClientSubmissionMarkdownOutputFile="$BUILD_OUTPUT_DIR/client-submission/Resume.md"
|
|
||||||
export ClientSubmissionPDFOutputFile="$BUILD_OUTPUT_DIR/client-submission/Resume.pdf"
|
|
||||||
export ClientSubmissionMSWordOutputFile="$BUILD_OUTPUT_DIR/client-submission/Resume.doc"
|
|
||||||
|
|
||||||
# Call the build-pipeline-server in the vendored repository to produce output artifacts
|
|
||||||
|
|
||||||
bash ../../vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/build/build-pipeline-server.sh
|
|
11
vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/.gitignore
generated
vendored
11
vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/.gitignore
generated
vendored
@@ -1,9 +1,2 @@
|
|||||||
build-output/client-submission/*.md
|
build-output/*
|
||||||
build-output/client-submission/*.pdf
|
build-temp/*
|
||||||
build-output/client-submission/*.doc
|
|
||||||
build-output/CandidateInfoSheet*
|
|
||||||
build-output/job-board/*.md
|
|
||||||
build-output/job-board/*.pdf
|
|
||||||
build-output/job-board/*.doc
|
|
||||||
build-temp/*.yml
|
|
||||||
build-temp/*.md
|
|
@@ -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,121 +0,0 @@
|
|||||||
# First Middle Last 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 **Place 1/Place 2** 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 1,987.11** 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):
|
|
||||||
|
|
||||||
- **$12.34** per hour(w2)
|
|
||||||
- **$123,456.00** annually
|
|
||||||
- **$56.78** per hour (1099/corp to corp)
|
|
||||||
|
|
||||||
I have a strong preference for roles that are :
|
|
||||||
|
|
||||||
- **$34.56** per hour(w2) or more
|
|
||||||
- **$321,987.00** annually or more
|
|
||||||
- **$78.90** per hour (1099/corp to corp) or more
|
|
||||||
|
|
||||||
### On-site/hybrid roles
|
|
||||||
|
|
||||||
- **$34.56** per hour(w2) or more
|
|
||||||
- **$321,987.00** annually or more
|
|
||||||
- **$78.90** 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 | First Middle Last |
|
|
||||||
| E-mail address | |
|
|
||||||
| Phone number | 1 123 456 7890 |
|
|
||||||
| Preferred form of contact | Email will get the fastest response. |
|
|
||||||
| Work authorization | US Citizen |
|
|
||||||
| Are you employed presently? | Not currently employed |
|
|
||||||
| Current location | City,State,Country etc |
|
|
||||||
| Current timezone | Timezone |
|
|
||||||
| Timezones I can work in | Timezones |
|
|
||||||
| Availability to interview | Sometime |
|
|
||||||
| Availability to start | Sometime |
|
|
||||||
| Highest Education | Some education level |
|
|
||||||
| Graduated Year | Graduation year |
|
|
||||||
| Name of school | School name |
|
|
||||||
| Location of school | School location |
|
|
||||||
| Linkedin Profile | (https://www.linkedin.com/) |
|
|
||||||
| Github Profile | (https://www.github.com/) |
|
|
||||||
| Last project | Last project |
|
|
||||||
| DOB | MM/DD |
|
|
||||||
| Total IT/career experience | epoch |
|
|
||||||
| Open to in-office/hybrid/remote | Yes |
|
|
||||||
| Any trips planned in next six months? | No |
|
|
@@ -1 +0,0 @@
|
|||||||
This directory is used by the build process. Ignore it.
|
|
@@ -1 +0,0 @@
|
|||||||
Working directory for the pipeline. Don't use.
|
|
@@ -1 +0,0 @@
|
|||||||
This directory is used by the build process. Ignore it.
|
|
@@ -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}}"
|
|
BIN
vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/build/background3.pdf
generated
vendored
BIN
vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/build/background3.pdf
generated
vendored
Binary file not shown.
268
vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/build/build-demo.sh
generated
vendored
268
vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/build/build-demo.sh
generated
vendored
@@ -1,268 +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 these values to suit
|
|
||||||
###################################################
|
|
||||||
|
|
||||||
|
|
||||||
########################
|
|
||||||
# Contact info
|
|
||||||
########################
|
|
||||||
|
|
||||||
export CandidateName="First Middle Last"
|
|
||||||
export CandidatePhone="1 123 456 7890"
|
|
||||||
export CandidateLocation="Place 1/Place 2"
|
|
||||||
export CandidateEmail="candidate@domain.com"
|
|
||||||
|
|
||||||
########################
|
|
||||||
# Profile information
|
|
||||||
########################
|
|
||||||
|
|
||||||
export CandidateOneLineSummary="Super awesome and stuff."
|
|
||||||
export CandidateLinkedin="https://www.linkedin.com/"
|
|
||||||
export CandidateGithub="https://www.github.com/"
|
|
||||||
export CandidateTagline="Your.Tagline.Here."
|
|
||||||
|
|
||||||
########################
|
|
||||||
# Formatting options
|
|
||||||
########################
|
|
||||||
|
|
||||||
export CandidateLogo=""
|
|
||||||
export SourceCode="https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline"
|
|
||||||
export URLCOLOR="blue"
|
|
||||||
export PAGEBACKGROUND="./background3.pdf"
|
|
||||||
|
|
||||||
##########################
|
|
||||||
# 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"
|
|
||||||
|
|
||||||
####################################################
|
|
||||||
#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"
|
|
||||||
readonly BUILD_TEMP_DIR="../build-temp"
|
|
||||||
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/CandidateInfoSheet/CandidateInfoSheet.md > $CandidateInfoSheetMarkdownOutputFile
|
|
||||||
|
|
||||||
pandoc \
|
|
||||||
"$CandidateInfoSheetMarkdownOutputFile" \
|
|
||||||
--template eisvogel \
|
|
||||||
--metadata-file="../build-temp/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/ContactInfo/ContactInfo-JobBoard.md > $BUILD_TEMP_DIR/ContactInfo-JobBoard.md
|
|
||||||
$MO_PATH ../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-ClientSubmit.md >> $ClientSubmissionMarkdownOutputFile
|
|
||||||
echo " " >> $ClientSubmissionMarkdownOutputFile
|
|
||||||
|
|
||||||
echo "## Career Highlights" >> $JobBoardMarkdownOutputFile
|
|
||||||
echo "## Career Highlights" >> $ClientSubmissionMarkdownOutputFile
|
|
||||||
|
|
||||||
cat ../Templates/SkillsAndProjects/Projects.md >> $JobBoardMarkdownOutputFile
|
|
||||||
echo "\pagebreak" >> $JobBoardMarkdownOutputFile
|
|
||||||
|
|
||||||
cat ../Templates/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/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/JobHistoryDetails/$COMPANY.md >> "$JobBoardMarkdownOutputFile"
|
|
||||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
|
||||||
|
|
||||||
cat ../Templates/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/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/JobBoard.yml" \
|
|
||||||
--from markdown \
|
|
||||||
--to=pdf \
|
|
||||||
--output $JobBoardPDFOutputFile
|
|
||||||
|
|
||||||
echo "Generating MSWord output for job board version..."
|
|
||||||
|
|
||||||
pandoc \
|
|
||||||
"$JobBoardMarkdownOutputFile" \
|
|
||||||
--metadata-file="../build-temp/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/ClientSubmission.yml" \
|
|
||||||
--from markdown \
|
|
||||||
--to=pdf \
|
|
||||||
--output $ClientSubmissionPDFOutputFile
|
|
||||||
|
|
||||||
echo "Generating MSWord output for client submission version..."
|
|
||||||
|
|
||||||
pandoc \
|
|
||||||
"$ClientSubmissionMarkdownOutputFile" \
|
|
||||||
--metadata-file="../build-temp/ClientSubmission.yml" \
|
|
||||||
--from markdown \
|
|
||||||
--to=docx \
|
|
||||||
--reference-doc=resume-docx-reference.docx \
|
|
||||||
--output $ClientSubmissionMSWordOutputFile
|
|
339
vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/build/build-pipeline-server-json.sh
generated
vendored
Normal file
339
vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/build/build-pipeline-server-json.sh
generated
vendored
Normal file
@@ -0,0 +1,339 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#####################################################################################################
|
||||||
|
#JSON Resume
|
||||||
|
#####################################################################################################
|
||||||
|
|
||||||
|
####################################################
|
||||||
|
####################################################
|
||||||
|
####################################################
|
||||||
|
#DO NOT CHANGE ANYTHING BELOW THIS LINE
|
||||||
|
####################################################
|
||||||
|
####################################################
|
||||||
|
####################################################
|
||||||
|
|
||||||
|
add_open_section()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Bash Function to Append JSON
|
||||||
|
add_profiles_section ()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
echo '{"profiles": [' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
while IFS=, read -r username url network; do
|
||||||
|
cat <<EOF >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
{
|
||||||
|
"username": "$username",
|
||||||
|
"url": "$url",
|
||||||
|
"network": "$network"
|
||||||
|
},
|
||||||
|
EOF
|
||||||
|
done < $JSON_TEMPLATE_DIRECTORY/profiles.csv
|
||||||
|
# Remove trailing comma and close JSON array
|
||||||
|
sed -i '$ s/},/}/' $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
echo ']}' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
add_certificates_section()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
echo '{"certificates": [' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
while IFS=, read -r name date issuer url; do
|
||||||
|
cat <<EOF >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
{
|
||||||
|
"name": "$name",
|
||||||
|
"date": "$date",
|
||||||
|
"issuer": "$issuer",
|
||||||
|
"url": "$url"
|
||||||
|
},
|
||||||
|
EOF
|
||||||
|
done < $JSON_TEMPLATE_DIRECTORY/certificates.csv
|
||||||
|
|
||||||
|
# Remove trailing comma and close JSON array
|
||||||
|
sed -i '$ s/},/}/' $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
echo ']}' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
add_education_section()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
echo '{"education": [' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
while IFS=, read -r institution url area studyType startDate endDate score courses; do
|
||||||
|
cat <<EOF >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
{
|
||||||
|
"institution": "$institution",
|
||||||
|
"url": "$url",
|
||||||
|
"area": "$area",
|
||||||
|
"studyType": "$studyType",
|
||||||
|
"startDate": "$startDate",
|
||||||
|
"endDate": "$endDate",
|
||||||
|
"score": "$score",
|
||||||
|
"courses": [$(echo "$courses" | sed 's/;/","/g' | sed 's/^/"/;s/$/"/')]
|
||||||
|
},
|
||||||
|
EOF
|
||||||
|
done < $JSON_TEMPLATE_DIRECTORY/education.csv
|
||||||
|
|
||||||
|
# Remove trailing comma and close JSON array
|
||||||
|
sed -i '$ s/},/}/' $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
echo ']}' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
add_references_section()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
echo '{"references": [' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
while IFS=, read -r reference name; do
|
||||||
|
cat <<EOF >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
{
|
||||||
|
"reference": "$reference",
|
||||||
|
"name": "$name"
|
||||||
|
},
|
||||||
|
EOF
|
||||||
|
done < $JSON_TEMPLATE_DIRECTORY/references.csv
|
||||||
|
|
||||||
|
# Remove trailing comma and close JSON array
|
||||||
|
sed -i '$ s/},/}/' $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
echo ']}' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
add_skills_section()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
echo '{"skills": [' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
while IFS=, read -r name level keywords; do
|
||||||
|
cat <<EOF >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
{
|
||||||
|
"name": "$name",
|
||||||
|
"level": "$level",
|
||||||
|
"keywords": [$(echo "$keywords" | sed 's/;/","/g' | sed 's/^/"/;s/$/"/')]
|
||||||
|
},
|
||||||
|
EOF
|
||||||
|
done < $JSON_TEMPLATE_DIRECTORY/skills.csv
|
||||||
|
|
||||||
|
# Remove trailing comma and close JSON array
|
||||||
|
sed -i '$ s/},/}/' $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
echo ']}' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
add_awards_section()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
echo '{"awards": [' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
while IFS=, read -r title awarder date summary; do
|
||||||
|
cat <<EOF >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
{
|
||||||
|
"title": "$title",
|
||||||
|
"awarder": "$awarder",
|
||||||
|
"date": "$date",
|
||||||
|
"summary": "$summary"
|
||||||
|
},
|
||||||
|
EOF
|
||||||
|
done < $JSON_TEMPLATE_DIRECTORY/awards.csv
|
||||||
|
|
||||||
|
# Remove trailing comma and close JSON array
|
||||||
|
sed -i '$ s/},/}/' $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
echo ']}' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
add_publications_section()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
echo '{"publications": [' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
while IFS=, read -r name publisher releaseDate url summary; do
|
||||||
|
cat <<EOF >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
{
|
||||||
|
"name": "$name",
|
||||||
|
"publisher": "$publisher",
|
||||||
|
"releaseDate": "$releaseDate",
|
||||||
|
"url": "$url",
|
||||||
|
"summary": "$summary"
|
||||||
|
},
|
||||||
|
EOF
|
||||||
|
done < $JSON_TEMPLATE_DIRECTORY/publications.csv
|
||||||
|
|
||||||
|
# Remove trailing comma and close JSON array
|
||||||
|
sed -i '$ s/},/}/' $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
echo ']}' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
add_volunteer_section()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
echo '{"volunteer": [' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
while IFS=, read -r organization position url startDate summary highlights; do
|
||||||
|
cat <<EOF >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
{
|
||||||
|
"organization": "$organization",
|
||||||
|
"position": "$position",
|
||||||
|
"url": "$url",
|
||||||
|
"startDate": "$startDate",
|
||||||
|
"summary": "$summary",
|
||||||
|
"highlights": [$(echo "$highlights" | sed 's/;/","/g' | sed 's/^/"/;s/$/"/')]
|
||||||
|
},
|
||||||
|
EOF
|
||||||
|
done < $JSON_TEMPLATE_DIRECTORY/volunteer.csv
|
||||||
|
|
||||||
|
# Remove trailing comma and close JSON array
|
||||||
|
sed -i '$ s/},/}/' $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
echo ']}' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
add_work_section()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
echo '{"work": [' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
while IFS=, read -r name position location website startDate endDate summary highlights; do
|
||||||
|
cat <<EOF >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
{
|
||||||
|
"name": "$name",
|
||||||
|
"position": "$position",
|
||||||
|
"location": "$location",
|
||||||
|
"website": "$website",
|
||||||
|
"startDate": "$startDate",
|
||||||
|
"endDate": "$endDate",
|
||||||
|
"summary": "$summary",
|
||||||
|
"highlights": [$(echo "$highlights" | sed 's/;/","/g' | sed 's/^/"/;s/$/"/')]
|
||||||
|
},
|
||||||
|
EOF
|
||||||
|
done < $JSON_TEMPLATE_DIRECTORY/work.csv
|
||||||
|
|
||||||
|
# Remove trailing comma and close JSON array
|
||||||
|
sed -i '$ s/},/}/' $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
echo ']}' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
add_languages_section()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
echo '{"languages": [' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
while IFS=, read -r language fluency; do
|
||||||
|
cat <<EOF >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
{
|
||||||
|
"language": "$language",
|
||||||
|
"fluency": "$fluency"
|
||||||
|
},
|
||||||
|
EOF
|
||||||
|
done < $JSON_TEMPLATE_DIRECTORY/languages.csv
|
||||||
|
|
||||||
|
# Remove trailing comma and close JSON array
|
||||||
|
sed -i '$ s/},/}/' $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
echo ']}' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
add_interests_section()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
echo '{"interests": [' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
while IFS=, read -r name keywords; do
|
||||||
|
cat <<EOF >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
{
|
||||||
|
"name": "$name",
|
||||||
|
"keywords": [$(echo "$keywords" | sed 's/;/","/g' | sed 's/^/"/;s/$/"/')]
|
||||||
|
},
|
||||||
|
EOF
|
||||||
|
done < $JSON_TEMPLATE_DIRECTORY/interests.csv
|
||||||
|
|
||||||
|
# Remove trailing comma and close JSON array
|
||||||
|
sed -i '$ s/},/}/' $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
echo ']}' >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
add_close_section()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
echo "}" >> $BUILD_OUTPUT_DIR/resume.json
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
main()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
add_open_section
|
||||||
|
add_meta_section
|
||||||
|
add_basics_section
|
||||||
|
add_profiles_section
|
||||||
|
add_work_section
|
||||||
|
add_volunteer_section
|
||||||
|
add_education_section
|
||||||
|
add_awards_section
|
||||||
|
add_certificates_section
|
||||||
|
add_publications_section
|
||||||
|
add_skills_section
|
||||||
|
add_languages_section
|
||||||
|
add_interests_section
|
||||||
|
add_references_section
|
||||||
|
add_close_section
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
main
|
164
vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/build/build-pipeline-server-markdown.sh
generated
vendored
Normal file
164
vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/build/build-pipeline-server-markdown.sh
generated
vendored
Normal file
@@ -0,0 +1,164 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
#####################################################################################################
|
||||||
|
#Markdown to PDF/MSWord Resumek and candidate info sheet
|
||||||
|
#####################################################################################################
|
||||||
|
|
||||||
|
#############################################
|
||||||
|
# Create the candidate information PDF
|
||||||
|
#############################################
|
||||||
|
|
||||||
|
# Expand variables into rendered YAML files. These will be used by pandoc to create the output artifacts
|
||||||
|
|
||||||
|
$MO_PATH $YamlInputTemplateFileJobBoard > $BUILDYAML_JOBBOARD
|
||||||
|
$MO_PATH $YamlInputTemplateFileClientSubmission > $BUILDYAML_CLIENTSUBMISSION
|
||||||
|
$MO_PATH $YamlInputTemplateFileClientSubmission > $BUILDYAML_CANDIDATEINFOSHEET
|
||||||
|
|
||||||
|
echo "Creating candidate info sheet..."
|
||||||
|
|
||||||
|
$MO_PATH $PipelineClientWorkingDir/Templates/MarkdownResume/CandidateInfoSheet/CandidateInfoSheet.md > "$CandidateInfoSheetMarkdownOutputFile"
|
||||||
|
|
||||||
|
pandoc \
|
||||||
|
"$CandidateInfoSheetMarkdownOutputFile" \
|
||||||
|
--template $PANDOC_TEMPLATE \
|
||||||
|
--metadata-file="$BUILDYAML_CANDIDATEINFOSHEET" \
|
||||||
|
--from markdown \
|
||||||
|
--to=pdf \
|
||||||
|
--output $CandidateInfoSheetPDFOutputFile
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
echo "Combining markdown files into single input file for pandoc..."
|
||||||
|
|
||||||
|
# Create contact info md file
|
||||||
|
$MO_PATH "$PipelineClientWorkingDir/Templates/MarkdownResume/ContactInfo/ContactInfo-JobBoard.md" > "$BUILD_TEMP_DIR/ContactInfo-JobBoard.md"
|
||||||
|
$MO_PATH "$PipelineClientWorkingDir/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 "$PipelineClientWorkingDir/Templates/MarkdownResume/SkillsAndProjects/Projects.md" >> "$JobBoardMarkdownOutputFile"
|
||||||
|
echo "\pagebreak" >> "$JobBoardMarkdownOutputFile"
|
||||||
|
|
||||||
|
cat "$PipelineClientWorkingDir/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 "$PipelineClientWorkingDir/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 "$PipelineClientWorkingDir/Templates/MarkdownResume/JobHistoryDetails/$COMPANY.md" >> "$JobBoardMarkdownOutputFile"
|
||||||
|
echo " " >> "$JobBoardMarkdownOutputFile"
|
||||||
|
|
||||||
|
cat "$PipelineClientWorkingDir/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 "$PipelineClientWorkingDir/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 $PANDOC_TEMPLATE \
|
||||||
|
--metadata-file="$BUILDYAML_JOBBOARD" \
|
||||||
|
--from markdown \
|
||||||
|
--to=pdf \
|
||||||
|
--output "$JobBoardPDFOutputFile"
|
||||||
|
|
||||||
|
echo "Generating PDF output for client submission version..."
|
||||||
|
|
||||||
|
pandoc \
|
||||||
|
"$ClientSubmissionMarkdownOutputFile" \
|
||||||
|
--template "$PANDOC_TEMPLATE" \
|
||||||
|
--metadata-file="$BUILDYAML_CLIENTSUBMISSION" \
|
||||||
|
--from markdown \
|
||||||
|
--to=pdf \
|
||||||
|
--output "$ClientSubmissionPDFOutputFile"
|
||||||
|
|
||||||
|
echo "Generating MSWord output for job board version..."
|
||||||
|
|
||||||
|
pandoc \
|
||||||
|
"$JobBoardMarkdownOutputFile" \
|
||||||
|
--metadata-file="$BUILDYAML_JOBBOARD" \
|
||||||
|
--from markdown \
|
||||||
|
--to=docx \
|
||||||
|
--reference-doc="$WordOutputReferenceDoc" \
|
||||||
|
--output "$JobBoardMSWordOutputFile"
|
||||||
|
|
||||||
|
echo "Generating MSWord output for client submission version..."
|
||||||
|
|
||||||
|
pandoc \
|
||||||
|
"$ClientSubmissionMarkdownOutputFile" \
|
||||||
|
--metadata-file="$BUILDYAML_CLIENTSUBMISSION" \
|
||||||
|
--from markdown \
|
||||||
|
--to=docx \
|
||||||
|
--reference-doc="$WordOutputReferenceDoc" \
|
||||||
|
--output "$ClientSubmissionMSWordOutputFile"
|
@@ -1,168 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
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 $PipelineClientWorkingDir/build/BuildTemplate-CandidateInfoSheet.yml > $BUILDYAML_CANDIDATEINFOSHEET
|
|
||||||
$MO_PATH $PipelineClientWorkingDir/build/BuildTemplate-JobBoard.yml > $BUILDYAML_JOBBOARD
|
|
||||||
$MO_PATH $PipelineClientWorkingDir/build/BuildTemplate-ClientSubmission.yml > $BUILDYAML_CLIENTSUBMISSION
|
|
||||||
|
|
||||||
echo "Creating candidate info sheet..."
|
|
||||||
|
|
||||||
$MO_PATH $PipelineClientWorkingDir/Templates/CandidateInfoSheet/CandidateInfoSheet.md > $CandidateInfoSheetMarkdownOutputFile
|
|
||||||
|
|
||||||
pandoc \
|
|
||||||
"$CandidateInfoSheetMarkdownOutputFile" \
|
|
||||||
--template eisvogel \
|
|
||||||
--metadata-file="$PipelineClientWorkingDir/build-temp/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 $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-ClientSubmit.md >> $ClientSubmissionMarkdownOutputFile
|
|
||||||
echo " " >> $ClientSubmissionMarkdownOutputFile
|
|
||||||
|
|
||||||
echo "## Career Highlights" >> $JobBoardMarkdownOutputFile
|
|
||||||
echo "## Career Highlights" >> $ClientSubmissionMarkdownOutputFile
|
|
||||||
|
|
||||||
cat $PipelineClientWorkingDir/Templates/SkillsAndProjects/Projects.md >> $JobBoardMarkdownOutputFile
|
|
||||||
echo "\pagebreak" >> $JobBoardMarkdownOutputFile
|
|
||||||
|
|
||||||
cat $PipelineClientWorkingDir/Templates/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 $PipelineClientWorkingDir/Templates/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 $PipelineClientWorkingDir/Templates/JobHistoryDetails/$COMPANY.md >> "$JobBoardMarkdownOutputFile"
|
|
||||||
echo " " >> "$JobBoardMarkdownOutputFile"
|
|
||||||
|
|
||||||
cat $PipelineClientWorkingDir/Templates/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 $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
|
|
||||||
|
|
||||||
done
|
|
||||||
unset IFS
|
|
||||||
|
|
||||||
echo "Generating PDF output for job board version..."
|
|
||||||
|
|
||||||
pandoc \
|
|
||||||
"$JobBoardMarkdownOutputFile" \
|
|
||||||
--template eisvogel \
|
|
||||||
--metadata-file="$PipelineClientWorkingDir/build-temp/JobBoard.yml" \
|
|
||||||
--from markdown \
|
|
||||||
--to=pdf \
|
|
||||||
--output $JobBoardPDFOutputFile
|
|
||||||
|
|
||||||
echo "Generating MSWord output for job board version..."
|
|
||||||
|
|
||||||
pandoc \
|
|
||||||
"$JobBoardMarkdownOutputFile" \
|
|
||||||
--metadata-file="$PipelineClientWorkingDir/build-temp/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="$PipelineClientWorkingDir/build-temp/ClientSubmission.yml" \
|
|
||||||
--from markdown \
|
|
||||||
--to=pdf \
|
|
||||||
--output $ClientSubmissionPDFOutputFile
|
|
||||||
|
|
||||||
echo "Generating MSWord output for client submission version..."
|
|
||||||
|
|
||||||
pandoc \
|
|
||||||
"$ClientSubmissionMarkdownOutputFile" \
|
|
||||||
--metadata-file="$PipelineClientWorkingDir/build-temp/ClientSubmission.yml" \
|
|
||||||
--from markdown \
|
|
||||||
--to=docx \
|
|
||||||
--reference-doc=resume-docx-reference.docx \
|
|
||||||
--output $ClientSubmissionMSWordOutputFile
|
|
Binary file not shown.
Reference in New Issue
Block a user