Compare commits

...

29 Commits

Author SHA1 Message Date
2b63732480 Update "MarkdownResume-Pipeline" from "https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git@main"
git-vendor-name: MarkdownResume-Pipeline
git-vendor-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-vendor-repository: https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git
git-vendor-ref: main
2024-12-15 08:30:16 -06:00
7653fcd05b Squashed 'vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/' changes from 2d31c6b3..04d78dc9
04d78dc9 .

git-subtree-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-subtree-split: 04d78dc9babaf1d08b159fb575dee137bbc3e38d
2024-12-15 08:30:16 -06:00
d4d01a9c8f . 2024-12-15 08:30:06 -06:00
ef2fae024f Squashed 'vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/' changes from 47596f7e..2d31c6b3
2d31c6b3 .

git-subtree-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-subtree-split: 2d31c6b37eb33bed90a25d7fa56c2570fb6622ca
2024-12-15 08:27:30 -06:00
8fc853b309 Update "MarkdownResume-Pipeline" from "https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git@main"
git-vendor-name: MarkdownResume-Pipeline
git-vendor-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-vendor-repository: https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git
git-vendor-ref: main
2024-12-15 08:27:30 -06:00
098970d877 Squashed 'vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/' changes from 30a6abf3..47596f7e
47596f7e .

git-subtree-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-subtree-split: 47596f7e3a1d569d3265abebc95365d8db4aaded
2024-12-15 08:26:34 -06:00
9ab05711f3 Update "MarkdownResume-Pipeline" from "https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git@main"
git-vendor-name: MarkdownResume-Pipeline
git-vendor-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-vendor-repository: https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git
git-vendor-ref: main
2024-12-15 08:26:34 -06:00
5f3d41f8cb Update "MarkdownResume-Pipeline" from "https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git@main"
git-vendor-name: MarkdownResume-Pipeline
git-vendor-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-vendor-repository: https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git
git-vendor-ref: main
2024-12-15 08:24:55 -06:00
8cd36acfeb Squashed 'vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/' changes from 66bcba55..30a6abf3
30a6abf3 .

git-subtree-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-subtree-split: 30a6abf391827c91bd740d816bc13eba9bca3872
2024-12-15 08:24:54 -06:00
cb2b0e87df Update "MarkdownResume-Pipeline" from "https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git@main"
git-vendor-name: MarkdownResume-Pipeline
git-vendor-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-vendor-repository: https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git
git-vendor-ref: main
2024-12-15 08:18:32 -06:00
259a7fe7e2 Squashed 'vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/' changes from 7a9abe31..66bcba55
66bcba55 .

git-subtree-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-subtree-split: 66bcba558441ee187b56c8315a0172d519680c85
2024-12-15 08:18:32 -06:00
a7bd749c1a Update "MarkdownResume-Pipeline" from "https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git@main"
git-vendor-name: MarkdownResume-Pipeline
git-vendor-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-vendor-repository: https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git
git-vendor-ref: main
2024-12-15 08:17:11 -06:00
055e32abab Squashed 'vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/' changes from a956f3a..7a9abe3
7a9abe3 .

git-subtree-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-subtree-split: 7a9abe314ab8a7980d90e135f3b1626d41b61db5
2024-12-15 08:17:11 -06:00
2b38f0f053 . 2024-12-15 08:17:00 -06:00
dc741450df Squashed 'vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/' changes from 0c3b9b4..a956f3a
a956f3a now with variables for all

git-subtree-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-subtree-split: a956f3ad42499c8c0580b56d110e0d346eacbc10
2024-12-15 08:12:43 -06:00
a3ebb66979 Update "MarkdownResume-Pipeline" from "https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git@main"
git-vendor-name: MarkdownResume-Pipeline
git-vendor-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-vendor-repository: https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git
git-vendor-ref: main
2024-12-15 08:12:43 -06:00
6c882fe7e7 vars for all 2024-12-15 08:12:32 -06:00
5b1120db68 v1.2 docs... 2024-12-13 16:26:15 -06:00
4d17933dd9 more json. repl for the win... 2024-12-13 16:12:24 -06:00
d0de9b5c6a json here we come... 2024-12-13 16:09:35 -06:00
d5bc7841f7 Squashed 'vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/' changes from 0ce7627..0c3b9b4
0c3b9b4 third run of json support...

git-subtree-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-subtree-split: 0c3b9b486884ac1de85094cf49769ccacd494399
2024-12-13 16:07:33 -06:00
5444ef0bce Update "MarkdownResume-Pipeline" from "https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git@main"
git-vendor-name: MarkdownResume-Pipeline
git-vendor-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-vendor-repository: https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git
git-vendor-ref: main
2024-12-13 16:07:33 -06:00
37098ccd06 Squashed 'vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/' changes from d8eb0ee..0ce7627
0ce7627 second run of json support...

git-subtree-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-subtree-split: 0ce7627edbc31bfa3c943db44d9520bdc6649832
2024-12-13 16:05:16 -06:00
119e8dfc39 Update "MarkdownResume-Pipeline" from "https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git@main"
git-vendor-name: MarkdownResume-Pipeline
git-vendor-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-vendor-repository: https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git
git-vendor-ref: main
2024-12-13 16:05:16 -06:00
0ecf6f0526 Squashed 'vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/' changes from 9511d3d..d8eb0ee
d8eb0ee first run of json support...

git-subtree-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-subtree-split: d8eb0eefcc4e591cd4f57636711940ab954d4d82
2024-12-13 16:03:48 -06:00
f6744e3393 Update "MarkdownResume-Pipeline" from "https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git@main"
git-vendor-name: MarkdownResume-Pipeline
git-vendor-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-vendor-repository: https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git
git-vendor-ref: main
2024-12-13 16:03:48 -06:00
24827b2b84 now with sample data. 2024-12-13 15:56:09 -06:00
63545d003b Squashed 'vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/' changes from 1d37671..9511d3d
9511d3d json hax

git-subtree-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-subtree-split: 9511d3d6ba0d2bc7008d89ca649eb22a0a0f8448
2024-12-13 14:34:41 -06:00
6fde94eb1d Update "MarkdownResume-Pipeline" from "https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git@main"
git-vendor-name: MarkdownResume-Pipeline
git-vendor-dir: vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline
git-vendor-repository: https://git.knownelement.com/reachableceo/MarkdownResume-Pipeline.git
git-vendor-ref: main
2024-12-13 14:34:41 -06:00
16 changed files with 450 additions and 92 deletions

View File

@@ -1,15 +1,23 @@
# 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
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.
- Edit local/Templates/WorkHistory/WorkHistory.csv
- Create local/Templates/JobHistoryDetails/<position>.md to match the value in the first field of WorkHistory.csv
- Edit local/Templates/SkillsAndProjects/Projects.md
- Edit local/Template/SkillsAndProjects/Skills.csv
- Edit local/Templates/CandidateInfoSheet.md
- cd to the local/build directory and run bash build-resume.sh
- Bash (this entire project was developed on msys2 on Windows 10)
- Ensure you have pandoc installed and in your path.
### Steps
- Edit local/build/CandidateVariables.env to refelct your information.
- 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/*

View 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.

View 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
1 # CSV File: certificates.csv
2 # Columns: name,date,issuer,url
3 Certified Kubernetes Administrator,2021-05-01,Cloud Native Computing Foundation,http://certificates.com/kubernetes

View 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"
1 institution url area studyType startDate endDate score courses
2 The University of Queensland Software Engineering (incomplete) Bachelors 2008-02-12 2009-12-12
3 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

View 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.

View File

@@ -0,0 +1,3 @@
# CSV File: languages.csv
# Columns: language,fluency
English,Native speaker
1 # CSV File: languages.csv
2 # Columns: language,fluency
3 English,Native speaker

View 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
1 # CSV File: profiles.csv
2 # Columns: username,url,network
3 ajaxdavis,https://twitter.com/ajaxdavis,twitter
4 thomasdavis,https://github.com/thomasdavis,github

View 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.

View 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.

View 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.

View 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.

View 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.

View File

@@ -45,6 +45,16 @@ export SourceCode="https://git.knownelement.com/reachableceo/MarkdownResume-Pipe
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

View File

@@ -1,62 +0,0 @@
#!/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 MO_PATH="bash ../../vendor/git.knownelement.com/ExternalVendorCode/mo/mo"
export BUILD_TEMP_DIR="$PipelineClientWorkingDir/build-temp/MarkdownResume"
export BUILD_OUTPUT_DIR="$PipelineClientWorkingDir/build-output/MarkdownResume"
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/recruiter/CandidateInfoSheet.md"
export CandidateInfoSheetPDFOutputFile="$BUILD_OUTPUT_DIR/recruiter/CandidateInfoSheet.pdf"
export JobBoardMarkdownOutputFile="$BUILD_OUTPUT_DIR/job-board/Candidate-Resume.md"
export JobBoardPDFOutputFile="$BUILD_OUTPUT_DIR/job-board/Candidate-Resume.pdf"
export JobBoardMSWordOutputFile="$BUILD_OUTPUT_DIR/job-board/Candidate-Resume.doc"
export ClientSubmissionMarkdownOutputFile="$BUILD_OUTPUT_DIR/client-submit/Candidate-Resume.md"
export ClientSubmissionPDFOutputFile="$BUILD_OUTPUT_DIR/client-submit/Candidate-Resume.pdf"
export ClientSubmissionMSWordOutputFile="$BUILD_OUTPUT_DIR/client-submit/Candidate-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
bash ../../vendor/git.knownelement.com/reachableceo/MarkdownResume-Pipeline/build/build-pipeline-server-markdown.sh

View 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

View File

@@ -1,14 +1,20 @@
#!/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 $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
$MO_PATH $YamlInputTemplateFileJobBoard > $BUILDYAML_JOBBOARD
$MO_PATH $YamlInputTemplateFileClientSubmission > $BUILDYAML_CLIENTSUBMISSION
$MO_PATH $YamlInputTemplateFileClientSubmission > $BUILDYAML_CANDIDATEINFOSHEET
echo "Creating candidate info sheet..."
@@ -16,12 +22,14 @@ $MO_PATH $PipelineClientWorkingDir/Templates/MarkdownResume/CandidateInfoSheet/C
pandoc \
"$CandidateInfoSheetMarkdownOutputFile" \
--template eisvogel \
--metadata-file="$PipelineClientWorkingDir/build-temp/MarkdownResume/CandidateInfoSheet.yml" \
--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
@@ -119,38 +127,38 @@ echo "Generating PDF output for job board version..."
pandoc \
"$JobBoardMarkdownOutputFile" \
--template eisvogel \
--metadata-file="$PipelineClientWorkingDir/build-temp/MarkdownResume/JobBoard.yml" \
--template $PANDOC_TEMPLATE \
--metadata-file="$BUILDYAML_JOBBOARD" \
--from markdown \
--to=pdf \
--output "$JobBoardPDFOutputFile"
echo "Generating MSWord output for job board version..."
pandoc \
"$JobBoardMarkdownOutputFile" \
--metadata-file="$PipelineClientWorkingDir/build-temp/MarkdownResume/JobBoard.yml" \
--from markdown \
--to=docx \
--reference-doc="$PipelineClientWorkingDir/build/resume-docx-reference.docx" \
--output "$JobBoardMSWordOutputFile"
echo "Generating PDF output for client submission version..."
pandoc \
"$ClientSubmissionMarkdownOutputFile" \
--template eisvogel \
--metadata-file="$PipelineClientWorkingDir/build-temp/MarkdownResume/ClientSubmission.yml" \
--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="$PipelineClientWorkingDir/build-temp/MarkdownResume/ClientSubmission.yml" \
--metadata-file="$BUILDYAML_CLIENTSUBMISSION" \
--from markdown \
--to=docx \
--reference-doc="$PipelineClientWorkingDir/build/resume-docx-reference.docx" \
--reference-doc="$WordOutputReferenceDoc" \
--output "$ClientSubmissionMSWordOutputFile"