Latest Socket ResearchMalicious Chrome Extension Performs Hidden Affiliate Hijacking.Details
Socket
Book a DemoInstallSign in
Socket

ser1.net/resume

Package Overview
Dependencies
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ser1.net/resume

Go Modules
Version
v0.0.0-20250112022129-608b8d261c7a
Version published
Created
Source

resume

Build statusReleasesChangelogIssuesGo Report Card

A poorly-named tool for working with json-resume to generate a variety of nicely-formatted resumes.

Features

  • Multiple (2!) PDF output styles
  • Support for a separate reference document
  • References in LinkedIn-style "person, comment"
  • Support for Markdown and HTML resume (but not references, yet) output
  • Optional job collating (Employer->Position 1, Position 2, etc) to compress promotions within a company
  • Optional, independent, inclusion of: achievements, interests, references, and/or skills
  • Optional work history compression: specify a date, and all positions after that date will be summarized. For senior people with long work history, this can help a resume fit on fewer pages.
  • Can run as a web service that provides a configuration and upload page, and uses typst on the backend to generate a PDF to download.

What'cha need

  • a resume.json file. I may have made changes to the schema that this project understands; e.g. I know I changed the achievements structure from a simple string list to a list of objects with name and details attributes. There are probably others.
  • Go. This is the thing that combines your resume with a template and spits out sources.

If you want PDFs, you'll also need either lout, or typst. And as I'm replacing lout (unsupported for over a decade) with typst, the lout part will probably stagnate, and I won't add more styles for it.

Building resumes

A build system is provided, or you can run the commands by hand. This section deals with the build system.

The build system is redo; specifically, goredo. The do files are a little awkward because goredo doesn't understand all of bash's variable expansion mechanisms (esp. the modifiers, like ${k:h:t}). Also, if you don't have lout or typst installed, you won't get pdfs. Markdown and HTML support are built-in, and require no additional tools.

If you use redo and don't have both lout and typst installed, you'll probably see behaviors like repeated attempts to re-run rules that should be skipped, but you shouldn't see errors, and hopefully it won't impact build times; if the tools aren't installed, it just skips the compile step.

You do not have to compile the Go program; the do scripts just run it with go run .. Performance wise, it shouldn't make a difference.

There are a couple of things you can do by hand that there is no build rule for; e.g., directly printing.

Manually generating assets

Templates are embedded in the executable, so the executable is stand-alone. However, it means changing the templates requires rebuilding the executable. In general, it's best to just go run ..

Generate PDF via typst

  go run . -t resume.json > resume.typ 
  typst compile resume.typ resume.pdf

Printing directly, with lout (for variety)

  resume my.resume.json | \
     lout -Z | \
     lp -d et4550 -o sides=two-sided-long-edge -o print-quality=3

Generate diffs with pandoc and pandiff. Pancritic can also generate html from CriticMarkup files.

  go run . -m resume.json > resume.1.md
  pandiff -f markdown -o diff.pdf resume.0.md resume.1.md

As a web service:

  go run . -b :9999

The web service is limited in that the fonts are only relevant (implemented) for typst. Not all settings are implemented for all templates.

TODO

  • hg pandiff markdown.md
  • tal

FAQs

Package last updated on 12 Jan 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts