|
| 1 | +# Metronic Resume Template |
| 2 | + |
| 3 | +A Typst template for a slick and professional looking resume. |
| 4 | +Check out the [full example](./template/main.typ) to create your first resume. |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | +## Getting started |
| 9 | + |
| 10 | +Start by importing the template into your Typst project: |
| 11 | + |
| 12 | +```typst |
| 13 | +#import "@preview/metronic:1.0.0": * |
| 14 | +``` |
| 15 | + |
| 16 | +You can now call the `resume-page` function to generate a resume page: |
| 17 | + |
| 18 | +```typst |
| 19 | +#import "@preview/metronic:1.0.0": * |
| 20 | +
|
| 21 | +#show: resume-page.with( |
| 22 | + sidebar: [ |
| 23 | + = Jane Doe |
| 24 | +
|
| 25 | + #medium("Business Development Manager") |
| 26 | +
|
| 27 | + #v(5pt) |
| 28 | +
|
| 29 | + Strategic business leader with proven expertise in market expansion and revenue growth. |
| 30 | +
|
| 31 | + Skilled in building partnerships, developing client relationships, and driving organizational success through innovative solutions. |
| 32 | +
|
| 33 | + Passionate about sustainable business practices and team development. |
| 34 | +
|
| 35 | + #v(5pt) |
| 36 | +
|
| 37 | + #contact( |
| 38 | + phone: "555-0123", |
| 39 | + linkedin: "janedoe", |
| 40 | + |
| 41 | + location: "Chicago, USA" |
| 42 | + ) |
| 43 | + ] |
| 44 | +) |
| 45 | +
|
| 46 | +// The body of your resume goes here |
| 47 | +``` |
| 48 | + |
| 49 | +For the body, a `#section` component is available to add sections with icons. eg: |
| 50 | + |
| 51 | +```typst |
| 52 | +#section(icon: "briefcase", "Professional Experience")[ |
| 53 | + === Business Development Director |
| 54 | + Global Solutions Inc. - 2023-Present |
| 55 | +
|
| 56 | + Leading strategic growth initiatives and managing key client relationships across multiple regions. |
| 57 | + Focus on developing new market opportunities and enhancing existing partnerships. |
| 58 | +] |
| 59 | +``` |
| 60 | + |
| 61 | +## Fonts |
| 62 | + |
| 63 | +This template uses FontAwesome icons. For icons to work properly, please include the ttf files into your project directory. |
| 64 | + |
| 65 | +You can download them here: [FontAwesome](https://fontawesome.com/v6/download) |
| 66 | + |
| 67 | +## Multi-page resume |
| 68 | + |
| 69 | +This template supports multi-page resumes. To achieve this, you simply need to make multiple calls to the `resume-page` function. |
| 70 | + |
| 71 | +For this to work, you will need to avoid using the `#show` directive (which wraps the entire body of the document). |
| 72 | + |
| 73 | +Here's an example of a multi-page resume: |
| 74 | + |
| 75 | +```typst |
| 76 | +#import "@preview/metronic:1.0.0": * |
| 77 | +
|
| 78 | +#resume-page( |
| 79 | + sidebar: [ |
| 80 | + == Sidebar content |
| 81 | + ] |
| 82 | +])[ |
| 83 | + == First Page Content |
| 84 | +] |
| 85 | +
|
| 86 | +// We render the second page without a sidebar |
| 87 | +#resume-page()[ |
| 88 | + == Second Page Content |
| 89 | +] |
| 90 | +
|
| 91 | +#resume-page()[ |
| 92 | + == Third Page Content |
| 93 | +] |
| 94 | +``` |
| 95 | + |
| 96 | +## Theming |
| 97 | + |
| 98 | +The template supports selection of 2 main colors: |
| 99 | + |
| 100 | +- `accent-color` |
| 101 | +- `background-color` |
| 102 | + |
| 103 | +You can set that by calling the `#theme` function at the top of your document: |
| 104 | + |
| 105 | +Note: text color is automatically detected based on those colors. |
| 106 | + |
| 107 | +```typst |
| 108 | +#import "@preview/metronic:1.0.0": * |
| 109 | +
|
| 110 | +#theme( |
| 111 | + accent-color: rgb("61B7AE"), |
| 112 | + background-color: rgb("F2F0EF"), |
| 113 | +) |
| 114 | +
|
| 115 | +#show: resume-page.with( |
| 116 | + sidebar: [ |
| 117 | + // content |
| 118 | + ] |
| 119 | +) |
| 120 | +
|
| 121 | +// content |
| 122 | +``` |
| 123 | + |
| 124 | +## Usefule components |
| 125 | + |
| 126 | +### `#section` |
| 127 | + |
| 128 | +The `#section` component is used to add sections with icons. It takes 2 arguments: |
| 129 | + |
| 130 | +- `icon`: the icon to display |
| 131 | +- `title`: the title of the section |
| 132 | + |
| 133 | +```typst |
| 134 | +#section(icon: "briefcase", "Professional Experience")[ |
| 135 | + === Business Development Director |
| 136 | + Global Solutions Inc. - 2023-Present |
| 137 | +
|
| 138 | + Leading strategic growth initiatives and managing key client relationships across multiple regions. |
| 139 | + Focus on developing new market opportunities and enhancing existing partnerships. |
| 140 | +] |
| 141 | +``` |
| 142 | + |
| 143 | +### `#contact` |
| 144 | + |
| 145 | +The `#contact` component is used to display contact information. It takes 5 optional arguments: |
| 146 | + |
| 147 | +- `phone`: the phone number |
| 148 | +- `linkedin`: the linkedin username |
| 149 | +- `email`: the email address |
| 150 | +- `location`: the location |
| 151 | +- `github`: the github username |
| 152 | + |
| 153 | +```typst |
| 154 | +#contact( |
| 155 | + phone: "555-0123", |
| 156 | + linkedin: "janedoe", |
| 157 | + |
| 158 | + location: "Chicago, USA" |
| 159 | +) |
| 160 | +``` |
| 161 | + |
| 162 | +### `#tags` |
| 163 | + |
| 164 | +The `#tags` component is used to display a list of tags. We use these for listing skills. |
| 165 | + |
| 166 | +```typst |
| 167 | + #tags( |
| 168 | + "Strategic Planning", |
| 169 | + "Team Leadership", |
| 170 | + "Market Analysis", |
| 171 | + "Client Relations", |
| 172 | + "Revenue Growth" |
| 173 | + ) |
| 174 | +``` |
0 commit comments