@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.
Files changed (59) hide show
  1. package/.github/workflows/npm-publish.yml +0 -2
  2. package/CONTRIBUTING.md +14 -1
  3. package/package.json +5 -1
  4. package/src/commands/config.js +5 -2
  5. package/src/commands/setup.js +6 -4
  6. package/src/index.js +4 -2
  7. package/templates/awesome-cv/.github/workflows/build-resume.yml +65 -0
  8. package/templates/awesome-cv/README.md +1 -0
  9. package/templates/awesome-cv/awesome-cv.cls +885 -0
  10. package/templates/awesome-cv/build_all.sh +12 -0
  11. package/templates/awesome-cv/cv/certificates.tex +111 -0
  12. package/templates/awesome-cv/cv/committees.tex +48 -0
  13. package/templates/awesome-cv/cv/education.tex +25 -0
  14. package/templates/awesome-cv/cv/experience.tex +186 -0
  15. package/templates/awesome-cv/cv/extracurricular.tex +81 -0
  16. package/templates/awesome-cv/cv/honors.tex +181 -0
  17. package/templates/awesome-cv/cv/presentation.tex +50 -0
  18. package/templates/awesome-cv/cv/skills.tex +38 -0
  19. package/templates/awesome-cv/cv/writing.tex +37 -0
  20. package/templates/awesome-cv/cv.tex +114 -0
  21. package/templates/jakes-cv/.github/workflows/build-resume.yml +65 -0
  22. package/templates/jakes-cv/README.md +29 -0
  23. package/templates/jakes-cv/build_all.sh +22 -0
  24. package/templates/jakes-cv/cv-sections/certificates.tex +8 -0
  25. package/templates/jakes-cv/cv-sections/committees.tex +19 -0
  26. package/templates/jakes-cv/cv-sections/education.tex +10 -0
  27. package/templates/jakes-cv/cv-sections/experience.tex +22 -0
  28. package/templates/jakes-cv/cv-sections/extracurricular.tex +20 -0
  29. package/templates/jakes-cv/cv-sections/honors.tex +10 -0
  30. package/templates/jakes-cv/cv-sections/presentation.tex +19 -0
  31. package/templates/jakes-cv/cv-sections/projects.tex +15 -0
  32. package/templates/jakes-cv/cv-sections/skills.tex +10 -0
  33. package/templates/jakes-cv/cv-sections/writing.tex +19 -0
  34. package/templates/jakes-cv/cv.tex +174 -0
  35. package/templates/jakes-cv/fonts/Roboto-Bold.ttf +0 -0
  36. package/templates/jakes-cv/fonts/Roboto-BoldItalic.ttf +0 -0
  37. package/templates/jakes-cv/fonts/Roboto-Italic.ttf +0 -0
  38. package/templates/jakes-cv/fonts/Roboto-Light.ttf +0 -0
  39. package/templates/jakes-cv/fonts/Roboto-LightItalic.ttf +0 -0
  40. package/templates/jakes-cv/fonts/Roboto-Medium.ttf +0 -0
  41. package/templates/jakes-cv/fonts/Roboto-MediumItalic.ttf +0 -0
  42. package/templates/jakes-cv/fonts/Roboto-Regular.ttf +0 -0
  43. package/templates/jakes-cv/fonts/Roboto-Thin.ttf +0 -0
  44. package/templates/jakes-cv/fonts/Roboto-ThinItalic.ttf +0 -0
  45. package/templates/jakes-resume/.github/workflows/build-resume.yml +65 -0
  46. package/templates/jakes-resume/README.md +1 -0
  47. package/templates/jakes-resume/build_all.sh +7 -0
  48. package/templates/jakes-resume/resume.tex +218 -0
  49. package/templates/modular-multi/.github/workflows/build-resume.yml +65 -0
  50. package/templates/modular-multi/README.md +1 -0
  51. package/templates/modular-multi/build_all.sh +23 -0
  52. package/templates/modular-multi/resume_aiml.tex +5 -0
  53. package/templates/modular-multi/resume_backend.tex +5 -0
  54. package/templates/modular-multi/resume_content.tex +136 -0
  55. package/templates/modular-multi/resume_preamble.tex +87 -0
  56. package/templates/modular-multi/resume_quantum.tex +5 -0
  57. package/templates/modular-multi/test.txt +80 -0
  58. package/tests/index.test.js +22 -90
  59. 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}
@@ -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
@@ -0,0 +1,5 @@
1
+ \input{resume_preamble.tex}
2
+ \toggletrue{aiml}
3
+ \begin{document}
4
+ \input{resume_content.tex}
5
+ \end{document}
@@ -0,0 +1,5 @@
1
+ \input{resume_preamble.tex}
2
+ \toggletrue{backend}
3
+ \begin{document}
4
+ \input{resume_content.tex}
5
+ \end{document}