From 9511d3d6ba0d2bc7008d89ca649eb22a0a0f8448 Mon Sep 17 00:00:00 2001 From: Charles N Wyble Date: Fri, 13 Dec 2024 14:32:41 -0600 Subject: [PATCH] json hax --- build/build-pipeline-server-json.sh | 321 ++++++++++++++++++++++++ build/build-pipeline-server-markdown.sh | 11 +- 2 files changed, 329 insertions(+), 3 deletions(-) create mode 100644 build/build-pipeline-server-json.sh diff --git a/build/build-pipeline-server-json.sh b/build/build-pipeline-server-json.sh new file mode 100644 index 0000000..9365cff --- /dev/null +++ b/build/build-pipeline-server-json.sh @@ -0,0 +1,321 @@ +#!/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 \ No newline at end of file diff --git a/build/build-pipeline-server-markdown.sh b/build/build-pipeline-server-markdown.sh index 25162c0..89e9d0c 100644 --- a/build/build-pipeline-server-markdown.sh +++ b/build/build-pipeline-server-markdown.sh @@ -4,11 +4,11 @@ #Markdown to PDF/MSWord Resumek and candidate info sheet ##################################################################################################### -# Expand variables into rendered YAML files. These will be used by pandoc to create the output artifacts +############################################# +# Create the candidate information PDF +############################################# $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..." @@ -22,6 +22,11 @@ pandoc \ --to=pdf \ --output $CandidateInfoSheetPDFOutputFile +# Expand variables into rendered YAML files. These will be used by pandoc to create the output artifacts + +$MO_PATH $PipelineClientWorkingDir/build/BuildTemplate-JobBoard.yml > $BUILDYAML_JOBBOARD +$MO_PATH $PipelineClientWorkingDir/build/BuildTemplate-ClientSubmission.yml > $BUILDYAML_CLIENTSUBMISSION + echo "Combining markdown files into single input file for pandoc..." # Create contact info md file