Skip to content

Commit

Permalink
content
Browse files Browse the repository at this point in the history
Signed-off-by: razzle <harry@razzle.cloud>
  • Loading branch information
Noxsios committed Jan 8, 2024
1 parent 8440cc9 commit 1353a07
Showing 1 changed file with 24 additions and 13 deletions.
37 changes: 24 additions & 13 deletions content/2024-01-07.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,36 +14,45 @@ meta = [
]
+++

> **TL;DR** My single-page, clean and simple developer CV written with [typst](https://typst.app/), [tailwindcss colors](https://github.com/kaarmu/typst-palettes/blob/main/doc/main.pdf) and published to GitHub Pages.
> **TL;DR** My single-page, clean and simple developer [CV](https://noxsios.github.io/cv/) written with [typst](https://typst.app/), [tailwindcss colors](https://github.com/kaarmu/typst-palettes/blob/main/doc/main.pdf) and published to GitHub Pages.
<!-- more -->

## first section
## Why Not `X`?

- [ ] typst
Most CVs are written in Microsoft Word or Google Docs. Once initial formatting is done, they only require minimal
adjustments and additions. So why go through the hassle of creating a build system for a CV?

- [ ] format / inspo for cv
- **Version Control** - I can track changes to my CV over time and revert to previous versions if needed (I could also setup AI generated mutations based on the CV+job description+some extra metadata from my career).
- **Automation** - I can update my CV in a PR, perform automated checks, then merge to main and it will be automatically published to an easily accessible URL (no need to manually keep track).
- **Separation of Concerns** - I can separate the content of my CV from the formatting. A large detriment to using Word/Docs is that the content and formatting are tightly coupled. If I want to change the formatting, I have to manually update every usage of that formatting. Using Typst, I can change the formatting in one place and it will be applied to every usage.
- **Ownership** - One of the glorious benefits of Git is that I own my data, and each `git clone` is a full copy of the CV that can be brought over to any other system.

<https://github.com/BartoszJarocki/cv>
## Putting it all together

- [ ] colors
For generating the PDF, I chose to use [Typst](https://typst.app/).

<https://github.com/typst/packages/tree/main/packages/preview/splash/0.3.0>
> Typst is a new markup-based typesetting system for the sciences. It is designed to be an alternative both to advanced tools like LaTeX and simpler tools like Word and Google Docs. Our goal with Typst is to build a typesetting tool that is highly capable and a pleasure to use. [docs](https://typst.app/docs)
- [ ] fonts
I liked Typst's pseudo markdown syntax, its simple yet extremely powerful scripting language, and the fact I could hot reload the PDF as I was editing the CV (`typst watch`)

<https://github.com/Homebrew/homebrew-cask-fonts>
<!-- Combined with the typst, the PDF preview VSCode extensions. -->

- [ ] ci + gh pages
The CV's format was heavily inspired by the recently trending <https://github.com/BartoszJarocki/cv> repo.

<https://github.com/actions/starter-workflows/blob/main/pages/static.yml>
To replicate the colors used in that CV website, I used the `splash` Typst package <https://github.com/typst/packages/tree/main/packages/preview/splash/0.3.0> because one of the color palettes it exports is a `tailwindcss` port.

My go-to font recently has been the PT Sans family <https://fonts.google.com/specimen/PT+Sans>, so I went with that as I find it very readable on both screens and printed.

> In CI, I opted to use `brew`'s <https://github.com/Homebrew/homebrew-cask-fonts> to install the fonts.
To publish the PDF to a website, I grabbed the [GitHub Pages static workflow template](https://github.com/actions/starter-workflows/blob/main/pages/static.yml) and made a few tweaks.

![pages workflow](/ss/2024-01-07-1.png)

- [ ] tiny hack on index.html
To "hack" GitHub pages to serve the CV PDF at the root of the URL, I made a simple `index.html` file that loads the PDF in an `iframe`.

```html
<!-- index.html -->
<!DOCTYPE html>
<html lang="en">

Expand All @@ -60,3 +69,5 @@ meta = [

</html>
```

Checkout the full source code here: <https://github.com/Noxsios/cv>

0 comments on commit 1353a07

Please sign in to comment.