321 lines
8.1 KiB
Bash
321 lines
8.1 KiB
Bash
|
#!/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
|
||
|
|
||
|
}
|
||
|
|
||
|
add_work_section()
|
||
|
{
|
||
|
|
||
|
local input_file=$JSON_TEMPLATE_DIRECTORY/work.csv
|
||
|
cat << 'WORK_START'
|
||
|
|
||
|
"work": [
|
||
|
WORK_START
|
||
|
awk -F, 'NR>1 {
|
||
|
printf " {\n"
|
||
|
printf " \"name\": \"%s\",\n", $1
|
||
|
printf " \"position\": \"%s\",\n", $2
|
||
|
printf " \"url\": \"%s\",\n", $3
|
||
|
printf " \"startDate\": \"%s\",\n", $4
|
||
|
if ($5 != "") printf " \"endDate\": \"%s\",\n", $5
|
||
|
printf " \"summary\": \"%s\",\n", $6
|
||
|
printf " \"highlights\": [\n \"%s\"\n ]\n", gensub(/\|/, "\",\n \"", "g", $7)
|
||
|
printf " }%s\n", (NR==NR?"":",")
|
||
|
}' "$input_file"
|
||
|
cat << 'WORK_END'
|
||
|
],
|
||
|
WORK_END
|
||
|
|
||
|
}
|
||
|
|
||
|
add_volunteer_section()
|
||
|
|
||
|
{
|
||
|
|
||
|
local input_file="$JSON_TEMPLATE_DIRECTORY/volunteer.csv"
|
||
|
cat << 'VOLUNTEER_START' >> $BUILD_OUTPUT_DIR/resume.json
|
||
|
|
||
|
"volunteer": [
|
||
|
VOLUNTEER_START
|
||
|
|
||
|
awk -F, 'NR>1 {
|
||
|
printf " {\n"
|
||
|
printf " \"organization\": \"%s\",\n", $1
|
||
|
printf " \"position\": \"%s\",\n", $2
|
||
|
printf " \"url\": \"%s\",\n", $3
|
||
|
printf " \"startDate\": \"%s\",\n", $3
|
||
|
printf " \"endDate\": \"%s\",\n", $3
|
||
|
printf " \"summary\": \"%s\"\n", $4
|
||
|
printf " \"highlights\": ["
|
||
|
printf " " $7
|
||
|
printf " ]"
|
||
|
printf " }%s\n", (NR==NR?"":",")
|
||
|
}' "$input_file"
|
||
|
cat << 'VOLUNTEER_END'
|
||
|
],
|
||
|
VOLUNTEER_END
|
||
|
|
||
|
}
|
||
|
|
||
|
add_awards_section()
|
||
|
|
||
|
{
|
||
|
|
||
|
local input_file=$JSON_TEMPLATE_DIRECTORY/awards.csv
|
||
|
cat << 'AWARDS_START' >> $BUILD_OUTPUT_DIR/resume.json
|
||
|
"awards": [
|
||
|
AWARDS_START
|
||
|
awk -F, 'NR>1 {
|
||
|
printf " {\n"
|
||
|
printf " \"title\": \"%s\",\n", $1
|
||
|
printf " \"date\": \"%s\",\n", $2
|
||
|
printf " \"awarder\": \"%s\",\n", $3
|
||
|
printf " \"summary\": \"%s\"\n", $4
|
||
|
printf " }%s\n", (NR==NR?"":",")
|
||
|
}' "$input_file"
|
||
|
cat << 'AWARDS_END'
|
||
|
],
|
||
|
AWARDS_END
|
||
|
}
|
||
|
|
||
|
|
||
|
add_publications_section()
|
||
|
|
||
|
{
|
||
|
|
||
|
local input_file=$JSON_TEMPLATE_DIRECTORY/publications.csv
|
||
|
cat << 'PUBLICATIONS_START' >> $BUILD_OUTPUT_DIR/resume.json
|
||
|
"publications": [
|
||
|
PUBLICATIONS_START
|
||
|
awk -F, 'NR>1 {
|
||
|
printf " {\n"
|
||
|
printf " \"name\": \"%s\",\n", $1
|
||
|
printf " \"publisher\": \"%s\",\n", $2
|
||
|
printf " \"releaseDate\": \"%s\",\n", $3
|
||
|
printf " \"url\": \"%s\",\n", $4
|
||
|
printf " \"summary\": \"%s\"\n", $5
|
||
|
printf " }%s\n", (NR==NR?"":",")
|
||
|
}' "$input_file"
|
||
|
cat << 'PUBLICATIONS_END'
|
||
|
],
|
||
|
PUBLICATIONS_END
|
||
|
|
||
|
}
|
||
|
|
||
|
add_volunteer_section()
|
||
|
|
||
|
{
|
||
|
|
||
|
local input_file=$JSON_TEMPLATE_DIRECTORY/volunteer.csv
|
||
|
cat << 'VOLUNTEER_START' >> $BUILD_OUTPUT_DIR/resume.json
|
||
|
"volunteer": [
|
||
|
VOLUNTEER_START
|
||
|
awk -F, 'NR>1 {
|
||
|
printf " {\n"
|
||
|
printf " \"organization\": \"%s\",\n", $1
|
||
|
printf " \"position\": \"%s\",\n", $2
|
||
|
printf " \"url\": \"%s\",\n", $3
|
||
|
printf " \"startDate\": \"%s\",\n", $4
|
||
|
printf " \"summary\": \"%s\",\n", $5
|
||
|
printf " \"highlights\": [\n \"%s\"\n ]\n", gensub(/\|/, "\",\n \"", "g", $6)
|
||
|
printf " }%s\n", (NR==NR?"":",")
|
||
|
}' "$input_file"
|
||
|
cat << 'VOLUNTEER_END'
|
||
|
],
|
||
|
VOLUNTEER_END
|
||
|
|
||
|
}
|
||
|
|
||
|
add_skills_section()
|
||
|
|
||
|
{
|
||
|
|
||
|
local input_file="$JSON_TEMPLATE_DIRECTORY/skills.csv"
|
||
|
cat << 'SKILLS_START' >> $BUILD_OUTPUT_DIR/resume.json
|
||
|
"skills": [
|
||
|
SKILLS_START
|
||
|
awk -F, 'NR>1 {
|
||
|
printf " {\n"
|
||
|
printf " \"keywords\": [\n \"%s\"\n ],\n", gensub(/\|/, "\",\n \"", "g", $3)
|
||
|
printf " \"level\": \"%s\",\n", $2
|
||
|
printf " \"name\": \"%s\"\n", $1
|
||
|
printf " }%s\n", (NR==NR?"":",")
|
||
|
}' "$input_file"
|
||
|
cat << 'SKILLS_END'
|
||
|
],
|
||
|
SKILLS_END
|
||
|
|
||
|
}
|
||
|
|
||
|
add_education_section()
|
||
|
|
||
|
{
|
||
|
|
||
|
local input_file="$JSON_TEMPLATE_DIRECTORY/education.csv"
|
||
|
cat << 'EDUCATION_START' >> $BUILD_OUTPUT_DIR/resume.json
|
||
|
"education": [
|
||
|
EDUCATION_START
|
||
|
awk -F, 'NR>1 {
|
||
|
printf " {\n"
|
||
|
printf " \"institution\": \"%s\",\n", $1
|
||
|
if ($2 != "") printf " \"url\": \"%s\",\n", $2
|
||
|
printf " \"area\": \"%s\",\n", $3
|
||
|
printf " \"studyType\": \"%s\",\n", $4
|
||
|
printf " \"startDate\": \"%s\",\n", $5
|
||
|
printf " \"endDate\": \"%s\"", $6
|
||
|
if ($7 != "") printf ",\n \"score\": \"%s\"", $7
|
||
|
if ($8 != "") printf ",\n \"courses\": [\n \"%s\"\n ]", gensub(/\|/, "\",\n \"", "g", $8)
|
||
|
printf "\n }%s\n", (NR==NR?"":",")
|
||
|
}' "$input_file"
|
||
|
cat << 'EDUCATION_END'
|
||
|
],
|
||
|
EDUCATION_END
|
||
|
|
||
|
}
|
||
|
|
||
|
add_languages_section()
|
||
|
|
||
|
{
|
||
|
|
||
|
local input_file="$JSON_TEMPLATE_DIRECTORY/languages.csv"
|
||
|
cat << 'LANGUAGES_START' >> $BUILD_OUTPUT_DIR/resume.json
|
||
|
"languages": [
|
||
|
LANGUAGES_START
|
||
|
awk -F, 'NR>1 {
|
||
|
printf " {\n"
|
||
|
printf " \"language\": \"%s\",\n", $1
|
||
|
printf " \"fluency\": \"%s\"\n", $2
|
||
|
printf " }%s\n", (NR==NR?"":",")
|
||
|
}' "$input_file"
|
||
|
cat << 'LANGUAGES_END'
|
||
|
],
|
||
|
LANGUAGES_END
|
||
|
|
||
|
}
|
||
|
|
||
|
add_interests_section()
|
||
|
|
||
|
{
|
||
|
local input_file="$JSON_TEMPLATE_DIRECTORY/interests.csv"
|
||
|
cat << 'INTERESTS_START' >> $BUILD_OUTPUT_DIR/resume.json
|
||
|
"interests": [
|
||
|
INTERESTS_START
|
||
|
awk -F, 'NR>1 {
|
||
|
printf " {\n"
|
||
|
printf " \"name\": \"%s\",\n", $1
|
||
|
printf " \"keywords\": [\n \"%s\"\n ]\n", gensub(/\|/, "\",\n \"", "g", $2)
|
||
|
printf " }%s\n", (NR==NR?"":",")
|
||
|
}' "$input_file"
|
||
|
cat << 'INTERESTS_END'
|
||
|
],
|
||
|
INTERESTS_END
|
||
|
|
||
|
}
|
||
|
|
||
|
add_references_section()
|
||
|
|
||
|
{
|
||
|
|
||
|
local input_file="$JSON_TEMPLATE_DIRECTORY/references.csv"
|
||
|
cat << 'REFERENCES_START' >> $BUILD_OUTPUT_DIR/resume.json
|
||
|
"references": [
|
||
|
REFERENCES_START
|
||
|
awk -F, 'NR>1 {
|
||
|
printf " {\n"
|
||
|
printf " \"name\": \"%s\",\n", $1
|
||
|
printf " \"reference\": \"%s\"\n", $2
|
||
|
printf " }%s\n", (NR==NR?"":",")
|
||
|
}' "$input_file"
|
||
|
cat << 'REFERENCES_END'
|
||
|
]
|
||
|
REFERENCES_END
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
add_close_section()
|
||
|
|
||
|
{
|
||
|
|
||
|
echo "}" >> $BUILD_OUTPUT_DIR/resume.json
|
||
|
|
||
|
}
|
||
|
|
||
|
main()
|
||
|
|
||
|
{
|
||
|
|
||
|
add_open_section
|
||
|
add_meta_section $JSON_TEMPLATE_DIRECTORY/meta.csv
|
||
|
add_basics_section $JSON_TEMPLATE_DIRECTORY/basics.csv
|
||
|
add_profiles_section $JSON_TEMPLATE_DIRECTORY/profiles.csv
|
||
|
add_work_section $JSON_TEMPLATE_DIRECTORY/work.csv
|
||
|
add_volunteer_section $JSON_TEMPLATE_DIRECTORY/volunteer.csv
|
||
|
add_education-section $JSON_TEMPLATE_DIRECTORY/education.csv
|
||
|
add_awards_section $JSON_TEMPLATE_DIRECTORY/awards.csv
|
||
|
add_certificates_section $JSON_TEMPLATE_DIRECTORY/certificates.csv
|
||
|
add_publications_section $JSON_TEMPLATE_DIRECTORY/publications.csv
|
||
|
add_skills_section $JSON_TEMPLATE_DIRECTORY/skills.csv
|
||
|
add_languages_section $JSON_TEMPLATE_DIRECTORY/languages.csv
|
||
|
add_interests_section $JSON_TEMPLATE_DIRECTORY/interests.csv
|
||
|
add_references_section $JSON_TEMPLATE_DIRECTORY/references.csv
|
||
|
add_projects_section $JSON_TEMPLATE_DIRECTORY/projects.csv
|
||
|
add_close_section
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
main
|