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
This commit is contained in:
		| @@ -32,6 +32,8 @@ META | ||||
|  | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| add_basics_section()  | ||||
|  | ||||
| { | ||||
| @@ -56,147 +58,47 @@ BASICS | ||||
|  | ||||
| } | ||||
|  | ||||
| add_work_section()  | ||||
|  | ||||
| # Bash Function to Append JSON | ||||
| add_profiles_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 | ||||
|   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_volunteer_section()  | ||||
| add_certificates_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()  | ||||
|  | ||||
|   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 | ||||
|  | ||||
|     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 | ||||
|   # Remove trailing comma and close JSON array | ||||
|   sed -i '$ s/},/}/' $BUILD_OUTPUT_DIR/resume.json | ||||
|   echo ']}' >> $BUILD_OUTPUT_DIR/resume.json | ||||
|  | ||||
| } | ||||
|  | ||||
| @@ -204,64 +106,25 @@ 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()  | ||||
|  | ||||
|   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 | ||||
|  | ||||
|     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 | ||||
|   # Remove trailing comma and close JSON array | ||||
|   sed -i '$ s/},/}/' $BUILD_OUTPUT_DIR/resume.json | ||||
|   echo ']}' >> $BUILD_OUTPUT_DIR/resume.json | ||||
|  | ||||
| } | ||||
|  | ||||
| @@ -269,22 +132,178 @@ 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 | ||||
|   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()  | ||||
|  | ||||
| @@ -299,20 +318,19 @@ 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_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 | ||||
|  | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user