From 7c4719ffd461430c86cdd16b046f420784e18cdc Mon Sep 17 00:00:00 2001 From: mintyfrankie <77310871+mintyfrankie@users.noreply.github.com> Date: Fri, 12 Jul 2024 23:46:16 +0200 Subject: [PATCH] fix: refactor cover letter functions --- brilliant-CV/{letters.typ => letter.typ} | 12 +++++- brilliant-CV/template.typ | 50 ++++++++++++++++++++++++ letter.typ | 20 +++++----- metadata.toml | 2 +- 4 files changed, 71 insertions(+), 13 deletions(-) rename brilliant-CV/{letters.typ => letter.typ} (81%) diff --git a/brilliant-CV/letters.typ b/brilliant-CV/letter.typ similarity index 81% rename from brilliant-CV/letters.typ rename to brilliant-CV/letter.typ index 64e5ee3..bb731e8 100644 --- a/brilliant-CV/letters.typ +++ b/brilliant-CV/letter.typ @@ -45,7 +45,17 @@ place(right, dx: -5%, dy: 0%, image(path, width: 25%)) } -#let letterFooter() = { +#let letterFooter(metadata) = { + // Parameters + let firstName = metadata.personal.first_name + let lastName = metadata.personal.last_name + let footerText = metadata.lang.at(metadata.language).letter_footer + + // Styles + let footerStyle(str) = { + text(size: 8pt, fill: rgb("#999999"), smallcaps(str)) + } + place( bottom, table( diff --git a/brilliant-CV/template.typ b/brilliant-CV/template.typ index d0af77d..d13a1f1 100644 --- a/brilliant-CV/template.typ +++ b/brilliant-CV/template.typ @@ -1,5 +1,6 @@ /* Packages */ #import "./cv.typ": * +#import "./letter.typ": * #import "./utils/lang.typ": * /* Layout */ @@ -41,4 +42,53 @@ } doc cvFooter(metadata) +} + +#let letter( + metadata_path: "../metadata.toml", + myAddress: "Your Address Here", + recipientName: "Company Name Here", + recipientAddress: "Company Address Here", + date: datetime.today().display(), + subject: "Subject: Hey!", + signaturePath: "", + doc, +) = { + + // Load metadata + let metadata = toml(metadata_path) + + // Non Latin Logic + let lang = metadata.language + let fontList = latinFontList + if isNonLatin(lang) { + let nonLatinFont = metadata.lang.non_latin.font + fontList.insert(2, nonLatinFont) + } + + // Page layout + set text(font: fontList, weight: "regular", size: 9pt) + set align(left) + set page( + paper: "a4", + margin: (left: 1.4cm, right: 1.4cm, top: .8cm, bottom: .4cm), + ) + set text(size: 12pt) + + letterHeader( + myAddress: myAddress, + recipientName: recipientName, + recipientAddress: recipientAddress, + date: date, + subject: subject, + metadata: metadata, + awesomeColors: awesomeColors, + ) + + doc + if signaturePath != "" { + letterSignature(signaturePath) + } + letterFooter(metadata) + } \ No newline at end of file diff --git a/letter.typ b/letter.typ index c49e19e..47f4c31 100644 --- a/letter.typ +++ b/letter.typ @@ -1,13 +1,12 @@ #import "brilliant-CV/template.typ": * -#show: layout -#set text(size: 12pt) //set global font size - -#letterHeader( - myAddress: [1 Rue Gonnet \ 75003 Paris, France], - recipientName: [ABC Company], - recipientAddress: [15 Boulevard Roi \ 75011 Paris, France], - date: [05/05/2023], - subject: "Subject: Job Application for Senior Data Analyst", +#show: letter.with( + metadata_path: "../metadata.toml", + myAddress: "Your Address Here", + recipientName: "Company Name Here", + recipientAddress: "Company Address Here", + date: datetime.today().display(), + subject: "Subject: Hey!", + signaturePath: "../src/signature.png", ) Dear Hiring Manager, @@ -28,6 +27,5 @@ Thank you for considering my application. I look forward to the opportunity to d Sincerely, -#letterSignature("/src/signature.png") -#letterFooter() + diff --git a/metadata.toml b/metadata.toml index 0de75c8..58363fa 100644 --- a/metadata.toml +++ b/metadata.toml @@ -1,4 +1,4 @@ -language = "zh" +language = "en" [layout] awesome_color = "skyblue"