Skip to content

Commit

Permalink
[TASK] More restructurings
Browse files Browse the repository at this point in the history
  • Loading branch information
mai-space committed Jan 2, 2024
1 parent e2b3d32 commit 8afddac
Show file tree
Hide file tree
Showing 9 changed files with 313 additions and 282 deletions.
12 changes: 6 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Build and Publish current Resume
on:
push:
branches:
- '*'
- 'main'

jobs:
build:
Expand All @@ -23,13 +23,13 @@ jobs:
- name: Test if Resume build was successful
run: '(test -f downloads/mai-joel_maximilian-curriculum_vitae.pdf && echo PDF exists) || (echo PDF does not exist && exit 1)'

- name: Get current commit hash
id: commit_hash
run: echo "::set-output name=hash::$(git rev-parse HEAD)"
- name: Get the current date and time
id: date
run: echo "::set-output name=timestamp::$(date +'%Y-%m-%d-%H-%M')"

- name: Generate new tag name
- name: Generate Release Tag
id: generate_tag
run: echo "::set-output name=tag::v$GITHUB_SHA"
run: echo "::set-output name=tag::v${{ steps.date.outputs.timestamp }}"

- name: Create Release
id: create_release
Expand Down
Binary file removed download/mai-joel_maximilian-curriculum_vitae.pdf
Binary file not shown.
Binary file modified mai-joel_maximilian-curriculum_vitae.pdf
Binary file not shown.
178 changes: 8 additions & 170 deletions mai-joel_maximilian-curriculum_vitae.tex
Original file line number Diff line number Diff line change
@@ -1,33 +1,23 @@
%============================================================================%
%
% DOCUMENT DEFINITION
%
%============================================================================%

%we use article class because we want to fully customize the page and don't use a cv template
% we use article class because we want to fully customize the page and don't use a cv template
\documentclass[10pt,A4]{article}

%----------------------------------------------------------------------------------------
% ENCODING
%----------------------------------------------------------------------------------------
% we use utf8 since we want to build from any machine
\usepackage[utf8]{inputenc}

%----------------------------------------------------------------------------------------
% LOGIC
%----------------------------------------------------------------------------------------
% provides \isempty test
\usepackage{xstring, xifthen}

%----------------------------------------------------------------------------------------
% FONT BASICS
% FONTS
%----------------------------------------------------------------------------------------
% some tex-live fonts - choose your own

%\usepackage[defaultsans]{droidsans}
%\usepackage[default]{comfortaa}
%\usepackage{cmbright}
\usepackage[default]{raleway}
%\usepackage[default]{raleway}
\usepackage{helvet}
%\usepackage{fetamont}
%\usepackage[default]{gillius}
%\usepackage[light,math]{iwona}
Expand Down Expand Up @@ -169,165 +159,13 @@
% can also be used for other boxes / environments
\newcommand{\mpwidth}{\linewidth-\fboxsep-\fboxsep}

%============================================================================%
%
% CV COMMANDS
%
%============================================================================%

%----------------------------------------------------------------------------------------
% CV LIST
%----------------------------------------------------------------------------------------
% renders a standard latex list but abstracts away the environment definition (begin/end)
\newcommand{\cvlist}[1] {
\begin{itemize}{#1}\end{itemize}
}

%----------------------------------------------------------------------------------------
% CV TEXT
%----------------------------------------------------------------------------------------
% base class to wrap any text based stuff here. Renders like a paragraph.
% Allows complex commands to be passed, too.
% param 1: *any
\newcommand{\cvtext}[1] {
\begin{tabular*}{1\mpwidth}{p{0.98\mpwidth}}
\parbox{1\mpwidth}{#1}
\end{tabular*}
}

%----------------------------------------------------------------------------------------
% CV SECTION
%----------------------------------------------------------------------------------------
% Renders a a CV section headline with a nice underline in main color.
% param 1: section title
\newcommand{\cvsection}[1] {
\vspace{14pt}
\cvtext{
\textbf{\LARGE{\textcolor{black}{\uppercase{#1}}}}\\[-4pt]
\textcolor{primary}{ \rule{0.1\textwidth}{2pt} } \\
}
}
\newcommand{\cvsectionAccent}[1] {
\vspace{14pt}
\cvtext{
\textbf{\LARGE{\textcolor{black}{\uppercase{#1}}}}\\[-4pt]
\textcolor{accent}{ \rule{0.1\textwidth}{2pt} } \\
}
}

%----------------------------------------------------------------------------------------
% META SKILL
%----------------------------------------------------------------------------------------
% Renders a progress-bar to indicate a certain skill in percent.
% param 1: name of the skill / tech / etc.
% param 2: level (for example in years)
% param 3: percent, values range from 0 to 1
\newcommand{\cvskill}[3] {
\begin{tabular*}{1\mpwidth}{p{0.68\mpwidth} r}
\textcolor{black}{\textbf{#1}} & \textcolor{primary}{#2}\\
\end{tabular*}%

\hspace{4pt}
\begin{tikzpicture}[scale=1,rounded corners=2pt,very thin]
\fill [white] (0,0) rectangle (1\mpwidth, 0.15);
\fill [secondary] (0,0) rectangle (#3\mpwidth, 0.15);
\end{tikzpicture}%
}


%----------------------------------------------------------------------------------------
% CV EVENT
%----------------------------------------------------------------------------------------
% Renders a table and a paragraph (cvtext) wrapped in a parbox (to ensure minimum content
% is glued together when a pagebreak appears).
% Additional Information can be passed in text or list form (or other environments).
% the work you did
% param 1: time-frame i.e. Sep 14 - Jan 15 etc.
% param 2: event name (job position etc.)
% param 3: Customer, Employer, Industry
% param 4: Short description
% param 5: work done (optional)
% param 6: technologies include (optional)
% param 7: achievements (optional)
\newcommand{\cvevent}[7] {

% we wrap this part in a parbox, so title and description are not separated on a pagebreak
% if you need more control on page breaks, remove the parbox
\parbox{\mpwidth}{
\begin{tabular*}{1\mpwidth}{p{0.72\mpwidth} r}
\textcolor{black}{\textbf{#2}} & \colorbox{primary}{\makebox[0.25\mpwidth]{\textcolor{white}{#1}}} \\
\textcolor{secondary}{\textbf{#3}} & \\
\end{tabular*}\\[4pt]

\ifthenelse{\isempty{#4}}{}{
\cvtext{#4}\\
}
}

\ifthenelse{\isempty{#5}}{}{
\vspace{4pt}
{#5}
}
\vspace{4pt}
}
\newcommand{\cveventAccent}[7] {

% we wrap this part in a parbox, so title and description are not separated on a pagebreak
% if you need more control on page breaks, remove the parbox
\parbox{\mpwidth}{
\begin{tabular*}{1\mpwidth}{p{0.72\mpwidth} r}
\textcolor{black}{\textbf{#2}} & \colorbox{accent}{\makebox[0.25\mpwidth]{\textcolor{white}{#1}}} \\
\textcolor{accent}{\textbf{#3}} & \\
\end{tabular*}\\[4pt]

\ifthenelse{\isempty{#4}}{}{
\cvtext{#4}\\
}
}

\ifthenelse{\isempty{#5}}{}{
\vspace{4pt}
{#5}
}
\vspace{4pt}
}

%----------------------------------------------------------------------------------------
% CV META EVENT
%----------------------------------------------------------------------------------------
% Renders a CV event on the sidebar
% param 1: title
% param 2: subtitle (optional)
% param 3: customer, employer, etc,. (optional)
% param 4: info text (optional)
\newcommand{\cvmetaevent}[4] {
\textcolor{primary} {\cvtext{\textbf{\begin{flushleft}#1\end{flushleft}}}}

\ifthenelse{\isempty{#2}}{}{
\textcolor{black} {\cvtext{\textbf{#2}} }
}

\ifthenelse{\isempty{#3}}{}{
\cvtext{{ \textcolor{black} {#3} }}\\
}

\cvtext{#4}\\[14pt]
}

%---------------------------------------------------------------------------------------
% QR CODE
%----------------------------------------------------------------------------------------
% Renders a qrcode image (centered, relative to the parentwidth)
% param 1: percent width, from 0 to 1
\newcommand{\cvqrcode}[1] {
\begin{center}
\includegraphics[width={#1}\mpwidth]{qrcode}
\end{center}
}

%---------------------------------------------------------------------------------------
% Include customizable Labels as custom package
%----------------------------------------------------------------------------------------
% Custom Commands for Elements and Snippets
\usepackage{variables/elements}
% Labels for easy customization
\usepackage{variables/labels}

%============================================================================%
Expand All @@ -342,7 +180,7 @@
\colseprulecolor{white}

\newpage
\input{./pages/opener}
% \input{./pages/opener}

\newpage
\input{./pages/cover-letter}
Expand Down
58 changes: 36 additions & 22 deletions pages/cover-letter.tex
Original file line number Diff line number Diff line change
@@ -1,46 +1,60 @@

% Page Header
\renewcommand{\arraystretch}{0.4}
\begin{tabular*}{1\mpwidth}{p{0.68\mpwidth} r}
\textcolor{white}{\textbf{Joël Maximilian Mai}} & \icontext{Phone}{14}{+49 173 7 033 077}{black}\\[6pt] \\
\textcolor{gray-150}{\textbf{Joël Maximilian Mai}} & \icontext{EnvelopeSquare}{14}{[email protected]}{black}\\[6pt] \\
\textcolor{primary}{\textbf{Joël Maximilian Mai}} & \icontext{MapMarker}{14}{{Graf-Berghe-v.-Trips-Rg, 112 \\ 50169 Kerpen}}{black}\\[6pt] \\
\textcolor{white}{\textbf{\myname}} & \icontext{Phone}{14}{\telephone}{black}\\[6pt] \\
\textcolor{gray-150}{\textbf{\myname}} & \icontext{EnvelopeSquare}{14}{\mail}{black}\\[6pt] \\
\textcolor{primary}{\textbf{\myname}} & \icontext{MapMarker}{14}{{\address}}{black}\\[6pt] \\
\end{tabular*}

% Horizontal Border
\begin{tikzpicture}[scale=1,very thin]
\fill [white] (0,0) rectangle (1\mpwidth, 0.15);
\end{tikzpicture}
\vspace{0.8cm}

\begin{minipage}[t]{0.5\textwidth} % Adjust the width as needed
\textcolor{black}{\textbf{Unternehmen}}\\
% Letter Header
\begin{minipage}[t]{0.5\textwidth}
\textcolor{black}{\textbf{\company}}\\
\contactName \\
Adresse \\
Adresszusatz \\
\companyAddress \\
\companyZip~\companyCity \\
\end{minipage}%
\begin{minipage}[t]{0.5\textwidth} % Adjust the width as needed
\begin{minipage}[t]{0.5\textwidth}
\begin{flushright}
\today
\end{flushright}
\end{minipage}%
\vspace{2cm}

% Headline
\begin{LARGE}
\textcolor{accent}{\textbf{Bewerbung als \jobposition}}
\end{LARGE}

\vspace{1.8cm}
\vspace{1.2cm}

% Begin Letter
\begin{minipage}[t]{0.85\textwidth}
Sehr geehrter \contactName,\newline

die von Ihnen ausgeschriebene Stelle als \jobposition hat mich sofort angesprochen. Ich sehe darin die perfekte Chance, meine bisherige Erfahrung mit der Webentwicklung bei einem hervorragenden Arbeitgeber zu ergänzen. Aktuell arbeite ich an meiner Bachelorarbeit, die ich voraussichtlich am 23. Oktober 2022 einreichen werde. Während meines Studiums lag mein Schwerpunkt auf der Web-Entwicklung und der Mensch-Computer Interaktion.\newline

Das Interesse für diesen Bereich wurde bei mir bereits früh geweckt. Bei meinem bisherigen Arbeitgeber lernte ich den Aufbau von TYPO3 Projekten kennen, die Datenbankstruktur und das Arbeiten mit PHP.\newline

Die Arbeit in Ihrem Unternehmen als \jobposition bietet mir die Möglichkeit, mein Wissen in PHP und TYPO3 noch weiter zu vertiefen.\newline

Sehr geehrter \contactName,
\newline\newline
die von Ihnen ausgeschriebene Stelle als \jobposition hat mich sofort angesprochen. Ich sehe darin die perfekte Chance, meine bisherige Erfahrung mit der Webentwicklung bei einem hervorragenden Arbeitgeber zu ergänzen. Aktuell arbeite ich an meiner Bachelorarbeit, die ich voraussichtlich am 23. Oktober 2022 einreichen werde. Während meines Studiums lag mein Schwerpunkt auf der Web-Entwicklung und der Mensch-Computer Interaktion. \\
Das Interesse für diesen Bereich wurde bei mir bereits früh geweckt. Bei meinem bisherigen Arbeitgeber lernte ich den Aufbau von TYPO3 Projekten kennen, die Datenbankstruktur und das Arbeiten mit PHP. Mittlerweile behersche ich PHP ziemlich gut. In dem letzem wurden mir mehrere Projekte zugewiesen an denen ich der Lead Entwickler war, was meiner Weiterentwicklung in diesem Bereich sehr geholfen hat. \\
Die Arbeit in ihrem Unternehmen als \jobposition bietet mir die Möglichkeit mein Wissen in PHP und TYPO3 noch weiter zu vertiefen.
\newline\newline
\textbf{Was ich Ihnen biete:}
\newline\newline
In meinem Studium konnte ich durch meine schnelle Auffassungsgabe mir schnell neue Workflows als auch Programmiersprachen aneignenen. So auch bei meinem jetzigen Arbeit geber. Neben dem Objektorientierten programmieren mit PHP liegen mir aber auch JavaScript/Typescript und das arbeiten mit Fluid und SCSS. Da mein Schwerpunkt bei der Mensch-Computer Interaktion liegt, bringe ich ein versiertes Verständnis von agilem Arbeiten und Human-Centered Design mit, von welchem Ihr Unternehmen sicher profitieren wird. Ich möchte Sie konstruktiv unterstützen und mich in Ihr Team einbringen.\\
Überzeugen Sie sich von meinem Profil im Lebenslauf – und wenn das Ihren Vorstellungen von einem \jobposition entspricht, freue ich mich auf eine Einladung zum Vorstellungsgespräch.
\newline\newline
Mit besten Grüßen nach Köln
\newline\newline
\begin{itemize}
\item Schnelle Auffassungsgabe für neue Workflows und Programmiersprachen
\item Expertise in objektorientiertem PHP sowie JavaScript/Typescript
\item Erfahrung mit Fluid und SCSS
\item Motivation, konstruktive Unterstützung in Ihr Team einzubringen
\end{itemize}

Überzeugen Sie sich von meinem Profil im Lebenslauf – und wenn das Ihren Vorstellungen von einem \jobposition entspricht, freue ich mich auf eine Einladung zum Vorstellungsgespräch.\newline
\newline
Mit freundlichen Grüßen,\newline\newline
\vspace{0.8cm}
% Signature
\includegraphics[scale=0.3]{assets/images/signature.png}
\end{minipage}
23 changes: 23 additions & 0 deletions pages/opener.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@

% Opener
\begin{center}
\begin{tikzpicture}
\node[fill=accent, text=white, rounded corners=10pt, inner sep=10pt] {\Huge Bewerbung als};
\node[fill=accent, text=white, rounded corners=10pt, inner sep=10pt, below=0.3cm] {\Huge \textbf{\jobposition}};
\end{tikzpicture}
\end{center}

\vspace{1.2cm}

\begin{minipage}{0.3\textwidth}
\includegraphics[width=\textwidth]{assets/images/profile_picture.jpeg}
\end{minipage}

\vspace{1.5cm}

% Horizontal Border
\begin{tikzpicture}[scale=1,very thin]
\fill [white] (0,0) rectangle (1\mpwidth, 0.15);
\end{tikzpicture}
\vspace{0.8cm}

Loading

0 comments on commit 8afddac

Please sign in to comment.