YAMLResume

Instalación

YAMLResume es una herramienta de Node.js que, bajo el capó, transforma tu currículum del formato YAML a código LaTeX y luego invoca un motor de composición LaTeX para compilar ese código a PDF. Además, para obtener una salida PDF óptima, recomendamos instalar algunas fuentes. En resumen, para empezar con YAMLResume necesitas:

  • Node.js
  • el paquete yamlresume
  • un motor de composición (typesetting engine)
  • [opcional] algunas fuentes

Puede sonar un poco complejo, pero no te preocupes: te guiamos paso a paso.

Usuarios de Docker

Si usas Docker, estás de suerte: tenemos una imagen de Docker con todo pre-empacado, incluyendo:

Crea un currículum al instante con:

docker run --rm -v $(pwd):/home/yamlresume yamlresume/yamlresume new my-resume.yml

¿Cómo funciona esta magia de Docker?

Este comando creará un archivo my-resume.yml en tu directorio actual. Pasos:

  1. docker run ... yamlresume/yamlresume — ejecuta un contenedor a partir de la imagen yamlresume/yamlresume (si no existe localmente, se descargará desde Docker Hub).
  2. --rm — elimina automáticamente el contenedor al salir.
  3. -v $(pwd):/home/yamlresume — monta el directorio actual dentro del contenedor en /home/yamlresume, permitiendo acceso bidireccional a los archivos.
  4. new my-resume.yml — ejecuta el subcomando new del CLI para crear un currículum con ese nombre.

Edita my-resume.yml y luego genera el PDF:

docker run --rm -v $(pwd):/home/yamlresume yamlresume/yamlresume build my-resume.yml

Básicamente, puedes invocar cualquier subcomando del CLI de esta forma: añade el subcomando tras yamlresume/yamlresume y sigue su ayuda de uso.

La opción -v es importante: monta tu directorio actual ($(pwd)) en /home/yamlresume para sincronizar archivos entre tu máquina y el contenedor.

Espejo en GitHub

Si tienes problemas al descargar la imagen desde Docker Hub, también está publicada en el registro de GitHub Packages:

docker pull ghcr.io/yamlresume/yamlresume

Problemas de permisos

A veces puedes encontrarte con problemas de permisos al ejecutar el contenedor, ya que la imagen se construye con USER yamlresume y corre con menos privilegios por defecto. Dos soluciones:

  1. Ejecutar el contenedor con tu UID/GID del host:
docker run --rm -v $(pwd):/home/yamlresume -u $(id -u):$(id -g) yamlresume/yamlresume new my-resume.yml
  1. Ejecutarlo como root (menos recomendado):
docker run --rm -v $(pwd):/home/yamlresume -u root yamlresume/yamlresume new my-resume.yml

Node.js

Necesitas Node.js 20.x o superior. Instálalo con tu gestor preferido o consulta la guía oficial para tu sistema.

brew install node
# usando NodeSource u otros métodos equivalentes
# (consulta https://nodejs.org/en/download/package-manager)
sudo pacman -S nodejs npm
# Recomendado: usar winget o nvm-windows
winget install OpenJS.NodeJS.LTS

yamlresume

Instala el CLI globalmente con tu gestor favorito:

npm install -g yamlresume
pnpm add -g yamlresume
yarn global add yamlresume
bun add -g yamlresume

Comprueba la instalación:

$ yamlresume -V

Typesetting Engine

Para generar el PDF, YAMLResume necesita un motor de composición. Actualmente se soportan dos:

XeTeX

XeTeX viene con TeX Live/MacTeX y ofrece gran calidad tipográfica.

# Paquete completo (recomendado en macOS)
brew install mactex
sudo apt-get update && sudo apt-get install -y texlive-xetex
sudo pacman -S texlive-binextra texlive-latexextra
# Instala WSL y usa el método de Ubuntu/Debian dentro de WSL

Tectonic

Tectonic es un motor moderno, rápido y sin dependencias gigantes.

brew install tectonic
curl --proto '=https' --tlsv1.2 -sSf https://install.tectonic.dev | sh
winget install tectonic

Font

Aunque no es obligatorio, instalar buenas fuentes mejora notablemente el resultado del PDF.

Linux Libertine

La familia Linux Libertine es una excelente opción serif para texto de cuerpo.

brew install --cask font-linux-libertine
sudo apt-get update && sudo apt-get install -y fonts-linuxlibertine
sudo pacman -S ttf-linux-libertine

Google Noto

Para currículums en CJK (Chino/Japonés/Coreano) recomendamos la familia Noto:

brew install --cask font-noto-sans-cjk font-noto-serif-cjk
sudo apt-get update && sudo apt-get install -y fonts-noto-cjk
sudo pacman -S noto-fonts-cjk

Consejos

  • Si usas Docker, no necesitas instalar Node, XeTeX o Tectonic en tu host.
  • XeTeX ofrece la mejor compatibilidad tipográfica; Tectonic es más ligero y rápido de instalar.
  • Instalar Linux Libertine y Noto mejora la calidad visual, sobre todo en idiomas no latinos.
Edit on GitHub

Last updated on