diff --git a/.github/workflows/build-pdf.yml b/.github/workflows/build-pdf.yml index 772d818..4969d24 100644 --- a/.github/workflows/build-pdf.yml +++ b/.github/workflows/build-pdf.yml @@ -1,5 +1,5 @@ name: Build template -on: push +on: [push, pull_request] jobs: build-template: diff --git a/moderncv.cls b/moderncv.cls index 2ec6a73..f5822ab 100644 --- a/moderncv.cls +++ b/moderncv.cls @@ -249,6 +249,10 @@ % where the and arguments can be omitted or provided empty \NewDocumentCommand{\address}{mG{}G{}}{\def\@addressstreet{#1}\def\@addresscity{#2}\def\@addresscountry{#3}} +% defines one's birthday (optional) +% usage: \born{date, place} +\newcommand*{\born}[1]{\def\@born{#1}} + % defines one's email (optional) % usage: \email{} \newcommand*{\email}[1]{\def\@email{#1}} @@ -281,16 +285,19 @@ {% \ifthenelse{\equal{#1}{linkedin}} {\collectionadd[linkedin]{socials} {\protect\httpslink[#3]{www.linkedin.com/in/#3}}} {}% \ifthenelse{\equal{#1}{xing}} {\collectionadd[xing]{socials} {\protect\httpslink[#3]{www.xing.com/profile/#3}}} {}% - \ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httpslink[#3]{www.twitter.com/#3}}} {}% - \ifthenelse{\equal{#1}{github}} {\collectionadd[github]{socials} {\protect\httpslink[#3]{www.github.com/#3}}} {}% - \ifthenelse{\equal{#1}{gitlab}} {\collectionadd[gitlab]{socials} {\protect\httpslink[#3]{www.gitlab.com/#3}}} {}% + \ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httpslink[#3]{twitter.com/#3}}} {}% + \ifthenelse{\equal{#1}{github}} {\collectionadd[github]{socials} {\protect\httpslink[#3]{github.com/#3}}} {}% + \ifthenelse{\equal{#1}{gitlab}} {\collectionadd[gitlab]{socials} {\protect\httpslink[#3]{gitlab.com/#3}}} {}% \ifthenelse{\equal{#1}{stackoverflow}}{\collectionadd[stackoverflow]{socials}{\protect\httpslink[#3]{stackoverflow.com/users/#3}}} {}% - \ifthenelse{\equal{#1}{bitbucket}} {\collectionadd[bitbucket]{socials} {\protect\httpslink[#3]{www.bitbucket.org/#3}}} {}% + \ifthenelse{\equal{#1}{bitbucket}} {\collectionadd[bitbucket]{socials} {\protect\httpslink[#3]{bitbucket.org/#3}}} {}% \ifthenelse{\equal{#1}{skype}} {\collectionadd[skype]{socials} {#3}} {}% \ifthenelse{\equal{#1}{orcid}} {\collectionadd[orcid]{socials} {\protect\httpslink[#3]{orcid.org/#3}}} {}% \ifthenelse{\equal{#1}{researchgate}} {\collectionadd[researchgate]{socials} {\protect\httpslink[#3]{www.researchgate.net/profile/#3}}} {}% \ifthenelse{\equal{#1}{researcherid}} {\collectionadd[researcherid]{socials} {\protect\httpslink[#3]{www.researcherid.com/rid/#3}}} {}% \ifthenelse{\equal{#1}{telegram}} {\collectionadd[telegram]{socials} {\protect\httpslink[#3]{t.me/#3}}} {}% + \ifthenelse{\equal{#1}{whatsapp}} {\collectionadd[whatsapp]{socials} {\protect\httpslink[#3]{wa.me/#3}}} {}% + \ifthenelse{\equal{#1}{signal}} {\collectionadd[signal]{socials} {#3}} {}% + \ifthenelse{\equal{#1}{matrix}} {\collectionadd[matrix]{socials} {\httpslink[#3]{matrix.to/\#/#3}}} {}% \ifthenelse{\equal{#1}{googlescholar}}{\collectionadd[googlescholar]{socials}{\protect\httpslink[#3]{scholar.google.com/citations?user=#3}}} {}% {}% } {\collectionadd[#1]{socials}{\protect\httpslink[#3]{#2}}}}% @@ -323,6 +330,7 @@ % other symbols \newcommand*{\listitemsymbol} {\labelitemi~} \newcommand*{\addresssymbol} {} +\newcommand*{\bornsymbol} {} \newcommand*{\mobilephonesymbol} {} \newcommand*{\fixedphonesymbol} {} \newcommand*{\faxphonesymbol} {} @@ -341,6 +349,9 @@ \newcommand*{\researcheridsocialsymbol} {} \newcommand*{\googlescholarsocialsymbol}{} \newcommand*{\telegramsocialsymbol} {} +\newcommand*{\whatsappsocialsymbol} {} +\newcommand*{\matrixsocialsymbol} {} +\newcommand*{\signalsocialsymbol} {} % other %------ @@ -379,7 +390,7 @@ % usage: \moderncvfoot[]{} \newcommand*{\moderncvfoot}[2][]{% \@loadmoderncvpackage[#1]{foot}{#2}} - + % loads a color scheme % usage: \moderncvcolor{} \newcommand*{\moderncvcolor}[1]{% @@ -583,8 +594,8 @@ \newcommand*{\emaillink}[2][]{% \ifthenelse{\equal{#1}{}}% {\href{mailto:#2}{#2}}% - {\href{mailto:#2}{\detokenize{#1}}}} + % makes a tel hyperlink % usage: \tellink[optional text]{link} \newcommand*{\tellink}[2][]{% diff --git a/moderncvfooti.sty b/moderncvfooti.sty index 6491dcf..22028cb 100644 --- a/moderncvfooti.sty +++ b/moderncvfooti.sty @@ -85,6 +85,7 @@ \ifthenelse{\equal{\@addresscity}{}}{}{\addtofoot[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscountry}{}}{}{\addtofoot[~--~]{\@addresscountry}}% \flushfoot\@firstfootelementtrue\\}% + \ifthenelse{\isundefined{\@born}}{}{\addtofoot{\bornsymbol\@born}\flushfoot\@firstfootelementtrue\\}% \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number \addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}% \ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}% @@ -116,6 +117,7 @@ \ifthenelse{\equal{\@addresscity}{}}{}{\addtofoot[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscountry}{}}{}{\addtofoot[~--~]{\@addresscountry}}% \flushfoot\@firstfootelementtrue\\}% + \ifthenelse{\isundefined{\@born}}{}{\addtofoot{\bornsymbol\@born}\flushfoot\@firstfootelementtrue\\}% \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number \addtofoot{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}% \ifthenelse{\isundefined{\@email}}{}{\addtofoot{\emailsymbol\emaillink{\@email}}}% diff --git a/moderncvheadi.sty b/moderncvheadi.sty index c0496dc..550b139 100644 --- a/moderncvheadi.sty +++ b/moderncvheadi.sty @@ -80,6 +80,7 @@ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% + \ifthenelse{\isundefined{\@born}}{}{\makenewline\bornsymbol\@born}% \phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}% \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httpslink{\@homepage}}% diff --git a/moderncvheadii.sty b/moderncvheadii.sty index cfd492e..53b89cd 100644 --- a/moderncvheadii.sty +++ b/moderncvheadii.sty @@ -140,6 +140,7 @@ \ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}% \flushmakeheaddetails\@firstmakeheaddetailselementtrue\\\null}% + \ifthenelse{\isundefined{\@born}}{}{\addtomakeheaddetails{\bornsymbol\@born}}% \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number \addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}% \ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}% diff --git a/moderncvheadiii.sty b/moderncvheadiii.sty index 995c896..0d9ed12 100644 --- a/moderncvheadiii.sty +++ b/moderncvheadiii.sty @@ -93,6 +93,7 @@ \ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}% \flushmakeheaddetails\@firstmakeheaddetailselementtrue\\\null}% + \ifthenelse{\isundefined{\@born}}{}{\addtomakeheaddetails{\bornsymbol\@born}}% \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number \addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}% \ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}% diff --git a/moderncvheadiv.sty b/moderncvheadiv.sty index adfed26..8891922 100644 --- a/moderncvheadiv.sty +++ b/moderncvheadiv.sty @@ -109,6 +109,7 @@ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% + \ifthenelse{\isundefined{\@born}}{}{\makenewline\hbox to 1.0em{\bornsymbol}~\@born}% \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number \makenewline\hbox to 1.0em{\csname\collectionloopkey phonesymbol\endcsname}~\collectionloopitem}% \ifthenelse{\isundefined{\@email}}{}{\makenewline\hbox to 1.0em{\emailsymbol}~\emaillink{\@email}}% diff --git a/moderncvheadv.sty b/moderncvheadv.sty index 70a6a55..6b8bd6b 100644 --- a/moderncvheadv.sty +++ b/moderncvheadv.sty @@ -81,6 +81,7 @@ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet% \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}% + \ifthenelse{\isundefined{\@born}}{}{\makenewline\bornsymbol~\@born}% \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number \makenewline\csname\collectionloopkey phonesymbol\endcsname~\collectionloopitem}% \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol~\emaillink{\@email}}% diff --git a/moderncvheadvi.sty b/moderncvheadvi.sty index 2466a1b..6d5b2e0 100644 --- a/moderncvheadvi.sty +++ b/moderncvheadvi.sty @@ -114,6 +114,7 @@ \ifthenelse{\equal{\@addresscity}{}}{}{\addtomakeheaddetails[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty \ifthenelse{\equal{\@addresscountry}{}}{}{\addtomakeheaddetails[~--~]{\@addresscountry}}% \flushmakeheaddetails\@firstmakeheaddetailselementtrue\\\null}% + \ifthenelse{\isundefined{\@born}}{}{\addtomakeheaddetails{\bornsymbol\@born}}% \collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number \addtomakeheaddetails{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}% \ifthenelse{\isundefined{\@email}}{}{\addtomakeheaddetails{\emailsymbol\emaillink{\@email}}}% diff --git a/moderncviconsawesome.sty b/moderncviconsawesome.sty index 374d982..764d3b0 100644 --- a/moderncviconsawesome.sty +++ b/moderncviconsawesome.sty @@ -29,6 +29,7 @@ %\renewcommand*{\labelitemiii} {\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% no change from default in moderncv.cls %\renewcommand*{\labelitemiv} {\labelitemiii} % no change from default in moderncv.cls + \renewcommand*{\addresssymbol} {} \renewcommand*{\mobilephonesymbol} {{\small\faMobile}~} \renewcommand*{\fixedphonesymbol} {{\small\faPhone}~} @@ -48,6 +49,11 @@ \renewcommand*{\researcheridsocialsymbol} {{\small\aiResearcherID}~} % alternative: \aiResearcherIDSquare \renewcommand*{\telegramsocialsymbol} {{\small\faTelegram}~} \renewcommand*{\googlescholarsocialsymbol}{{\small\aiGoogleScholar}~} +\renewcommand*{\telegramsocialsymbol} {{\small\faTelegram}~} +\renewcommand*{\whatsappsocialsymbol} {{\small\faWhatsapp}~} +\renewcommand*{\signalsocialsymbol} {} +\renewcommand*{\matrixsocialsymbol} {} +\renewcommand*{\bornsymbol} {{\small\faAsterisk}~} \endinput diff --git a/moderncviconsletters.sty b/moderncviconsletters.sty index 3b91204..28f8fa9 100644 --- a/moderncviconsletters.sty +++ b/moderncviconsletters.sty @@ -52,7 +52,11 @@ \renewcommand*{\researchgatesocialsymbol} {\textbf{rg}~} \renewcommand*{\researcheridsocialsymbol} {\textbf{ri}~} \renewcommand*{\telegramsocialsymbol} {\textbf{tg}~} +\renewcommand*{\whatsappsocialsymbol} {\textbf{wa}~} +\renewcommand*{\signalsocialsymbol} {\textbf{si}~} +\renewcommand*{\matrixsocialsymbol} {\textbf{ma}~} \renewcommand*{\googlescholarsocialsymbol}{\textbf{gs}~} +\renewcommand*{\bornsymbol} {\textbf{B}~} \renewcommand*{\listitemsymbol} {\labelitemi~} diff --git a/moderncviconsmarvosym.sty b/moderncviconsmarvosym.sty index edd47e4..f847232 100644 --- a/moderncviconsmarvosym.sty +++ b/moderncviconsmarvosym.sty @@ -227,6 +227,9 @@ \renewcommand*{\stackoverflowsocialsymbol}{} \renewcommand*{\googlescholarsocialsymbol}{} \renewcommand*{\telegramsocialsymbol}{} +\renewcommand*{\whatsappsocialsymbol}{} +\renewcommand*{\signalsocialsymbol}{} +\renewcommand*{\matrixsocialsymbol}{} \renewcommand*{\orcidsocialsymbol}{} \renewcommand*{\researchgatesocialsymbol}{} \renewcommand*{\researcheridsocialsymbol}{} @@ -238,7 +241,7 @@ \protect\path[fill=color2,even odd rule] (487.6550,288.9690) .. controls (489.0610,278.5690) and (489.8700,267.9960) .. (489.8700,257.2330) .. controls (489.8700,128.0770) and (384.5990,23.3610) .. - (254.7670,23.3610) .. controls (241.8630,23.3610) and (229.2120,24.4210) .. + (254.7670,23.3610) .. controls (241.8630,23.3610) and (229.2120,24.4210) .. (216.9010,26.4410) .. controls (194.8280,12.0570) and (168.5590,3.6740) .. (140.2880,3.6740) .. controls (62.7660,3.6740) and (0.0000,66.4820) .. (0.0000,143.9800) .. controls (0.0000,172.1780) and (8.2990,198.3740) .. @@ -264,6 +267,7 @@ \protect\end{scope}% \protect\end{tikzpicture}}% ~} + \renewcommand*{\bornsymbol}{} \endinput diff --git a/template.tex b/template.tex index 98f556e..6b2c3ec 100644 --- a/template.tex +++ b/template.tex @@ -26,6 +26,7 @@ % personal data \name{John}{Doe} \title{Résumé title} % optional, remove / comment the line if not wanted +\born{4 July 1776} % optional, remove / comment the line if not wanted \address{street and number}{postcode city}{country}% optional, remove / comment the line if not wanted; the "postcode city" and "country" arguments can be omitted or provided empty \phone[mobile]{+1~(234)~567~890} % optional, remove / comment the line if not wanted; the optional "type" of the phone can be "mobile" (default), "fixed" or "fax" \phone[fixed]{+2~(345)~678~901} @@ -35,7 +36,7 @@ % Social icons \social[linkedin]{john.doe} % optional, remove / comment the line if not wanted -\social[xing]{john\_doe} % optional, remove / comment the line if not wanted +\social[xing]{john_doe} % optional, remove / comment the line if not wanted \social[twitter]{jdoe} % optional, remove / comment the line if not wanted \social[github]{jdoe} % optional, remove / comment the line if not wanted \social[gitlab]{jdoe} % optional, remove / comment the line if not wanted @@ -46,7 +47,10 @@ \social[researchgate]{jdoe} % optional, remove / comment the line if not wanted \social[researcherid]{jdoe} % optional, remove / comment the line if not wanted \social[telegram]{jdoe} % optional, remove / comment the line if not wanted -\social[googlescholar]{googlescholarid} % optional, remove / comment the line if not wanted +\social[whatsapp]{12345678901} % optional, remove / comment the line if not wanted +\social[signal]{12345678901} % optional, remove / comment the line if not wanted +\social[matrix]{@johndoe:matrix.org} % optional, remove / comment the line if not wanted +\social[googlescholar]{googlescholarid} % optional, remove / comment the line if not wanted \extrainfo{additional information} % optional, remove / comment the line if not wanted