YAMLResume

Esquema Zod

YAMLResume adopta zod para validar los datos del currículum en tiempo de ejecución.

Este documento describe todos los esquemas zod usados en YAMLResume. Si te interesan los detalles de implementación, puedes encontrar el código fuente aquí.

Esquema Resume

Define la validación de la estructura global del currículum, incluyendo validación de contenido y de layout.

PropTipoRequerido
contentContentSchema
layouts?LayoutsSchema⬜️
locale?LocaleSchema⬜️

ContentSchema

Define la estructura de validación para todo el contenido del currículum.

PropTipoRequerido
basicsBasicsItemSchema
educationEducationItemSchema[]
awards?AwardItemSchema[]⬜️
certificates?CertificateItemSchema[]⬜️
interests?InterestItemSchema[]⬜️
languages?LanguageItemSchema[]⬜️
location?LocationItemSchema⬜️
projects?ProjectItemSchema[]⬜️
profiles?ProfileItemSchema[]⬜️
publications?PublicationItemSchema[]⬜️
references?ReferenceItemSchema[]⬜️
skills?SkillItemSchema[]⬜️
volunteer?VolunteerItemSchema[]⬜️
work?WorkItemSchema[]⬜️

AwardItemSchema

Valida un único premio, honor o reconocimiento recibido.

PropTipoRequeridoReglas de validación
awarderstring2-128 caracteres
titlestring2-128 caracteres
date?string⬜️ver date schema
summary?string⬜️ver summary schema

BasicsItemSchema

Valida la información personal y de contacto principal.

PropTipoRequeridoReglas de validación
namestring2-128 caracteres
email?string⬜️ver email schema
headline?string⬜️2-128 caracteres
phone?string⬜️ver phone schema
summary?string⬜️ver summary schema
url?string⬜️ver url schema

CertificateItemSchema

Valida una certificación, credencial o calificación profesional.

PropTipoRequeridoReglas de validación
issuerstring2-128 caracteres
namestring2-128 caracteres
date?string⬜️ver date schema
url?string⬜️ver url schema

EducationItemSchema

Valida una experiencia o programa educativo.

PropTipoRequeridoReglas de validación
areastring2-64 caracteres
degreeDegreeDebe estar en las opciones de degree
institutionstring2-128 caracteres
startDatestringver date schema
courses?string[]⬜️Cada ítem 2-128 caracteres
endDate?string⬜️ver date schema
summary?string⬜️ver summary schema
score?string⬜️2-32 caracteres
url?string⬜️ver url schema

InterestItemSchema

Valida un interés, hobby o actividad personal.

PropTipoRequeridoReglas de validación
namestring2-128 caracteres
keywords?string[]⬜️ver keywords schema

LanguageItemSchema

Valida un ítem de competencia lingüística.

PropTipoRequeridoReglas de validación
fluencyFluencyDebe estar en fluency options
languageLanguageDebe estar en language options
keywords?string[]⬜️Cada ítem 1-32 caracteres

LocationItemSchema

Valida información de localización y dirección.

PropTipoRequeridoReglas de validación
citystring2-128 caracteres
address?string⬜️2-128 caracteres
country?Country⬜️Debe estar en country options
postalCode?string⬜️2-128 caracteres
region?string⬜️2-128 caracteres

ProfileItemSchema

Valida un perfil online o presencia en redes.

PropTipoRequeridoReglas de validación
networkNetworkDebe estar en network options
usernamestring2-128 caracteres
url?string⬜️URL válida, máximo 256 caracteres

ProjectItemSchema

Valida un proyecto, pieza de portfolio o trabajo técnico.

PropTipoRequeridoReglas de validación
namestring2-128 caracteres
startDatestringver date schema
summarystringver summary schema
description?string⬜️4-128 caracteres
endDate?string⬜️ver date schema
keywords?string[]⬜️Cada ítem 1-32 caracteres
url?string⬜️URL válida, máximo 256 caracteres

PublicationItemSchema

Valida una publicación, trabajo de investigación o artículo académico.

PropTipoRequeridoReglas de validación
namestring2-128 caracteres
publisherstring2-128 caracteres
releaseDate?string⬜️ver date schema
summary?string⬜️ver summary schema
url?string⬜️URL válida, máximo 256 caracteres

ReferenceItemSchema

Valida una referencia profesional o recomendación.

PropTipoRequeridoReglas de validación
namestring2-128 caracteres
summarystringver summary schema
email?string⬜️ver email schema
phone?string⬜️Formato de teléfono válido
relationship?string⬜️2-128 caracteres

SkillItemSchema

Valida una habilidad o capacidad técnica.

PropTipoRequeridoReglas de validación
levelLevelDebe estar en level options
namestring2-128 caracteres
keywords?string[]⬜️Cada ítem 1-32 caracteres

VolunteerItemSchema

Valida una experiencia de voluntariado o servicio comunitario.

PropTipoRequeridoReglas de validación
organizationstring2-128 caracteres
positionstring2-128 caracteres
startDatestringver date schema
summarystringver summary schema
endDate?string⬜️ver date schema
url?string⬜️URL válida, máximo 256 caracteres

WorkItemSchema

Valida una experiencia laboral o puesto.

PropTipoRequeridoReglas de validación
namestring2-128 caracteres
positionstring2-128 caracteres
startDatestringver date schema
summarystringver summary schema
endDate?string⬜️ver date schema
keywords?string[]⬜️Cada ítem 1-32 caracteres
url?string⬜️URL válida, máximo 256 caracteres

LocaleSchema

Valida la configuración regional para internacionalización y localización.

PropTipoRequeridoReglas de validación
language?LocaleLanguage⬜️Debe estar en opciones de idioma local

LayoutsSchema

Define la configuración general de validación del layout.

PropTipoRequeridoReglas de validación
layouts[]HtmlLayoutSchema | LatexLayoutSchema | MarkdownLayoutSchema⬜️Array de configuraciones layout

Esquemas de Layout Comunes

MarginsSchema

Valida los márgenes de página.

PropTipoRequeridoReglas de validación
top?string⬜️ver margin size schema
bottom?string⬜️ver margin size schema
left?string⬜️ver margin size schema
right?string⬜️ver margin size schema
SectionsSchema

Valida la configuración de personalización de secciones.

PropTipoRequeridoReglas de validación
aliases?Record<SectionID, string>⬜️Claves deben ser IDs de sección válidos, valores strings (2-128 ch)
order?OrderableSectionID[]⬜️Array de IDs de sección ordenables válidos

HtmlLayoutSchema

Valida la configuración del layout HTML.

PropTipoRequerido
engine'html'
sections?SectionsSchema⬜️
template?HtmlTemplateSchema⬜️
typography?HtmlTypographySchema⬜️
HtmlTemplateSchema

Valida la configuración de plantilla HTML.

PropTipoRequeridoReglas de validación
templateHtmlTemplate⬜️Debe ser una de las opciones de plantilla
HtmlTypographySchema

Valida la configuración de tipografía HTML.

PropTipoRequeridoReglas de validación
fontSize?HtmlFontSize⬜️Debe ser una de las opciones de tamaño de fuente

LatexLayoutSchema

Valida la configuración del layout LaTeX.

PropTipoRequeridoReglas de validación
advanced?LatexAdvancedSchema⬜️Ver esquema avanzado
engine'latex'Debe ser "latex"
page?LatexPageSchema⬜️Ver esquema de página
sections?SectionsSchema⬜️Ver esquema de secciones
template?LatexTemplate⬜️Debe estar en opciones de plantilla
typography?LatexTypographySchema⬜️Ver esquema de tipografía
LatexAdvancedSchema

Valida opciones de configuración avanzada de LaTeX.

PropTipoRequeridoReglas de validación
fontspec?{ numbers?: LatexFontspecNumbers }⬜️Debe estar en opciones de números fontspec
LatexPageSchema

Valida opciones a nivel de página para la presentación.

PropTipoRequeridoReglas de validación
margins?MarginsSchema⬜️Ver esquema de márgenes
showPageNumbers?boolean⬜️true/false
LatexTypographySchema

Valida opciones tipográficas para el formato del documento.

PropTipoRequeridoReglas de validación
fontSize?string⬜️Debe estar en opciones de tamaño de fuente
links?{ underline?: boolean }⬜️true/false

MarkdownLayoutSchema

Valida la configuración del layout Markdown.

PropTipoRequeridoReglas de validación
engine'markdown'Debe ser "markdown"
sections?SectionsSchema⬜️Ver esquema de secciones

Enum Validation Schemas

Country

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

Reglas de validación:

  • Debe ser una de las opciones de país predefinidas
  • Ejemplos: United States, China, United Kingdom, Germany

Degree

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

Reglas de validación:

  • Debe ser uno de: Associate, Bachelor, Diploma, Doctor, High School, Master, Middle School

Fluency

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

Reglas de validación:

  • Debe ser uno de:
    • 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.

Reglas de validación:

  • Debe ser una de las opciones de idioma predefinidas
  • Ejemplos: English, Chinese, Spanish, French, German

Level

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

Reglas de validación:

  • Debe ser uno de: Advanced, Beginner, Expert, Intermediate, Master, Novice

Network

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

Reglas de validación:

  • Must be one of the predefined network options
  • Examples: GitHub, LinkedIn, Twitter, Facebook, Instagram

HtmlFontSize

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

Reglas de validación:

  • Debe ser uno de: 10px, 11px, 12px, 13px, 14px, 15px, 16px, 17px, 18px, 19px, 20px, 21px, 22px, 23px, 24px
  • El motor HTML soporta tamaños de fuente de 10px a 24px
  • 16px es el tamaño de fuente por defecto

HtmlTemplate

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

Reglas de validación:

  • Debe ser uno de: calm
  • Ver también: templates

LatexTemplate

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

Reglas de validación:

  • Debe ser uno de: moderncv-banking, moderncv-casual, moderncv-classic
  • Ver también: templates

LocaleLanguage

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

Reglas de validación:

  • Debe ser uno de: en, es, zh-hans, zh-hant-hk, zh-hant-tw
  • Ver también: multi-languages

LatexFontspecNumbers

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

Reglas de validación:

  • Debe ser uno de:
    • 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)

LatexFontSize

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

Reglas de validación:

  • Debe ser uno de: 10pt, 11pt, 12pt
  • 10pt es el tamaño de fuente por defecto
Edit on GitHub

Last updated on