JSON Schema
Visão Geral
O YAMLResume fornece um JSON Schema oficial para validar dados de currículo.
O JSON Schema oficial mais recente está alojado em: https://yamlresume.com/schema.json. No entanto, se quiseres uma versão reduzida para o teu IDE/editor, também podes usar a versão canary schema.json do nosso repositório do GitHub.
Meanwhile, à medida que o YAMLResume evolui, o JSON Schema oficial será
atualizado constantemente, pelo que também fornecemos todas as
versões arquivadas do JSON Schema em:
https://yamlresume.com/schemas/<version>/schema.json.
Por agora temos versões arquivadas para:
O que é JSON Schema?
JSON Schema é um formato baseado em JSON para definir a estrutura de dados JSON. É uma ferramenta poderosa para validar e documentar dados JSON.
JSON Schema permite-te especificar a estrutura esperada, tipos e restrições dos teus dados JSON. Com JSON Schema, podes definir que propriedades são obrigatórias, que tipos de valores são permitidos (como cadeias, números, arrays ou objetos), e até estabelecer regras para formatos de valores (como endereços de correio eletrónico ou URLs).
Ao usar JSON Schema, os desenvolvedores e ferramentas podem validar automaticamente dados JSON para assegurar que correspondam ao formato esperado antes do processamento. Isto ajuda a detetar erros cedo, melhora a qualidade dos dados e habilita funcionalidades como autocompletar e documentação inline em editores de código modernos.
JSON Schema é amplamente suportado e pode ser usado para ficheiros de configuração, payloads de API e, no caso do YAMLResume, para validar dados de currículo para assegurar consistência e correção.
Benefícios
Integrar o JSON Schema do YAMLResume no teu IDE/editor ao redigir currículos traz vários benefícios:
- Autocompletar: Quando começas a escrever, o teu IDE/editor sugerirá propriedades e os seus tipos esperados, ajudando-te a redigir o teu currículo mais rápido e com menos erros.
- Validação de Formato: O teu IDE/editor evidenciará qualquer erro de formato (como datas ou URLs inválidas) enquanto escreves, evitando que envies informação incorreta.
- Documentação de Propriedades: Obténs documentação inline para cada propriedade, explicando o seu propósito, valores permitidos e qualquer requisito especial de formato.
Autocompletar
Todos os tipos enum serão autocompletados ao escrever. Podes simplesmente escrever as primeiras letras da opção e o IDE/editor sugerirá uma lista de opções válidas, depois podes usar as teclas de flecha cima/baixo para selecionar a correta.
Validação de Formato
Cada par chave-valor será validado em tempo real contra o esquema predefinido. O teu IDE/editor avisar-te-á com uma mensagem de erro precisa para ajudar a evitar erros de baixo nível como formato de correio eletrónico incorreto, opções de grau inválidas, erros tipográficos em níveis de fluência do idioma, etc.
E se faltar uma chave obrigatória, a mensagem de aviso será escalada para o seu objeto pai por defeito, para que possas facilmente encontrar a chave em falta.
Documentação de Propriedades
Por último, mas não menos importante, podes obter documentação inline para cada propriedade, explicando o seu propósito, valores permitidos e qualquer requisito especial de formato. Podes passar o cursor sobre a chave da propriedade ou o valor para ver a documentação.
Como usar JSON Schema?
Precisas instalar yaml-language-server para usar o JSON schema do YAMLResume para os teus currículos. Dependendo do teu IDE/editor, poderás precisar instalar diferentes extensões.
Uma vez instalado, precisas adicionar a seguinte linha no topo do teu ficheiro de currículo:
# yaml-language-server: $schema=https://yamlresume.dev/schema.jsonEntão podes aproveitar as funcionalidades de autocompletar, validação de formato, e documentação de propriedades todas ao alcance da tua mão.
Engenharia
Por baixo do capô, o JSON schema do YAMLResume é gerado com a ajuda de Zod v4, que é uma incrível biblioteca de validação de esquemas com TypeScript primeiro.
Definimos o esquema em schema/resume.ts, e depois geramos o JSON schema num caso de teste.
Não é fixe?
Last updated on