Giter Club home page Giter Club logo

modern-cv's Introduction

Modern CV

say thanks Discord Release Build documentation

A port of the Awesome-CV Latex resume template in typst.

Requirements

You will need the Roboto and Source Sans Pro fonts installed on your system or available somewhere. If you are using the typst web app, no further action is necessary. You can download them from the following links:

This template also uses FontAwesome icons via the fontawesome package. You will need to install the fontawesome fonts on your system or configure the typst web app to use them. You can download fontawesome here.

To use the fontawesome icons in the web app, add a fonts folder to your project and upload the otf files from the fontawesome download to this folder like so:

alt text

See typst fonts --help for more information on configuring fonts for typst that are not installed on your system.

Usage

Below is a basic example for a simple resume:

#import "@preview/modern-cv:0.1.0": *

#show: resume.with(
  author: (
      firstname: "John", 
      lastname: "Smith",
      email: "[email protected]", 
      phone: "(+1) 111-111-1111",
      github: "DeveloperPaul123",
      linkedin: "Example",
      address: "111 Example St. Example City, EX 11111",
      positions: (
        "Software Engineer",
        "Software Architect"
      )
  ),
  date: datetime.today().display()
)

= Education

#resume-entry(
  title: "Example University",
  location: "B.S. in Computer Science",
  date: "August 2014 - May 2019",
  description: "Example"
)

#resume-item[
  - #lorem(20)
  - #lorem(15)
  - #lorem(25)  
]

After saving to a *.typ file, compile your resume using the following command:

typst compile resume.typ

For more information on how to use and compile typst files, see the official documentation.

Documentation for this template is published with each commit. See the attached PDF on each Github Action run here.

Output Examples

Resumes Cover letters
Resume Cover Letter
Resume 2 Cover Letter 2

Building and Testing Locally

To build and test the project locally, you will need to install the typst CLI. You can find instructions on how to do this here.

With typst installed you can make changes to lib.typ and then install_package_locally.ps1 to install the package locally. Change the import statements in the template files to point to the local package:

#import "@local/modern-cv:0.3.0": *

Note that the script parses the typst.toml to determine the version number and the folder the local files are installed to.

Formatting

This project uses typstyle to format the code. The script format_typst.ps1 will format all the *.typ files in the project. Be sure to install typstyle before running the script.

License

The project is licensed under the MIT license. See LICENSE for more details.

Author


@DeveloperPaul123

modern-cv's People

Contributors

brandon-huu avatar caemor avatar derfetzer avatar developerpaul123 avatar lpchaim avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

modern-cv's Issues

Add Github Action to Auto-File PRs to typst/packages

Description

On release, it would be nice to have a Github action set up that could auto file a PR to typst/packages for the new release in the correct folder location. At a minimum, it would be nice to push a new branch with the changes to my fork of typst/packages and then I can manually file the PR.

FA icons are not displayed

Hi! Thank you for the awesome (no pun intended) template! :)

While trying out the template in the web app via Typst universe, I noticed that the font awesome icons are currently not being rendered:

image

Few improvement ideas

  • Accept other languages (mainly regarding "Resume" at the bottom of the document)
  • Don't show icons & text if github,phone,... is set to none
  • Allow color changes

Do not color first N letters of headings

It seems like the consensus on Lemmy is to not color the first 3 letters of the headings. We should keep them a single color. It would be interesting to play with coloring the first word in a heading, but this may be ultimately unnecessary.

Typos in example

In the example Code, #resume_entry and #resume_item do not exist. The _ need to be replaced by - to fix this.

Add more info in usage

Can you please add more info on how to use the code for people that are not familiar with typst?
What to install?
What format the file needs to be?
What commands to use to compile the code? etc.

Can't Change Accent Color of `resume-entry`

You cannot change the accent color in a resume entry block because the accent color isn't passed to secondary-right-header.

#let resume-entry(
  title: none,
  location: "",
  date: "",
  description: "",
) = {
  pad[
    #justified-header(title, location)
    #secondary-justified-header(description, date)
  ]
}

Support Multiple Languages

Need to add scaffolding for localization to make this available to non-English speaking users/countries.

Add CI to auto build documentation

We should auto build the documentation for every commit and we should also upload docs to releases as well.

Starting point:

name: Build document
on: [push, workflow_dispatch]
jobs:
  build_pdf:
    runs-on: ubuntu-latest
    steps:
      - name: Set up Git repository
        uses: actions/checkout@v3
      - name: Typst
        uses: yusancky/setup-typst@v2
        id: setup-typst
        with:
          version: 'v0.11.0'
      - run: typst compile modern-cv-docs.typ
      - name: Upload PDF file
        uses: actions/upload-artifact@v3
        with:
          name: modern-cv-documentation
          path: modern-cv-documentation.pdf

One issue may be the fonts, but I think these are (mostly) available on chocolatey.

[Feature Request] Entry Subtitle Stacking

First of all thanks for sharing this CV template, it's really good.

In this post I suggest the ability to add multiple sub-entries for each entry. This could be used for something like "Title Stacking" (adding multiple titles from the same company).

This can be achieved right now by not specifying the title and location on the second resume-entry item, however, the line is still added as a blank space, so it doesn't look good.

#resume-entry(
  title: "Job Title",
  location: "Chicago, US",
  date: "2019 - Present",
  description: "Engineer"
)

#resume-item[
  - #lorem(20)
]

#resume-entry(
  date: "2011 - 2019",
  description: "Intern"
)

#resume-item[
  - #lorem(20)
]

I assume there are other ways to achieve the same result, I don't know much about typst

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.