YAMLResume

Tipos

Este documento describe los tipos de TypeScript que definen la estructura de un currículum en YAMLResume. Como proyecto TypeScript, YAMLResume emplea tipado estático para garantizar consistencia de datos. Aquí se presenta una visión general de las estructuras núcleo para representar la información del currículum, incluyendo datos personales, educación, experiencia, habilidades y más.

Puedes consultar types/index.ts para la fuente de verdad.

Entender estos tipos es esencial para contribuir o extender la funcionalidad de YAMLResume.

Este documento sirve como referencia definitiva para crear un YAMLResume válido, aclarando la diferencia entre campos opcionales y obligatorios. Para compilar con éxito, un currículum mínimo debe incluir:

  • content.basics.name
  • education[number].area
  • education[number].degree
  • education[number].institution
  • education[number].startDate

Ejemplo mínimo viable:

content:
  basics:
    name: Xiao Hanyu
  education:
    - area: Computer Science and Technology
      degree: Bachelor
      institution: Zhejiang University
      startDate: Sep, 2007

Resume

Define la estructura global del currículum (contenido y layout).

PropTipoRequeridoDescripción
contentContentEstructura del contenido completo del currículum.
layouts?Layouts⬜️Configuración general del layout.
locale?Locale⬜️Configuración general de localización.

Diagrama de alto nivel:

Content

Estructura del contenido completo del currículum.

PropTipoRequeridoDescripción
basicsBasicsItemInformación personal y de contacto principal.
educationEducationItem[]Conjunto de experiencias educativas.
awards?AwardItem[]⬜️Conjunto de premios y reconocimientos.
certificates?CertificateItem[]⬜️Conjunto de certificaciones y credenciales.
interests?InterestItem[]⬜️Intereses, hobbies o actividades personales.
languages?LanguageItem[]⬜️Competencias lingüísticas.
location?LocationItem⬜️Información de localización.
projects?ProjectItem[]⬜️Proyectos.
profiles?ProfileItem[]⬜️Perfiles online.
publications?PublicationItem[]⬜️Publicaciones.
references?ReferenceItem[]⬜️Referencias.
skills?SkillItem[]⬜️Habilidades.
volunteer?VolunteerItem[]⬜️Experiencias de voluntariado.
work?WorkItem[]⬜️Experiencias laborales e historial de empleo.

AwardItem

Representa un premio u honor recibido.

PropTipoReq.Descripción
awarderstringOrganización que otorga el premio.
titlestringNombre del premio.
date?string⬜️Fecha (p. ej., "2020", "Oct 2020").
summary?string⬜️Breve descripción.

BasicsItem

Información personal principal.

PropTipoReq.Descripción
namestringNombre completo.
email?string⬜️Email.
headline?string⬜️Titular profesional (p. ej., "Software Engineer").
phone?string⬜️Teléfono.
summary?string⬜️Resumen profesional.
url?string⬜️Sitio o portafolio.

CertificateItem

PropTipoReq.Descripción
issuerstringEntidad emisora.
namestringNombre del certificado.
date?string⬜️Fecha obtenida.
url?string⬜️Enlace de verificación u otro.

EducationItem

PropTipoReq.Descripción
areastringÁrea de estudio.
degreeDegreeTipo de grado.
institutionstringInstitución.
startDatestringFecha de inicio.
courses?string[]⬜️Cursos.
endDate?string⬜️Fecha de fin (vacío implica "Actual").
summary?string⬜️Descripción/logros.
score?string⬜️Calificación/GPA.
url?string⬜️Enlace relacionado.

InterestItem

PropTipoReq.Descripción
namestringNombre del interés.
keywords?string[]⬜️Palabras clave relacionadas.

LanguageItem

PropTipoReq.Descripción
fluencyFluencyNivel de competencia.
languageLanguageIdioma.
keywords?string[]⬜️Palabras clave relacionadas.

LocationItem

PropTipoReq.Descripción
citystringCiudad.
address?string⬜️Dirección.
country?Country⬜️País.
postalCode?string⬜️Código postal.
region?string⬜️Región/provincia/estado.

ProfileItem

PropTipoReq.Descripción
networkNetworkRed o plataforma.
usernamestringUsuario.
url?string⬜️URL del perfil.

ProjectItem

PropTipoReq.Descripción
namestringNombre.
startDatestringInicio.
summarystringLogros/detalles.
description?string⬜️Descripción.
endDate?string⬜️Fin.
keywords?string[]⬜️Tecnologías/keywords.
url?string⬜️Enlace (repo/demo).

PublicationItem

PropTipoReq.Descripción
namestringTítulo de la publicación.
publisherstringEditorial.
releaseDate?string⬜️Fecha de publicación.
summary?string⬜️Resumen/abstract.
url?string⬜️Enlace (DOI/u otro).

ReferenceItem

PropTipoReq.Descripción
namestringNombre de la referencia.
summarystringNota breve.
email?string⬜️Email.
phone?string⬜️Teléfono.
relationship?string⬜️Relación (p. ej., "Manager").

SkillItem

PropTipoReq.Descripción
levelLevelNivel de la habilidad.
namestringNombre de la habilidad.
keywords?string[]⬜️Palabras clave relacionadas.

VolunteerItem

PropTipoReq.Descripción
organizationstringOrganización.
positionstringRol/posición.
startDatestringInicio.
summarystringResponsabilidades/logros.
endDate?string⬜️Fin.
url?string⬜️Enlace relacionado.

WorkItem

PropTipoReq.Descripción
namestringEmpresa.
positionstringPuesto.
startDatestringInicio.
summarystringResumen de responsabilidades/logros.
endDate?string⬜️Fin.
keywords?string[]⬜️Palabras clave/tecnologías.
url?string⬜️Enlace relacionado.

Locale

Define la configuración de localización para internacionalización.

PropTipoRequeridoDescripción
language?LocaleLanguage⬜️Idioma del currículum.

Layouts

Array de configuraciones de layout soportando múltiples formatos de salida.

PropTipoRequeridoDescripción
layouts[]LatexLayout | MarkdownLayout⬜️Configuraciones de layout.

Tipos de Layout Comunes

Margins

Define los márgenes de página para el documento.

PropTipoRequeridoDescripción
top?string⬜️Margen superior.
bottom?string⬜️Margen inferior.
left?string⬜️Margen izquierdo.
right?string⬜️Margen derecho.
Sections

Define alias de secciones para personalizar nombres.

PropTipoRequeridoDescripción
aliases?Record<SectionID, string>⬜️Alias personalizados para nombres de secciones.
order?OrderableSectionID[]⬜️Orden personalizado para secciones en la salida final.

HtmlLayout

Configuración de layout HTML.

PropTipoRequeridoDescripción
engine'html'Motor para generar el currículum.
sections?Sections⬜️Configuración de secciones.
template?HtmlTemplate⬜️Plantilla seleccionada.
typography?HtmlTypography⬜️Configuración tipográfica.
HtmlTypography

Define opciones tipográficas para formato de documento HTML.

PropTipoRequeridoDescripción
fontSize?HtmlFontSize⬜️Tamaño base de fuente para el doc.

LatexLayout

Configuración de layout LaTeX.

PropTipoRequeridoDescripción
advanced?LatexAdvanced⬜️Configuración avanzada.
engine'latex'Motor para generar el currículum.
page?LatexPage⬜️Configuración a nivel de página.
sections?Sections⬜️Configuración de secciones.
template?LatexTemplate⬜️Plantilla seleccionada.
typography?LatexTypography⬜️Configuración tipográfica.
LatexAdvanced

Define opciones de configuración avanzada para LaTeX.

PropTipoRequeridoDescripción
fontspec?{ numbers?: LatexFontspecNumbers }⬜️Configuración de paquete fontspec.
LatexPage

Define opciones a nivel de página para LaTeX.

PropTipoRequeridoDescripción
margins?Margins⬜️Márgenes de página.
showPageNumbers?boolean⬜️Mostrar números de página.
LatexTypography

Define opciones tipográficas para LaTeX.

PropTipoRequeridoDescripción
fontSize?LatexFontSize⬜️Tamaño base de fuente.
links?{ underline?: boolean }⬜️Estilo de enlaces.

MarkdownLayout

Configuración de layout Markdown.

PropTipoRequeridoDescripción
engine'markdown'Motor para generar el currículum.
sections?Sections⬜️Configuración de secciones.

Tipos de enumeración

Enums de Contenido

Country

Tipo unión que incluye todos los posibles países y regiones del mundo.

Degree

Tipo unión que incluye todos los posibles grados académicos.

  • Associate
  • Bachelor
  • Diploma
  • Doctor
  • High School
  • Master
  • Middle School

Fluency

Tipo unión que incluye todos los posibles niveles de competencia lingüística.

  • Elementary Proficiency
  • Full Professional Proficiency
  • Limited Working Proficiency
  • Minimum Professional Proficiency
  • Native or Bilingual Proficiency

Language

Tipo unión que incluye todos los idiomas soportados.

Level

Tipo unión que incluye todos los posibles niveles de dominio de habilidades.

  • Advanced
  • Beginner
  • Expert
  • Intermediate
  • Master
  • Novice

Network

Tipo unión que incluye todas las posibles opciones de redes sociales.

Enums de Layout

HtmlFontSize

Tipo unión opciones de tamaño de fuente HTML.

El motor HTML soporta tamaños de 14px a 20px:

  • 14px, 15px, 16px (por defecto), 17px, 18px, 19px, 20px

HtmlTemplate

Tipo unión opciones de plantilla HTML.

Ver también: templates

  • calm

LatexFontSize

Tipo unión que incluye todas las posibles opciones de tamaño de fuente LaTeX.

Por ahora solo se admiten 3 opciones:

  • 10pt - tamaño de fuente de 10pt (por defecto)
  • 11pt - tamaño de fuente de 11pt
  • 12pt - tamaño de fuente de 12pt

LatexFontspecNumbers

Tipo unión que incluye todas las posibles opciones de números de fontspec de LaTeX.

  • Auto - permite que el estilo se determine automáticamente según el LocaleLanguage seleccionado (por defecto)
  • Lining - cifras lining estándar (por defecto para idiomas CJK)
  • OldStyle - cifras old style con alturas variables (por defecto para idiomas latinos)

LatexTemplate

Tipo unión que incluye todas las posibles opciones de plantilla LaTeX.

Ver también: templates

  • moderncv-banking
  • moderncv-casual
  • moderncv-classic

Enums de Localización

LocaleLanguage

Tipo unión que incluye todos los posibles códigos de lenguaje local.

Ver también: multi-languages

  • en
  • es
  • zh-hans
  • zh-hant-hk
  • zh-hant-tw
Edit on GitHub

Last updated on