Compare commits
15 Commits
release/0.
...
release/0.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a5a192acf1 | ||
|
|
a2fe9ca40a | ||
|
|
78a53befb5 | ||
|
|
3845415587 | ||
|
|
650b2b0cec | ||
|
|
4dcb8ab7fd | ||
|
|
40427ffede | ||
|
|
2567ecb808 | ||
|
|
ab79ab2790 | ||
|
|
9652a1cb90 | ||
|
|
a721c30354 | ||
|
|
207a2f37b9 | ||
|
|
aafb3b31f9 | ||
|
|
da7aec4451 | ||
|
|
9837139dad |
@@ -27,7 +27,7 @@ See `typst fonts --help` for more information on configuring fonts for `typst` t
|
||||
Below is a basic example for a simple resume:
|
||||
|
||||
```typst
|
||||
#import "@preview/modern-cv:0.1.0": *
|
||||
#import "@preview/modern-cv:0.5.0": *
|
||||
|
||||
#show: resume.with(
|
||||
author: (
|
||||
|
||||
44
lib.typ
44
lib.typ
@@ -6,6 +6,7 @@
|
||||
#let color-darkgray = rgb("#333333")
|
||||
#let color-gray = rgb("#5d5d5d")
|
||||
#let default-accent-color = rgb("#262F99")
|
||||
#let default-location-color = rgb("#333333")
|
||||
|
||||
// const icons
|
||||
#let linkedin-icon = box(
|
||||
@@ -14,8 +15,15 @@
|
||||
#let github-icon = box(
|
||||
fa-icon("github", fill: color-darknight),
|
||||
)
|
||||
#let twitter-icon = box(
|
||||
fa-icon("twitter", fill: color-darknight),
|
||||
)
|
||||
#let google-scholar-icon = box(
|
||||
fa-icon("google-scholar", fill: color-darknight),
|
||||
)
|
||||
#let phone-icon = box(fa-icon("square-phone", fill: color-darknight))
|
||||
#let email-icon = box(fa-icon("envelope", fill: color-darknight))
|
||||
#let birth-icon = box(fa-icon("cake", fill: color-darknight))
|
||||
|
||||
/// Helpers
|
||||
|
||||
@@ -196,6 +204,7 @@
|
||||
)
|
||||
|
||||
show heading.where(level: 1): it => [
|
||||
|
||||
#set block(
|
||||
above: 1em,
|
||||
below: 1em,
|
||||
@@ -214,6 +223,7 @@
|
||||
#text[#strong[#text(color)[#it.body.text]]]
|
||||
#box(width: 1fr, line(length: 100%))
|
||||
]
|
||||
|
||||
]
|
||||
|
||||
show heading.where(level: 2): it => {
|
||||
@@ -275,7 +285,7 @@
|
||||
let address = {
|
||||
set text(
|
||||
size: 9pt,
|
||||
weight: "bold",
|
||||
weight: "regular",
|
||||
)
|
||||
align(center)[
|
||||
#if ("address" in author) [
|
||||
@@ -297,6 +307,11 @@
|
||||
)
|
||||
#block[
|
||||
#align(horizon)[
|
||||
#if ("birth" in author) [
|
||||
#birth-icon
|
||||
#box[#text(author.birth)]
|
||||
#separator
|
||||
]
|
||||
#if ("phone" in author) [
|
||||
#phone-icon
|
||||
#box[#text(author.phone)]
|
||||
@@ -315,9 +330,20 @@
|
||||
#separator
|
||||
#linkedin-icon
|
||||
#box[
|
||||
#link("https://www.linkedin.com/in/" + author.linkedin)[#author.firstname #author.lastname]
|
||||
#link("https://www.linkedin.com/in/" + author.linkedin)[#author.linkedin]
|
||||
]
|
||||
]
|
||||
#if ("twitter" in author) [
|
||||
#separator
|
||||
#twitter-icon
|
||||
#box[#link("https://twitter.com/" + author.twitter)[\@#author.twitter]]
|
||||
]
|
||||
#if ("scholar" in author) [
|
||||
#let fullname = str(author.firstname + " " + author.lastname)
|
||||
#separator
|
||||
#google-scholar-icon
|
||||
#box[#link("https://scholar.google.com/citations?user=" + author.scholar)[#fullname]]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
@@ -349,15 +375,27 @@
|
||||
/// - location (string): The location of the resume entry
|
||||
/// - date (string): The date of the resume entry, this can be a range (e.g. "Jan 2020 - Dec 2020")
|
||||
/// - description (content): The body of the resume entry
|
||||
/// - title-link (string): The link to use for the title (can be none)
|
||||
/// - accent-color (color): Override the accent color of the resume-entry
|
||||
/// - location-color (color): Override the default color of the "location" for a resume entry.
|
||||
#let resume-entry(
|
||||
title: none,
|
||||
location: "",
|
||||
date: "",
|
||||
description: "",
|
||||
title-link: none,
|
||||
accent-color: default-accent-color,
|
||||
location-color: default-location-color,
|
||||
) = {
|
||||
let title-content
|
||||
if type(title-link) == "string" {
|
||||
title-content = link(title-link)[#title]
|
||||
} else {
|
||||
title-content = title
|
||||
}
|
||||
|
||||
pad[
|
||||
#justified-header(title, location)
|
||||
#justified-header(title-content, location)
|
||||
#secondary-justified-header(description, date)
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#import "lib.typ"
|
||||
#import "@preview/tidy:0.2.0"
|
||||
#import "@preview/tidy:0.3.0"
|
||||
|
||||
#let docs = tidy.parse-module(
|
||||
read("lib.typ"),
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#import "@preview/modern-cv:0.4.0": *
|
||||
#import "@preview/modern-cv:0.5.0": *
|
||||
|
||||
#show: coverletter.with(
|
||||
author: (
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#import "@preview/modern-cv:0.4.0": *
|
||||
#import "@preview/modern-cv:0.5.0": *
|
||||
|
||||
#show: coverletter.with(
|
||||
author: (
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#import "@preview/modern-cv:0.4.0": *
|
||||
#import "@preview/modern-cv:0.5.0": *
|
||||
|
||||
#show: resume.with(
|
||||
author: (
|
||||
@@ -7,6 +7,9 @@
|
||||
email: "js@example.com",
|
||||
phone: "(+1) 111-111-1111",
|
||||
github: "DeveloperPaul123",
|
||||
twitter: "typstapp",
|
||||
scholar: "",
|
||||
birth: "January 1, 1990",
|
||||
linkedin: "Example",
|
||||
address: "111 Example St. Example City, EX 11111",
|
||||
positions: (
|
||||
@@ -27,6 +30,7 @@
|
||||
location: "Example City, EX",
|
||||
date: "2019 - Present",
|
||||
description: "Example, Inc.",
|
||||
title-link: "https://github.com/DeveloperPaul123",
|
||||
)
|
||||
|
||||
#resume-item[
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "modern-cv"
|
||||
version = "0.4.0"
|
||||
version = "0.5.0"
|
||||
compiler = "0.11.0"
|
||||
entrypoint = "lib.typ"
|
||||
authors = ["Paul Tsouchlos <https://github.com/DeveloperPaul123>"]
|
||||
|
||||
Reference in New Issue
Block a user