YAMLResume

Esquema Zod

O YAMLResume adota zod para validar os dados do currículo em tempo de execução.

Este documento descreve todos os esquemas zod usados no YAMLResume. Se te interessarem os detalhes de implementação, podes encontrar o código fonte aqui.

Esquema Resume

Define a validação da estrutura global do currículo, incluindo validação de conteúdo e de layout.

PropTipoObrigatório
contentContentSchema
layouts?LayoutsSchema⬜️
locale?LocaleSchema⬜️

ContentSchema

Define a estrutura de validação para todo o conteúdo do currículo.

PropTipoObrigatório
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 um único prémio, honra ou reconhecimento recebido.

PropTipoObrigatórioRegras de validação
awarderstring2-128 caracteres
titlestring2-128 caracteres
date?string⬜️ver date schema
summary?string⬜️ver summary schema

BasicsItemSchema

Valida a informação pessoal e de contacto principal.

PropTipoObrigatórioRegras de validação
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 uma certificação, credencial ou qualificação profissional.

PropTipoObrigatórioRegras de validação
issuerstring2-128 caracteres
namestring2-128 caracteres
date?string⬜️ver date schema
url?string⬜️ver url schema

EducationItemSchema

Valida uma experiência ou programa educativo.

PropTipoObrigatórioRegras de validação
areastring2-64 caracteres
degreeDegreeDeve estar nas opções de degree
institutionstring2-128 caracteres
startDatestringver date schema
courses?string[]⬜️Cada item 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 um interesse, hobby ou atividade pessoal.

PropTipoObrigatórioRegras de validação
namestring2-128 caracteres
keywords?string[]⬜️ver keywords schema

LanguageItemSchema

Valida um item de competência linguística.

PropTipoObrigatórioRegras de validação
fluencyFluencyDeve estar em fluency options
languageLanguageDeve estar em language options
keywords?string[]⬜️Cada item 1-32 caracteres

LocationItemSchema

Valida informação de localização e morada.

PropTipoObrigatórioRegras de validação
citystring2-128 caracteres
address?string⬜️2-128 caracteres
country?Country⬜️Deve estar em country options
postalCode?string⬜️2-128 caracteres
region?string⬜️2-128 caracteres

ProfileItemSchema

Valida um perfil online ou presença em redes.

PropTipoObrigatórioRegras de validação
networkNetworkDeve estar em network options
usernamestring2-128 caracteres
url?string⬜️URL válida, máximo 256 caracteres

ProjectItemSchema

Valida um projeto, peça de portfólio ou trabalho técnico.

PropTipoObrigatórioRegras de validação
namestring2-128 caracteres
startDatestringver date schema
summarystringver summary schema
description?string⬜️4-128 caracteres
endDate?string⬜️ver date schema
keywords?string[]⬜️Cada item 1-32 caracteres
url?string⬜️URL válida, máximo 256 caracteres

PublicationItemSchema

Valida uma publicação, trabalho de investigação ou artigo académico.

PropTipoObrigatórioRegras de validação
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 uma referência profissional ou recomendação.

PropTipoObrigatórioRegras de validação
namestring2-128 caracteres
summarystringver summary schema
email?string⬜️ver email schema
phone?string⬜️Formato de telefone válido
relationship?string⬜️2-128 caracteres

SkillItemSchema

Valida uma competência ou capacidade técnica.

PropTipoObrigatórioRegras de validação
levelLevelDeve estar em level options
namestring2-128 caracteres
keywords?string[]⬜️Cada item 1-32 caracteres

VolunteerItemSchema

Valida uma experiência de voluntariado ou serviço comunitário.

PropTipoObrigatórioRegras de validação
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 uma experiência laboral ou posto.

PropTipoObrigatórioRegras de validação
namestring2-128 caracteres
positionstring2-128 caracteres
startDatestringver date schema
summarystringver summary schema
endDate?string⬜️ver date schema
keywords?string[]⬜️Cada item 1-32 caracteres
url?string⬜️URL válida, máximo 256 caracteres

LocaleSchema

Valida a configuração regional para internacionalização e localização.

PropTipoObrigatórioRegras de validação
language?LocaleLanguage⬜️Deve estar em opções de língua local

LayoutsSchema

Define a configuração geral de validação do layout.

PropTipoObrigatórioRegras de validação
layouts[]HtmlLayoutSchema | LatexLayoutSchema | MarkdownLayoutSchema⬜️Array de configurações layout

Esquemas de Layout Comuns

MarginsSchema

Valida as margens de página.

PropTipoObrigatórioRegras de validação
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 a configuração de personalização de secções.

PropTipoObrigatórioRegras de validação
aliases?Record<SectionID, string>⬜️Chaves devem ser IDs de secção válidos, valores strings (2-128 ch)
order?OrderableSectionID[]⬜️Array de IDs de secção ordenáveis válidos

HtmlLayoutSchema

Valida a configuração do layout HTML.

PropTipoObrigatório
engine'html'
advanced?HtmlAdvancedSchema⬜️
sections?SectionsSchema⬜️
template?HtmlTemplateSchema⬜️
typography?HtmlTypographySchema⬜️
HtmlAdvancedSchema

Valida opções de configuração avançada de HTML.

PropTipoObrigatórioRegras de validação
showIcons?boolean⬜️true/false
title?string⬜️-
footer?string⬜️-
description?string⬜️-
keywords?string⬜️-
HtmlTemplateSchema

Valida a configuração de modelo HTML.

PropTipoObrigatórioRegras de validação
templateHtmlTemplate⬜️Deve ser uma das opções de modelo
HtmlTypographySchema

Valida a configuração de tipografia HTML.

PropTipoObrigatórioRegras de validação
fontFamily?string⬜️Uma lista de famílias de fontes separada por vírgulas.
fontSize?HtmlFontSize⬜️Deve ser uma das opções de tamanho de fonte

LatexLayoutSchema

Valida a configuração do layout LaTeX.

PropTipoObrigatórioRegras de validação
advanced?LatexAdvancedSchema⬜️Ver esquema avançado
engine'latex'Deve ser "latex"
page?LatexPageSchema⬜️Ver esquema de página
sections?SectionsSchema⬜️Ver esquema de secções
template?LatexTemplate⬜️Deve estar em opções de modelo
typography?LatexTypographySchema⬜️Ver esquema de tipografia
LatexAdvancedSchema

Valida opções de configuração avançada de LaTeX.

PropTipoObrigatórioRegras de validação
fontspec?{ numbers?: LatexFontspecNumbers }⬜️Deve estar em opções de números fontspec
showIcons?boolean⬜️true/false
LatexPageSchema

Valida opções ao nível de página para a apresentação.

PropTipoObrigatórioRegras de validação
margins?MarginsSchema⬜️Ver esquema de margens
paperSize?PaperSize⬜️Deve estar em opções de tamanho de papel
showPageNumbers?boolean⬜️true/false
LatexTypographySchema

Valida opções tipográficas para o formato do documento.

PropTipoObrigatórioRegras de validação
fontSize?string⬜️Deve estar em opções de tamanho de fonte
fontFamily?string⬜️Uma lista de famílias de fontes separada por vírgulas.
links?{ underline?: boolean }⬜️true/false

MarkdownLayoutSchema

Valida a configuração do layout Markdown.

PropTipoObrigatórioRegras de validação
engine'markdown'Deve ser "markdown"
sections?SectionsSchema⬜️Ver esquema de secções

Esquemas de Validação de Enum

Country

Tipo união que inclui todos os possíveis países e regiões do mundo.

Regras de validação:

  • Deve ser uma das opções de país predefinidas
  • Exemplos: United States, China, United Kingdom, Germany

Degree

Tipo união que inclui todos os possíveis graus académicos.

Regras de validação:

  • Deve ser um de: Associate, Bachelor, Diploma, Doctor, High School, Master, Middle School

Fluency

Tipo união que inclui todos os possíveis níveis de competência linguística.

Regras de validação:

  • Deve ser um de:
    • Elementary Proficiency
    • Full Professional Proficiency
    • Limited Working Proficiency
    • Minimum Professional Proficiency
    • Native or Bilingual Proficiency

Language

Tipo união que inclui todos os idiomas suportados.

Regras de validação:

  • Deve ser uma das opções de idioma predefinidas
  • Exemplos: English, Chinese, Spanish, French, German

Level

Tipo união que inclui todos os possíveis níveis de domínio de competências.

Regras de validação:

  • Deve ser um de: Advanced, Beginner, Expert, Intermediate, Master, Novice

Network

Tipo união que inclui todas as possíveis opções de redes sociais.

Regras de validação:

  • Deve ser uma das opções de rede predefinidas
  • Exemplos: GitHub, LinkedIn, Twitter, Facebook, Instagram

HtmlFontSize

Tipo união que inclui todas as possíveis opções de tamanho de fonte HTML.

Regras de validação:

  • Deve ser um de: 10px, 11px, 12px, 13px, 14px, 15px, 16px, 17px, 18px, 19px, 20px, 21px, 22px, 23px, 24px
  • O motor HTML suporta tamanhos de fonte de 10px a 24px
  • 16px é o tamanho de fonte por defeito

HtmlTemplate

Tipo união que inclui todas as possíveis opções de modelo HTML.

Regras de validação:

  • Deve ser um de: calm
  • Ver também: templates

LatexTemplate

Tipo união que inclui todas as possíveis opções de modelo.

Regras de validação:

  • Deve ser um de: moderncv-banking, moderncv-casual, moderncv-classic
  • Ver também: templates

LocaleLanguage

Tipo união que inclui todos os possíveis códigos de língua local.

Regras de validação:

  • Deve ser um de: en, es, zh-hans, zh-hant-hk, zh-hant-tw
  • Ver também: multi-languages

LatexFontspecNumbers

Tipo união que inclui todas as possíveis opções de números de fontspec de LaTeX.

Regras de validação:

  • Deve ser um de:
    • Auto - permite que o estilo seja determinado automaticamente segundo o LocaleLanguage selecionado (por defeito)
    • Lining - cifras lining padrão (por defeito para idiomas CJK)
    • OldStyle - cifras old style com alturas variáveis (por defeito para idiomas latinos)

LatexFontSize

Tipo união que inclui todas as possíveis opções de tamanho de fonte.

Regras de validação:

  • Deve ser um de: 10pt, 11pt, 12pt
  • 10pt é o tamanho de fonte por defeito

PaperSize

Tipo união que inclui todas as possíveis opções de tamanho de papel LaTeX.

Regras de validação:

  • Deve ser um de: a4, letter
Edit on GitHub

Last updated on