From 9d0088a6013bea873502562eac0e4b7bd1487bb6 Mon Sep 17 00:00:00 2001 From: dozens Date: Thu, 4 Jan 2024 14:46:10 -0700 Subject: [PATCH] Add many roles per company This change to the resume schema allows you to list multiple roles per company in your work experience. --- example.pdf | Bin 18220 -> 12452 bytes example.toml | 2 ++ justfile | 4 ++-- resume.template | 54 +++++++++++++++++++++++++++++++++++------------- view.js | 24 ++++++++++++--------- 5 files changed, 58 insertions(+), 26 deletions(-) diff --git a/example.pdf b/example.pdf index 9b8be2655fd9630709da78af254e2f032812db7b..2d496b031221188d4dc2183c69aedbdbf0cd1f87 100644 GIT binary patch delta 1441 zcmZ3}$G9YM!istWOA9VLJFeoAqSVA(u8KKx!@P@cn+fdu9R4P7-o%6kmUz3XAC)&Q zm$RN~Wocr&K}AJLjkC4o(XQ+Fey!eJGjj=xw%?nLK8@YAHTTTjR7*e-GB z(S7l5AwGYx*50q8_tvhtcWOK5QjwZ-v;VKYv&nD0EWd=^`inK9_2u{9e*4WPYue`j zfn8_D>zi|S82t7$`c$pReqA!+g6(xPR9J>oWPBon|}c zPhA^4sm!nbr1H#(5l=TXoZmd*=6wGHrFU7&bJ*;E7dM3lJW4tfIs1!+<1+;lv$<*! z>gL{C?}eo=Uq1DgsOOxOu}(+oIoIrqU{sBZsE$w#3qO88aNk*%xj!<6L{Ap)Tb&Y< zQkrr+-S2U&&@6VojfEFKGdsU%SL^e(czu{>g6qtt&pxXyW9EF9*|XuM-6unC*}v?K zZ2kN}DjyWKFS7Zt{r!>8JU8QF?#{QH;(Lluz0tPSEyPH$)lK7#0nZ-BE=Pm4()F{A z(ht62P5u8+IbU9S{qM*fHIt5($CX$9>6Wa}vt6Q8k$Riq!tS|eggUr7HuY*P^(&58 zEwm`;v{!T31PIFbro3;*MvT^U{limp%yBZ8JVLHcKg~b=U9oJ`3tAa z7I7ANE%es4Z-SH9)@moO8!TUM2B)(0-FB~Uyj}e_?7_F~ypj6lg*vOU_MYDKT#k=_ z@>hQD5Y{!jF29_7VL`Rv^1_|kk3{rRL*H$ys+#s&N~UUy%khFs_X8gN+orho_u6SY z|G2+->AZYmTS%&Bs5jH2*vM-=r4k!1sQD!@EOePWRVnO7dUk8=D+O-Oa^8*;TE`c7 zn}|=9_Ri`NEHTx2DgEzQf1K-8S`1l-!!9 z(@wukiO)@)m7DkB(sZ@hrT+hdZ*T8B&a3f{b^0Rfm3)PFPFnuDmUCp;HT~PUE6*PD z$$gz%!6qM8zW>~7w(Fi5WgBDs_T4XIpL%h^jb|MHN-S4B3aVdp%(vqAWj9l=mrhTk zuQ;iO7P6J!UZ?Zs&%T8p&dR)#`yq4hevI_d=H~y$k3Qa|_Hj=64|bawC7LpS(>y;u zo^;Dt`edi{lOz03j_g-fe;#Vd`yuvJ@0CC{be| z-ko`&&$C)#7tKuxdy20xWY?!I?1~aSb1U-XtjNqI7oXWXDjWAS-3;B-T^O_S&|_+J+t6j($_;bPnKcXL}AlOii)0<2=N?i)-r2v&FTXU*5j!ioDz!Q|WPiQDWb|b29vU_WEdOwZS?Q#&g$wLy5ZfxpkW<=3D5E1kc!{L9-d-%T}YxBO!lyeeTaxr^Op zvZNu;;q=?7<4r79R2 bL(1O7qLPZD)HE(bBSS+&E>%@me>W}wueNjq delta 2972 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 diff --git a/example.toml b/example.toml index e075f07..2d3d469 100644 --- a/example.toml +++ b/example.toml @@ -29,6 +29,8 @@ url = "https://soundcloud.example.com/dandymusicnl" [[work]] name = "Pied Piper" location = "Palo Alto, CA" + +[[work.role]] description = "Awesome compression company" position = "CEO/President" url = "http://piedpiper.example.com" diff --git a/justfile b/justfile index a6fe143..c954464 100644 --- a/justfile +++ b/justfile @@ -4,11 +4,11 @@ default: # format toml fmt: - taplo fmt resume.toml + taplo fmt example.toml # validate toml validate: - taplo lint resume.toml + taplo lint example.toml # create pdf pdf: diff --git a/resume.template b/resume.template index c7c8a7d..9a3e26b 100644 --- a/resume.template +++ b/resume.template @@ -8,20 +8,23 @@ center tab(;); cbx s c s -c s -lfI s. +c s. +.\"cfI s. .TH ./" ============ ./" == HEADER == ./" ============ {{#basics}} +T{ +.LG {{name}} +T} {{email}} - {{phone}} {{#profiles}} {{{url}}} {{/profiles}} .sp 1 -T{ -{{{summary}}} -T} +.\"T{ +.\"{{{summary}}} +.\"T} {{/basics}} .sp 1 . @@ -31,27 +34,33 @@ T} ./" == WORK == ./" ========== .T& -lbv2 s -- - {{#work}} lb r -l r +{{#role}} +lb r {{#highlights}} l s {{/highlights}} +{{/role}} {{/work}} l l. -{{#chicken}}Experience{{/chicken}} {{#work}} -{{{name}}};{{{location}}} -{{{position}}};{{#formatdate}}{{startDate}}{{/formatdate}}\*[-]{{#formatdate}}{{endDate}}{{/formatdate}} +.sp 0.5 +T{ +.LG +.LG +{{{name}}} +T};{{{location}}} +{{#role}} +{{{position}}};{{startDate}}\*[-]{{endDate}} {{#highlights}} T{ .IP \(bu {{{.}}} T} {{/highlights}} -.sp 1 +.sp 0.5 +{{/role}} {{/work}} ; . @@ -67,7 +76,11 @@ lb s l s {{/skills}} l s. +T{ +.LG +.LG Skills +T} {{#skills}} {{{name}}}: {{#join}} {{{keywords}}} {{/join}} {{/skills}} @@ -85,9 +98,13 @@ lb s l r {{/awards}} l r. +T{ +.LG +.LG Awards +T} {{#awards}} -{{title}}, {{awarder}};{{#formatdate}}{{date}}{{/formatdate}} +{{title}}, {{awarder}};{{date}} {{/awards}} ; . @@ -103,9 +120,13 @@ lb s l r {{/education}} l l. +T{ +.LG +.LG Education +T} {{#education}} -{{institution}}, {{area}};{{#formatdate}}{{startDate}}{{/formatdate}}\*[-]{{#formatdate}}{{endDate}}{{/formatdate}} +{{institution}}, {{area}};{{startDate}}-{{endDate}} {{/education}} ; . @@ -121,10 +142,15 @@ lb s l s {{/interests}} l s. +T{ +.LG +.LG Interests +T} {{#interests}} {{name}}: {{#join}} {{{keywords}}} {{/join}} {{/interests}} ; .TE + diff --git a/view.js b/view.js index 9fd3934..c1b31b2 100644 --- a/view.js +++ b/view.js @@ -33,16 +33,20 @@ module.exports = { "name": "Pied Piper", "location": "Palo Alto, CA", - "description": "Awesome compression company", - "position": "CEO/President", - "url": "http://piedpiper.example.com", - "startDate": "2013-12-01", - "endDate": "2014-12-01", - "summary": "Pied Piper is a multi-platform technology based on a proprietary universal compression algorithm that has consistently fielded high Weisman Scores™ that are not merely competitive, but approach the theoretical limit of lossless compression.", - "highlights": [ - "Build an algorithm for artist to detect if their music was violating copy right infringement laws", - "Successfully won Techcrunch Disrupt", - "Optimized an algorithm that holds the current world record for Weisman Scores" + "role": [ + { + "description": "Awesome compression company", + "position": "CEO/President", + "url": "http://piedpiper.example.com", + "startDate": "2013-12-01", + "endDate": "2014-12-01", + "summary": "Pied Piper is a multi-platform technology based on a proprietary universal compression algorithm that has consistently fielded high Weisman Scores™ that are not merely competitive, but approach the theoretical limit of lossless compression.", + "highlights": [ + "Build an algorithm for artist to detect if their music was violating copy right infringement laws", + "Successfully won Techcrunch Disrupt", + "Optimized an algorithm that holds the current world record for Weisman Scores" + ] + } ] } ],