Skip to content

rendercv/rendercv-typst

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RenderCV

A CV/resume template for Typst with extensive customization options.

Installation

#import "@preview/rendercv:0.1.0": *

Quick Start

#import "@preview/rendercv:0.1.0": *

#show: rendercv.with(
  name: "John Doe",
)

= John Doe

#headline([Software Engineer])

#connections(
  [San Francisco, CA],
  [#link("mailto:john@example.com")[john\@example.com]],
  [#link("https://github.com/johndoe")[github.com/johndoe]],
)

== Education

#education-entry(
  [
    *University Name*, BS in Computer Science -- City, State
  ],
  [
    Sept 2018 � May 2022
  ],
  main-column-second-row: [
    - GPA: 3.9/4.0
    - Honors: Dean's List
  ],
)

== Experience

#regular-entry(
  [
    *Software Engineer*, Company Name -- City, State
  ],
  [
    June 2022 � present
  ],
  main-column-second-row: [
    - Developed and deployed scalable web applications
    - Collaborated with cross-functional teams
    - Improved system performance by 40%
  ],
)

== Skills

*Programming:* Python, JavaScript, TypeScript, Rust

*Technologies:* React, Node.js, PostgreSQL, Docker

Components

Header Components

headline(content) - Display a headline below your name:

#headline([Data Scientist])

connections(...items) - Display contact information with automatic line wrapping:

#connections(
  [New York, NY],
  [#link("mailto:jane@example.com")[jane\@example.com]],
  [#link("https://linkedin.com/in/jane")[LinkedIn]],
)

connection-with-icon(icon-name, content) - Add FontAwesome icons to connections:

#connection-with-icon("location-dot")[Boston, MA]
#connection-with-icon("envelope")[email\@example.com]
#connection-with-icon("github")[github.com/username]

Entry Components

regular-entry(main-column, date-and-location-column, main-column-second-row: none) - Standard entry for experience, projects, publications:

#regular-entry(
  [*Senior Developer*, Tech Corp -- Remote],
  [Jan 2023 � present],
  main-column-second-row: [
    - Led team of 5 engineers
    - Architected microservices platform
  ],
)

education-entry(main-column, date-and-location-column, degree-column: none, main-column-second-row: none) - Entry for education with optional degree column:

#education-entry(
  [*MIT*, PhD in Computer Science -- Cambridge, MA],
  [Sept 2020 � May 2024],
  main-column-second-row: [
    - Thesis: Advanced Neural Network Optimization
  ],
)

content-area(content) - Wrap text content with proper formatting:

== Summary

#content-area[
A software engineer with 5+ years of experience building
scalable web applications.
]

summary(content) - Add a summary block within an entry:

#regular-entry(
  [*Open Source Project*],
  [2023 � present],
  main-column-second-row: [
    #summary[High-performance data processing library]
    - 10,000+ GitHub stars
  ],
)

reversed-numbered-entries(content) - Create reverse-numbered lists:

== Invited Talks

#reversed-numbered-entries[
+ Talk Title 3 � Conference 2024
+ Talk Title 2 � Conference 2023
+ Talk Title 1 � Conference 2022
]

link(dest, body, icon: none, if-underline: none, if-color: none) - Enhanced link with customizable styling:

#link("https://example.com", icon: false)[Example]
#link("https://example.com", if-underline: false)[Example]

Customization

The template is highly customizable through parameters passed to rendercv.with():

Page Settings

#show: rendercv.with(
  page-size: "us-letter",        // or "a4", "us-legal", etc.
  page-top-margin: 0.7in,
  page-bottom-margin: 0.7in,
  page-left-margin: 0.7in,
  page-right-margin: 0.7in,
  page-show-footer: true,
  page-show-top-note: true,
  footer: context {
    "Page " + str(here().page()) + " of " + str(counter(page).final().first())
  },
  top-note: "Last updated in " + datetime.today().display(),
)

Colors

#show: rendercv.with(
  colors-body: rgb(0, 0, 0),
  colors-name: rgb(0, 79, 144),
  colors-headline: rgb(0, 79, 144),
  colors-connections: rgb(0, 79, 144),
  colors-section-titles: rgb(0, 79, 144),
  colors-links: rgb(0, 79, 144),
  colors-footer: rgb(128, 128, 128),
  colors-top-note: rgb(128, 128, 128),
)

Typography

#show: rendercv.with(
  typography-font-family-body: "Raleway",
  typography-font-family-name: "Raleway",
  typography-font-family-headline: "Raleway",
  typography-font-family-connections: "Raleway",
  typography-font-family-section-titles: "Raleway",
  typography-font-size-body: 10pt,
  typography-font-size-name: 30pt,
  typography-font-size-headline: 10pt,
  typography-font-size-connections: 10pt,
  typography-font-size-section-titles: 1.4em,
  typography-line-spacing: 0.6em,
  typography-alignment: "justified",  // or "left", "justified-with-no-hyphenation"
  typography-date-and-location-column-alignment: right,
  typography-bold-name: false,
  typography-bold-headline: false,
  typography-bold-connections: false,
  typography-bold-section-titles: false,
  typography-small-caps-name: false,
  typography-small-caps-headline: false,
  typography-small-caps-connections: false,
  typography-small-caps-section-titles: false,
)

Header

#show: rendercv.with(
  header-alignment: left,  // or center, right
  header-space-below-name: 0.7cm,
  header-space-below-headline: 0.7cm,
  header-space-below-connections: 0.7cm,
  header-connections-separator: "",
  header-connections-space-between-connections: 0.5cm,
  header-connections-show-icons: true,
)

Section Titles

#show: rendercv.with(
  section-titles-type: "with_full_line",  // or "with_partial_line", "moderncv"
  section-titles-line-thickness: 0.5pt,
  section-titles-space-above: 0.5cm,
  section-titles-space-below: 0.3cm,
)

Sections & Entries

#show: rendercv.with(
  sections-allow-page-break: true,
  sections-space-between-text-based-entries: 0.3em,
  sections-space-between-regular-entries: 1.2em,
  entries-date-and-location-width: 4.15cm,
  entries-side-space: 0.2cm,
  entries-space-between-columns: 0.1cm,
  entries-allow-page-break: false,
  entries-summary-space-left: 0cm,
  entries-summary-space-above: 0.12cm,
  entries-highlights-bullet: "",
  entries-highlights-nested-bullet: "",
  entries-highlights-space-left: 0cm,
  entries-highlights-space-above: 0.12cm,
  entries-highlights-space-between-items: 0.12cm,
  entries-highlights-space-between-bullet-and-text: 0.5em,
)

Links

#show: rendercv.with(
  links-underline: false,
  links-show-external-link-icon: false,
)

Examples

The examples directory contains several complete CV examples demonstrating different configurations:

Each example shows different parameter combinations to achieve various looks.

License

MIT License

About

Typst template for RenderCV

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages