@jaimanm/resumake 1.0.0 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/npm-publish.yml +0 -2
- package/CONTRIBUTING.md +14 -1
- package/package.json +5 -1
- package/src/commands/config.js +5 -2
- package/src/commands/setup.js +6 -4
- package/src/index.js +4 -2
- package/templates/awesome-cv/.github/workflows/build-resume.yml +65 -0
- package/templates/awesome-cv/README.md +1 -0
- package/templates/awesome-cv/awesome-cv.cls +885 -0
- package/templates/awesome-cv/build_all.sh +12 -0
- package/templates/awesome-cv/cv/certificates.tex +111 -0
- package/templates/awesome-cv/cv/committees.tex +48 -0
- package/templates/awesome-cv/cv/education.tex +25 -0
- package/templates/awesome-cv/cv/experience.tex +186 -0
- package/templates/awesome-cv/cv/extracurricular.tex +81 -0
- package/templates/awesome-cv/cv/honors.tex +181 -0
- package/templates/awesome-cv/cv/presentation.tex +50 -0
- package/templates/awesome-cv/cv/skills.tex +38 -0
- package/templates/awesome-cv/cv/writing.tex +37 -0
- package/templates/awesome-cv/cv.tex +114 -0
- package/templates/jakes-cv/.github/workflows/build-resume.yml +65 -0
- package/templates/jakes-cv/README.md +29 -0
- package/templates/jakes-cv/build_all.sh +22 -0
- package/templates/jakes-cv/cv-sections/certificates.tex +8 -0
- package/templates/jakes-cv/cv-sections/committees.tex +19 -0
- package/templates/jakes-cv/cv-sections/education.tex +10 -0
- package/templates/jakes-cv/cv-sections/experience.tex +22 -0
- package/templates/jakes-cv/cv-sections/extracurricular.tex +20 -0
- package/templates/jakes-cv/cv-sections/honors.tex +10 -0
- package/templates/jakes-cv/cv-sections/presentation.tex +19 -0
- package/templates/jakes-cv/cv-sections/projects.tex +15 -0
- package/templates/jakes-cv/cv-sections/skills.tex +10 -0
- package/templates/jakes-cv/cv-sections/writing.tex +19 -0
- package/templates/jakes-cv/cv.tex +174 -0
- package/templates/jakes-cv/fonts/Roboto-Bold.ttf +0 -0
- package/templates/jakes-cv/fonts/Roboto-BoldItalic.ttf +0 -0
- package/templates/jakes-cv/fonts/Roboto-Italic.ttf +0 -0
- package/templates/jakes-cv/fonts/Roboto-Light.ttf +0 -0
- package/templates/jakes-cv/fonts/Roboto-LightItalic.ttf +0 -0
- package/templates/jakes-cv/fonts/Roboto-Medium.ttf +0 -0
- package/templates/jakes-cv/fonts/Roboto-MediumItalic.ttf +0 -0
- package/templates/jakes-cv/fonts/Roboto-Regular.ttf +0 -0
- package/templates/jakes-cv/fonts/Roboto-Thin.ttf +0 -0
- package/templates/jakes-cv/fonts/Roboto-ThinItalic.ttf +0 -0
- package/templates/jakes-resume/.github/workflows/build-resume.yml +65 -0
- package/templates/jakes-resume/README.md +1 -0
- package/templates/jakes-resume/build_all.sh +7 -0
- package/templates/jakes-resume/resume.tex +218 -0
- package/templates/modular-multi/.github/workflows/build-resume.yml +65 -0
- package/templates/modular-multi/README.md +1 -0
- package/templates/modular-multi/build_all.sh +23 -0
- package/templates/modular-multi/resume_aiml.tex +5 -0
- package/templates/modular-multi/resume_backend.tex +5 -0
- package/templates/modular-multi/resume_content.tex +136 -0
- package/templates/modular-multi/resume_preamble.tex +87 -0
- package/templates/modular-multi/resume_quantum.tex +5 -0
- package/templates/modular-multi/test.txt +80 -0
- package/tests/index.test.js +22 -90
- package/tests/setup.test.js +8 -4
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
%-------------------------
|
|
2
|
+
% CV in LaTeX
|
|
3
|
+
% Based off of: Jake's Resume (https://github.com/sb2nov/resume)
|
|
4
|
+
% Extended with: Awesome-CV sections (https://github.com/posquit0/Awesome-CV)
|
|
5
|
+
% License : MIT
|
|
6
|
+
%------------------------
|
|
7
|
+
|
|
8
|
+
\documentclass[letterpaper,11pt]{article}
|
|
9
|
+
|
|
10
|
+
\usepackage{latexsym}
|
|
11
|
+
\usepackage[empty]{fullpage}
|
|
12
|
+
\usepackage{titlesec}
|
|
13
|
+
\usepackage{marvosym}
|
|
14
|
+
\usepackage[usenames,dvipsnames]{color}
|
|
15
|
+
\usepackage{verbatim}
|
|
16
|
+
\usepackage{enumitem}
|
|
17
|
+
\usepackage[hidelinks]{hyperref}
|
|
18
|
+
\usepackage{fancyhdr}
|
|
19
|
+
\usepackage[english]{babel}
|
|
20
|
+
\usepackage{tabularx}
|
|
21
|
+
\usepackage{etoolbox} % for toggles
|
|
22
|
+
\input{glyphtounicode}
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
%----------FONT OPTIONS----------
|
|
26
|
+
% sans-serif
|
|
27
|
+
% \usepackage[sfdefault]{FiraSans}
|
|
28
|
+
% \usepackage[sfdefault]{roboto}
|
|
29
|
+
% \usepackage[sfdefault]{noto-sans}
|
|
30
|
+
% \usepackage[default]{sourcesanspro}
|
|
31
|
+
|
|
32
|
+
% serif
|
|
33
|
+
% \usepackage{CormorantGaramond}
|
|
34
|
+
% \usepackage{charter}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
\pagestyle{fancy}
|
|
38
|
+
\fancyhf{} % clear all header and footer fields
|
|
39
|
+
\fancyfoot{}
|
|
40
|
+
\renewcommand{\headrulewidth}{0pt}
|
|
41
|
+
\renewcommand{\footrulewidth}{0pt}
|
|
42
|
+
|
|
43
|
+
% Adjust margins
|
|
44
|
+
\addtolength{\oddsidemargin}{-0.5in}
|
|
45
|
+
\addtolength{\evensidemargin}{-0.5in}
|
|
46
|
+
\addtolength{\textwidth}{1in}
|
|
47
|
+
\addtolength{\topmargin}{-.5in}
|
|
48
|
+
\addtolength{\textheight}{1.0in}
|
|
49
|
+
|
|
50
|
+
\urlstyle{same}
|
|
51
|
+
|
|
52
|
+
\raggedbottom
|
|
53
|
+
\raggedright
|
|
54
|
+
\setlength{\tabcolsep}{0in}
|
|
55
|
+
|
|
56
|
+
% Sections formatting
|
|
57
|
+
\titleformat{\section}{
|
|
58
|
+
\vspace{-4pt}\scshape\raggedright\large
|
|
59
|
+
}{}{0em}{}[\color{black}\titlerule \vspace{-5pt}]
|
|
60
|
+
|
|
61
|
+
% Ensure that generated pdf is machine readable/ATS parsable
|
|
62
|
+
\pdfgentounicode=1
|
|
63
|
+
|
|
64
|
+
%-------------------------
|
|
65
|
+
% Custom commands
|
|
66
|
+
\newcommand{\resumeItem}[1]{
|
|
67
|
+
\item\small{
|
|
68
|
+
{#1 \vspace{-2pt}}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
\newcommand{\resumeSubheading}[4]{
|
|
73
|
+
\vspace{-2pt}\item
|
|
74
|
+
\begin{tabular*}{0.97\textwidth}[t]{l@{\extracolsep{\fill}}r}
|
|
75
|
+
\textbf{#1} & #2 \\
|
|
76
|
+
\textit{\small#3} & \textit{\small #4} \\
|
|
77
|
+
\end{tabular*}\vspace{-7pt}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
\newcommand{\resumeSubSubheading}[2]{
|
|
81
|
+
\item
|
|
82
|
+
\begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
|
|
83
|
+
\textit{\small#1} & \textit{\small #2} \\
|
|
84
|
+
\end{tabular*}\vspace{-7pt}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
\newcommand{\resumeProjectHeading}[2]{
|
|
88
|
+
\item
|
|
89
|
+
\begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
|
|
90
|
+
\small#1 & #2 \\
|
|
91
|
+
\end{tabular*}\vspace{-7pt}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
\newcommand{\resumeAwardItem}[4]{
|
|
95
|
+
\item
|
|
96
|
+
\begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
|
|
97
|
+
\small{\textbf{#1}, #2} & \textit{\small #3 \enspace #4} \\
|
|
98
|
+
\end{tabular*}\vspace{-4pt}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
\newcommand{\resumeSubItem}[1]{\resumeItem{#1}\vspace{-4pt}}
|
|
102
|
+
|
|
103
|
+
\renewcommand\labelitemii{$\vcenter{\hbox{\tiny$\bullet$}}$}
|
|
104
|
+
|
|
105
|
+
\newcommand{\resumeSubHeadingListStart}{\begin{itemize}[leftmargin=0.15in, label={}]}
|
|
106
|
+
\newcommand{\resumeSubHeadingListEnd}{\end{itemize}}
|
|
107
|
+
\newcommand{\resumeItemListStart}{\begin{itemize}}
|
|
108
|
+
\newcommand{\resumeItemListEnd}{\end{itemize}\vspace{-5pt}}
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
%==========================================================================
|
|
112
|
+
% SECTION TOGGLES
|
|
113
|
+
% Set \toggletrue{...} to SHOW a section, \togglefalse{...} to HIDE it.
|
|
114
|
+
%==========================================================================
|
|
115
|
+
\newtoggle{education}
|
|
116
|
+
\newtoggle{skills}
|
|
117
|
+
\newtoggle{experience}
|
|
118
|
+
\newtoggle{projects}
|
|
119
|
+
\newtoggle{extracurricular}
|
|
120
|
+
\newtoggle{honors}
|
|
121
|
+
\newtoggle{certificates}
|
|
122
|
+
\newtoggle{presentation}
|
|
123
|
+
\newtoggle{writing}
|
|
124
|
+
\newtoggle{committees}
|
|
125
|
+
|
|
126
|
+
\toggletrue{education}
|
|
127
|
+
\toggletrue{skills}
|
|
128
|
+
\toggletrue{experience}
|
|
129
|
+
\toggletrue{projects}
|
|
130
|
+
\toggletrue{extracurricular}
|
|
131
|
+
\toggletrue{honors}
|
|
132
|
+
\toggletrue{certificates}
|
|
133
|
+
\toggletrue{presentation}
|
|
134
|
+
\toggletrue{writing}
|
|
135
|
+
\toggletrue{committees}
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
%===========================================================================
|
|
139
|
+
%%%%%% CV STARTS HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
140
|
+
%===========================================================================
|
|
141
|
+
|
|
142
|
+
\begin{document}
|
|
143
|
+
|
|
144
|
+
%----------HEADING----------
|
|
145
|
+
% Set your first and last name here. These are also used to generate the PDF filename.
|
|
146
|
+
\newcommand{\firstname}{Your}
|
|
147
|
+
\newcommand{\lastname}{Name}
|
|
148
|
+
|
|
149
|
+
\begin{center}
|
|
150
|
+
\textbf{\Huge \scshape \firstname{} \lastname{}} \\ \vspace{1pt}
|
|
151
|
+
\small 123-456-7890 $|$ \href{mailto:you@email.com}{\underline{you@email.com}} $|$
|
|
152
|
+
\href{https://linkedin.com/in/yourprofile}{\underline{linkedin.com/in/yourprofile}} $|$
|
|
153
|
+
\href{https://github.com/yourprofile}{\underline{github.com/yourprofile}}
|
|
154
|
+
\end{center}
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
%----------SECTIONS----------
|
|
158
|
+
% Each section is imported from its own file in the cv-sections/ directory.
|
|
159
|
+
% To hide a section, change its toggle above to \togglefalse{...}
|
|
160
|
+
|
|
161
|
+
\iftoggle{education}{\input{cv-sections/education.tex}}{}
|
|
162
|
+
\iftoggle{skills}{\input{cv-sections/skills.tex}}{}
|
|
163
|
+
\iftoggle{experience}{\input{cv-sections/experience.tex}}{}
|
|
164
|
+
\iftoggle{projects}{\input{cv-sections/projects.tex}}{}
|
|
165
|
+
\iftoggle{extracurricular}{\input{cv-sections/extracurricular.tex}}{}
|
|
166
|
+
\iftoggle{honors}{\input{cv-sections/honors.tex}}{}
|
|
167
|
+
\iftoggle{certificates}{\input{cv-sections/certificates.tex}}{}
|
|
168
|
+
\iftoggle{presentation}{\input{cv-sections/presentation.tex}}{}
|
|
169
|
+
\iftoggle{writing}{\input{cv-sections/writing.tex}}{}
|
|
170
|
+
\iftoggle{committees}{\input{cv-sections/committees.tex}}{}
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
%-------------------------------------------
|
|
174
|
+
\end{document}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
name: Build, Sync, and Release Official PDFs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: write
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
build-and-release:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- name: Checkout repository
|
|
17
|
+
uses: actions/checkout@v4
|
|
18
|
+
|
|
19
|
+
- name: Install LaTeX environment (Cached)
|
|
20
|
+
uses: awalsh128/cache-apt-pkgs-action@latest
|
|
21
|
+
with:
|
|
22
|
+
packages: texlive-latex-base texlive-latex-extra texlive-fonts-recommended texlive-fonts-extra texlive-science latexmk
|
|
23
|
+
version: 1.0
|
|
24
|
+
|
|
25
|
+
- name: Build Official PDFs
|
|
26
|
+
run: |
|
|
27
|
+
chmod +x build_all.sh
|
|
28
|
+
./build_all.sh
|
|
29
|
+
|
|
30
|
+
# ---------------------------------------------------------
|
|
31
|
+
# STEP 1: SYNC TO GOOGLE DRIVE (FINDER)
|
|
32
|
+
# ---------------------------------------------------------
|
|
33
|
+
- name: Install and Configure rclone
|
|
34
|
+
run: |
|
|
35
|
+
sudo apt-get install -y rclone
|
|
36
|
+
mkdir -p ~/.config/rclone
|
|
37
|
+
echo '${{ secrets.RCLONE_CONF }}' > ~/.config/rclone/rclone.conf
|
|
38
|
+
|
|
39
|
+
- name: Sync to Google Drive
|
|
40
|
+
run: |
|
|
41
|
+
# The sync command makes the Google Drive 'Resumes' folder exactly match the local PDF_Exports folder
|
|
42
|
+
# It will delete files in the drive that are not in PDF_Exports
|
|
43
|
+
rclone sync PDF_Exports/ gdrive:Resumes/
|
|
44
|
+
|
|
45
|
+
# ---------------------------------------------------------
|
|
46
|
+
# STEP 2: HISTORICAL RELEASE (ZIP)
|
|
47
|
+
# ---------------------------------------------------------
|
|
48
|
+
- name: Generate Release Version
|
|
49
|
+
id: version
|
|
50
|
+
run: |
|
|
51
|
+
DATE=$(date +'%Y-%m-%d')
|
|
52
|
+
echo "tag=${DATE}_v${{ github.run_number }}" >> $GITHUB_OUTPUT
|
|
53
|
+
echo "name=Release ${DATE} (Build ${{ github.run_number }})" >> $GITHUB_OUTPUT
|
|
54
|
+
|
|
55
|
+
- name: Zip for Release
|
|
56
|
+
run: zip -r Official_Resumes.zip PDF_Exports/
|
|
57
|
+
|
|
58
|
+
- name: Create GitHub Release
|
|
59
|
+
uses: softprops/action-gh-release@v2
|
|
60
|
+
with:
|
|
61
|
+
tag_name: ${{ steps.version.outputs.tag }}
|
|
62
|
+
name: ${{ steps.version.outputs.name }}
|
|
63
|
+
files: Official_Resumes.zip
|
|
64
|
+
env:
|
|
65
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Auto Resume Template
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
mkdir -p PDF_Exports
|
|
3
|
+
echo "Building Jake's Resume..."
|
|
4
|
+
latexmk -pdf -interaction=nonstopmode -halt-on-error -jobname="Jakes_Resume" -output-directory="PDF_Exports" resume.tex
|
|
5
|
+
find PDF_Exports -type f ! -name "*.pdf" -delete
|
|
6
|
+
echo "Done! Your PDFs are organized in the PDF_Exports directory."
|
|
7
|
+
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
%-------------------------
|
|
2
|
+
% Resume in Latex
|
|
3
|
+
% Author : Jake Gutierrez
|
|
4
|
+
% Based off of: https://github.com/sb2nov/resume
|
|
5
|
+
% License : MIT
|
|
6
|
+
%------------------------
|
|
7
|
+
|
|
8
|
+
\documentclass[letterpaper,11pt]{article}
|
|
9
|
+
|
|
10
|
+
\usepackage{latexsym}
|
|
11
|
+
\usepackage[empty]{fullpage}
|
|
12
|
+
\usepackage{titlesec}
|
|
13
|
+
\usepackage{marvosym}
|
|
14
|
+
\usepackage[usenames,dvipsnames]{color}
|
|
15
|
+
\usepackage{verbatim}
|
|
16
|
+
\usepackage{enumitem}
|
|
17
|
+
\usepackage[hidelinks]{hyperref}
|
|
18
|
+
\usepackage{fancyhdr}
|
|
19
|
+
\usepackage[english]{babel}
|
|
20
|
+
\usepackage{tabularx}
|
|
21
|
+
\input{glyphtounicode}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
%----------FONT OPTIONS----------
|
|
25
|
+
% sans-serif
|
|
26
|
+
% \usepackage[sfdefault]{FiraSans}
|
|
27
|
+
% \usepackage[sfdefault]{roboto}
|
|
28
|
+
% \usepackage[sfdefault]{noto-sans}
|
|
29
|
+
% \usepackage[default]{sourcesanspro}
|
|
30
|
+
|
|
31
|
+
% serif
|
|
32
|
+
% \usepackage{CormorantGaramond}
|
|
33
|
+
% \usepackage{charter}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
\pagestyle{fancy}
|
|
37
|
+
\fancyhf{} % clear all header and footer fields
|
|
38
|
+
\fancyfoot{}
|
|
39
|
+
\renewcommand{\headrulewidth}{0pt}
|
|
40
|
+
\renewcommand{\footrulewidth}{0pt}
|
|
41
|
+
|
|
42
|
+
% Adjust margins
|
|
43
|
+
\addtolength{\oddsidemargin}{-0.5in}
|
|
44
|
+
\addtolength{\evensidemargin}{-0.5in}
|
|
45
|
+
\addtolength{\textwidth}{1in}
|
|
46
|
+
\addtolength{\topmargin}{-.5in}
|
|
47
|
+
\addtolength{\textheight}{1.0in}
|
|
48
|
+
|
|
49
|
+
\urlstyle{same}
|
|
50
|
+
|
|
51
|
+
\raggedbottom
|
|
52
|
+
\raggedright
|
|
53
|
+
\setlength{\tabcolsep}{0in}
|
|
54
|
+
|
|
55
|
+
% Sections formatting
|
|
56
|
+
\titleformat{\section}{
|
|
57
|
+
\vspace{-4pt}\scshape\raggedright\large
|
|
58
|
+
}{}{0em}{}[\color{black}\titlerule \vspace{-5pt}]
|
|
59
|
+
|
|
60
|
+
% Ensure that generate pdf is machine readable/ATS parsable
|
|
61
|
+
\pdfgentounicode=1
|
|
62
|
+
|
|
63
|
+
%-------------------------
|
|
64
|
+
% Custom commands
|
|
65
|
+
\newcommand{\resumeItem}[1]{
|
|
66
|
+
\item\small{
|
|
67
|
+
{#1 \vspace{-2pt}}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
\newcommand{\resumeSubheading}[4]{
|
|
72
|
+
\vspace{-2pt}\item
|
|
73
|
+
\begin{tabular*}{0.97\textwidth}[t]{l@{\extracolsep{\fill}}r}
|
|
74
|
+
\textbf{#1} & #2 \\
|
|
75
|
+
\textit{\small#3} & \textit{\small #4} \\
|
|
76
|
+
\end{tabular*}\vspace{-7pt}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
\newcommand{\resumeSubSubheading}[2]{
|
|
80
|
+
\item
|
|
81
|
+
\begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
|
|
82
|
+
\textit{\small#1} & \textit{\small #2} \\
|
|
83
|
+
\end{tabular*}\vspace{-7pt}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
\newcommand{\resumeProjectHeading}[2]{
|
|
87
|
+
\item
|
|
88
|
+
\begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
|
|
89
|
+
\small#1 & #2 \\
|
|
90
|
+
\end{tabular*}\vspace{-7pt}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
\newcommand{\resumeSubItem}[1]{\resumeItem{#1}\vspace{-4pt}}
|
|
94
|
+
|
|
95
|
+
\renewcommand\labelitemii{$\vcenter{\hbox{\tiny$\bullet$}}$}
|
|
96
|
+
|
|
97
|
+
\newcommand{\resumeSubHeadingListStart}{\begin{itemize}[leftmargin=0.15in, label={}]}
|
|
98
|
+
\newcommand{\resumeSubHeadingListEnd}{\end{itemize}}
|
|
99
|
+
\newcommand{\resumeItemListStart}{\begin{itemize}}
|
|
100
|
+
\newcommand{\resumeItemListEnd}{\end{itemize}\vspace{-5pt}}
|
|
101
|
+
|
|
102
|
+
%-------------------------------------------
|
|
103
|
+
%%%%%% RESUME STARTS HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
\begin{document}
|
|
107
|
+
|
|
108
|
+
%----------HEADING----------
|
|
109
|
+
% \begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r}
|
|
110
|
+
% \textbf{\href{http://sourabhbajaj.com/}{\Large Sourabh Bajaj}} & Email : \href{mailto:sourabh@sourabhbajaj.com}{sourabh@sourabhbajaj.com}\\
|
|
111
|
+
% \href{http://sourabhbajaj.com/}{http://www.sourabhbajaj.com} & Mobile : +1-123-456-7890 \\
|
|
112
|
+
% \end{tabular*}
|
|
113
|
+
|
|
114
|
+
\begin{center}
|
|
115
|
+
\textbf{\Huge \scshape Jake Ryan} \\ \vspace{1pt}
|
|
116
|
+
\small 123-456-7890 $|$ \href{mailto:x@x.com}{\underline{jake@su.edu}} $|$
|
|
117
|
+
\href{https://linkedin.com/in/...}{\underline{linkedin.com/in/jake}} $|$
|
|
118
|
+
\href{https://github.com/...}{\underline{github.com/jake}}
|
|
119
|
+
\end{center}
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
%-----------EDUCATION-----------
|
|
123
|
+
\section{Education}
|
|
124
|
+
\resumeSubHeadingListStart
|
|
125
|
+
\resumeSubheading
|
|
126
|
+
{Southwestern University}{Georgetown, TX}
|
|
127
|
+
{Bachelor of Arts in Computer Science, Minor in Business}{Aug. 2018 -- May 2021}
|
|
128
|
+
\resumeSubheading
|
|
129
|
+
{Blinn College}{Bryan, TX}
|
|
130
|
+
{Associate's in Liberal Arts}{Aug. 2014 -- May 2018}
|
|
131
|
+
\resumeSubHeadingListEnd
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
%-----------EXPERIENCE-----------
|
|
135
|
+
\section{Experience}
|
|
136
|
+
\resumeSubHeadingListStart
|
|
137
|
+
|
|
138
|
+
\resumeSubheading
|
|
139
|
+
{Undergraduate Research Assistant}{June 2020 -- Present}
|
|
140
|
+
{Texas A\&M University}{College Station, TX}
|
|
141
|
+
\resumeItemListStart
|
|
142
|
+
\resumeItem{Developed a REST API using FastAPI and PostgreSQL to store data from learning management systems}
|
|
143
|
+
\resumeItem{Developed a full-stack web application using Flask, React, PostgreSQL and Docker to analyze GitHub data}
|
|
144
|
+
\resumeItem{Explored ways to visualize GitHub collaboration in a classroom setting}
|
|
145
|
+
\resumeItemListEnd
|
|
146
|
+
|
|
147
|
+
% -----------Multiple Positions Heading-----------
|
|
148
|
+
% \resumeSubSubheading
|
|
149
|
+
% {Software Engineer I}{Oct 2014 - Sep 2016}
|
|
150
|
+
% \resumeItemListStart
|
|
151
|
+
% \resumeItem{Apache Beam}
|
|
152
|
+
% {Apache Beam is a unified model for defining both batch and streaming data-parallel processing pipelines}
|
|
153
|
+
% \resumeItemListEnd
|
|
154
|
+
% \resumeSubHeadingListEnd
|
|
155
|
+
%-------------------------------------------
|
|
156
|
+
|
|
157
|
+
\resumeSubheading
|
|
158
|
+
{Information Technology Support Specialist}{Sep. 2018 -- Present}
|
|
159
|
+
{Southwestern University}{Georgetown, TX}
|
|
160
|
+
\resumeItemListStart
|
|
161
|
+
\resumeItem{Communicate with managers to set up campus computers used on campus}
|
|
162
|
+
\resumeItem{Assess and troubleshoot computer problems brought by students, faculty and staff}
|
|
163
|
+
\resumeItem{Maintain upkeep of computers, classroom equipment, and 200 printers across campus}
|
|
164
|
+
\resumeItemListEnd
|
|
165
|
+
|
|
166
|
+
\resumeSubheading
|
|
167
|
+
{Artificial Intelligence Research Assistant}{May 2019 -- July 2019}
|
|
168
|
+
{Southwestern University}{Georgetown, TX}
|
|
169
|
+
\resumeItemListStart
|
|
170
|
+
\resumeItem{Explored methods to generate video game dungeons based off of \emph{The Legend of Zelda}}
|
|
171
|
+
\resumeItem{Developed a game in Java to test the generated dungeons}
|
|
172
|
+
\resumeItem{Contributed 50K+ lines of code to an established codebase via Git}
|
|
173
|
+
\resumeItem{Conducted a human subject study to determine which video game dungeon generation technique is enjoyable}
|
|
174
|
+
\resumeItem{Wrote an 8-page paper and gave multiple presentations on-campus}
|
|
175
|
+
\resumeItem{Presented virtually to the World Conference on Computational Intelligence}
|
|
176
|
+
\resumeItemListEnd
|
|
177
|
+
|
|
178
|
+
\resumeSubHeadingListEnd
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
%-----------PROJECTS-----------
|
|
182
|
+
\section{Projects}
|
|
183
|
+
\resumeSubHeadingListStart
|
|
184
|
+
\resumeProjectHeading
|
|
185
|
+
{\textbf{Gitlytics} $|$ \emph{Python, Flask, React, PostgreSQL, Docker}}{June 2020 -- Present}
|
|
186
|
+
\resumeItemListStart
|
|
187
|
+
\resumeItem{Developed a full-stack web application using with Flask serving a REST API with React as the frontend}
|
|
188
|
+
\resumeItem{Implemented GitHub OAuth to get data from user’s repositories}
|
|
189
|
+
\resumeItem{Visualized GitHub data to show collaboration}
|
|
190
|
+
\resumeItem{Used Celery and Redis for asynchronous tasks}
|
|
191
|
+
\resumeItemListEnd
|
|
192
|
+
\resumeProjectHeading
|
|
193
|
+
{\textbf{Simple Paintball} $|$ \emph{Spigot API, Java, Maven, TravisCI, Git}}{May 2018 -- May 2020}
|
|
194
|
+
\resumeItemListStart
|
|
195
|
+
\resumeItem{Developed a Minecraft server plugin to entertain kids during free time for a previous job}
|
|
196
|
+
\resumeItem{Published plugin to websites gaining 2K+ downloads and an average 4.5/5-star review}
|
|
197
|
+
\resumeItem{Implemented continuous delivery using TravisCI to build the plugin upon new a release}
|
|
198
|
+
\resumeItem{Collaborated with Minecraft server administrators to suggest features and get feedback about the plugin}
|
|
199
|
+
\resumeItemListEnd
|
|
200
|
+
\resumeSubHeadingListEnd
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
%
|
|
205
|
+
%-----------PROGRAMMING SKILLS-----------
|
|
206
|
+
\section{Technical Skills}
|
|
207
|
+
\begin{itemize}[leftmargin=0.15in, label={}]
|
|
208
|
+
\small{\item{
|
|
209
|
+
\textbf{Languages}{: Java, Python, C/C++, SQL (Postgres), JavaScript, HTML/CSS, R} \\
|
|
210
|
+
\textbf{Frameworks}{: React, Node.js, Flask, JUnit, WordPress, Material-UI, FastAPI} \\
|
|
211
|
+
\textbf{Developer Tools}{: Git, Docker, TravisCI, Google Cloud Platform, VS Code, Visual Studio, PyCharm, IntelliJ, Eclipse} \\
|
|
212
|
+
\textbf{Libraries}{: pandas, NumPy, Matplotlib}
|
|
213
|
+
}}
|
|
214
|
+
\end{itemize}
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
%-------------------------------------------
|
|
218
|
+
\end{document}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
name: Build, Sync, and Release Official PDFs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: write
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
build-and-release:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- name: Checkout repository
|
|
17
|
+
uses: actions/checkout@v4
|
|
18
|
+
|
|
19
|
+
- name: Install LaTeX environment (Cached)
|
|
20
|
+
uses: awalsh128/cache-apt-pkgs-action@latest
|
|
21
|
+
with:
|
|
22
|
+
packages: texlive-latex-base texlive-latex-extra texlive-fonts-recommended texlive-fonts-extra texlive-science latexmk
|
|
23
|
+
version: 1.0
|
|
24
|
+
|
|
25
|
+
- name: Build Official PDFs
|
|
26
|
+
run: |
|
|
27
|
+
chmod +x build_all.sh
|
|
28
|
+
./build_all.sh
|
|
29
|
+
|
|
30
|
+
# ---------------------------------------------------------
|
|
31
|
+
# STEP 1: SYNC TO GOOGLE DRIVE (FINDER)
|
|
32
|
+
# ---------------------------------------------------------
|
|
33
|
+
- name: Install and Configure rclone
|
|
34
|
+
run: |
|
|
35
|
+
sudo apt-get install -y rclone
|
|
36
|
+
mkdir -p ~/.config/rclone
|
|
37
|
+
echo '${{ secrets.RCLONE_CONF }}' > ~/.config/rclone/rclone.conf
|
|
38
|
+
|
|
39
|
+
- name: Sync to Google Drive
|
|
40
|
+
run: |
|
|
41
|
+
# The sync command makes the Google Drive 'Resumes' folder exactly match the local PDF_Exports folder
|
|
42
|
+
# It will delete files in the drive that are not in PDF_Exports
|
|
43
|
+
rclone sync PDF_Exports/ gdrive:Resumes/
|
|
44
|
+
|
|
45
|
+
# ---------------------------------------------------------
|
|
46
|
+
# STEP 2: HISTORICAL RELEASE (ZIP)
|
|
47
|
+
# ---------------------------------------------------------
|
|
48
|
+
- name: Generate Release Version
|
|
49
|
+
id: version
|
|
50
|
+
run: |
|
|
51
|
+
DATE=$(date +'%Y-%m-%d')
|
|
52
|
+
echo "tag=${DATE}_v${{ github.run_number }}" >> $GITHUB_OUTPUT
|
|
53
|
+
echo "name=Release ${DATE} (Build ${{ github.run_number }})" >> $GITHUB_OUTPUT
|
|
54
|
+
|
|
55
|
+
- name: Zip for Release
|
|
56
|
+
run: zip -r Official_Resumes.zip PDF_Exports/
|
|
57
|
+
|
|
58
|
+
- name: Create GitHub Release
|
|
59
|
+
uses: softprops/action-gh-release@v2
|
|
60
|
+
with:
|
|
61
|
+
tag_name: ${{ steps.version.outputs.tag }}
|
|
62
|
+
name: ${{ steps.version.outputs.name }}
|
|
63
|
+
files: Official_Resumes.zip
|
|
64
|
+
env:
|
|
65
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Auto Resume Template
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Create identifying output directories
|
|
4
|
+
mkdir -p PDF_Exports/Backend
|
|
5
|
+
mkdir -p PDF_Exports/AIML
|
|
6
|
+
mkdir -p PDF_Exports/Quantum
|
|
7
|
+
|
|
8
|
+
echo "Building Backend Resume..."
|
|
9
|
+
latexmk -pdf -jobname="Jaiman_Munshi_Resume" -output-directory="PDF_Exports/Backend" resume_backend.tex
|
|
10
|
+
|
|
11
|
+
echo "Building AI/ML Resume..."
|
|
12
|
+
latexmk -pdf -jobname="Jaiman_Munshi_Resume" -output-directory="PDF_Exports/AIML" resume_aiml.tex
|
|
13
|
+
|
|
14
|
+
echo "Building Quantum Resume..."
|
|
15
|
+
latexmk -pdf -jobname="Jaiman_Munshi_Resume" -output-directory="PDF_Exports/Quantum" resume_quantum.tex
|
|
16
|
+
|
|
17
|
+
# Clean up all LaTeX auxiliary files, leaving ONLY the PDFs in the export directories
|
|
18
|
+
find PDF_Exports -type f ! -name "*.pdf" -delete
|
|
19
|
+
|
|
20
|
+
echo "Done! Your beautifully named PDFs are organized in the PDF_Exports directory."
|
|
21
|
+
|
|
22
|
+
# Clean up auxiliary build folders to keep the workspace clean
|
|
23
|
+
rm -rf resume_*_build
|