It’s that time again and I’d like to make my life easier. I have multiple CVs for different positions and in different languages. Recruiters and companies want the CVs in PDF.

My current workflow is to sequentially edit the .odts (wording then layout because things move around depending on length), maybe the style, then save and export to PDF. That can take a while, so here I am, wondering if it can be sped up by simply editing a text file and generating CVs with certain themes.

Or what your workflow is. Maybe this isn’t worth automating…

Solution

Finally went with RenderCV (thank you @bert@sh.itjust.works), which also runs locally. YAML in, PDF, PNG, HTML, etc. out. It comes with 10 themes or so. Haven’t looked at what it take to create my own (I’m lazy).

Contender was JSON Resume, but the site is down and I tried it years ago but never got it to work properly.

  • u_tamtam@programming.dev
    link
    fedilink
    arrow-up
    22
    ·
    2 months ago

    Some might call it overkill or old fashioned, but my LaTeX CV versioned in mercurial as branches and hard linked clones has worked wonders for me for decades, now.

    • davad@lemmy.world
      link
      fedilink
      arrow-up
      6
      ·
      2 months ago

      Same here (but versioned in git, and I only maintain one branch). I found a CV template I liked, and added my personal details. There are a ton out there. And the formatting doesn’t bunch around the same way a .odt file does.

    • theherk@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      2 months ago

      Same. Well, not mercurial, but CV in latex. Works great. It really gives a ton of control over typesetting, so it is easy to make sure each page is filled completely.

  • Alavi@programming.dev
    link
    fedilink
    arrow-up
    8
    ·
    edit-2
    2 months ago

    Just made mine with Typst. Amazing.

    Search “typst cv template”

    Also, the idea of jsonresume seems pretty great. So you can have a single source of data and have different types of resume styles for it.

  • spectrums_coherence@piefed.social
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    2 months ago

    Typst is great! You can sperate the code for data from the code to render the CV, thus adapt to any format without changing the data.

  • bert@sh.itjust.works
    link
    fedilink
    arrow-up
    3
    ·
    2 months ago

    RenderCV would allow you to have separate yaml files for each position/locale, and generate PDFs for each of them with the same theme.

    Or the content in one file and generating multiple PDFs with different themes. It’s fairly flexible;

    https://github.com/rendercv/rendercv

    • onlinepersona@programming.devOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 months ago

      I finally went with this. Thanks.

      It doesn’t have a theme registry like JSON Resume, but at least it works. Finally my CVs are in git 🥰

  • monomon@programming.dev
    link
    fedilink
    arrow-up
    3
    ·
    2 months ago

    Similarly to Onno, I write everything in markdown first, and convert using pandoc. Then I use weasyprint to take the resulting HTML with CSS applied on it, and generate a PDF from all that.

    The result is quite nice, and this system has served me for more thant 15 years. A friend working in HR shared that it does stand out, compared to most submissions.

    Here’s a fragment of Makefile to summarize the concept:

    docname=2026
    
    all:
    	pandoc -t html5 ${docname}.md -o ${docname}.html
    	weasyprint -s ${docname}.css ${docname}.html ${docname}.pdf
    
      • monomon@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        2 months ago

        Since it was a while ago I’ve forgotten, but I think it didn’t interpret the stylesheets correctly. I should probably recheck, because it may have been fixed.

  • BiscuityCat@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    2 months ago

    I have written my CV in HTML, CSS, little bit of JavaScript and handlebars.js library (single JS file). I have all the texts inside JSON files (one file per language). I can switch between languages simply by changing a variable and refreshing the page.

    When I need to update the CV, I just change the text and print the CV as a webpage into a PDF using an Ungoogled Chrome (Firefox has a bug that causes the page to print in a slightly wrong size).

    It may be overkill for some, but for me it was easier to properly style the page using a CSS than using Writer/Word.

  • giiicmrp@sopuli.xyz
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    I made a simple Go program that generates the CV based on a YAML file, and serves it as a webpage. Then print to PDF using the browser.

    There’s not much theming options, though. I don’t have any repos public at the moment but I just set up Anubis in front of my Forgejo so I could post a link if you’re interested.

    If you know a bit of HTML/CSS, customizing the template should be simple for theming it to your liking.