YAMLResume

Types

Ce document présente les types TypeScript qui définissent la structure d'un CV avec YAMLResume. En tant que projet TypeScript, YAMLResume emploie le typage statique pour assurer la cohérence des données. Ce fichier fournit un aperçu des structures de données principales utilisées pour représenter les informations de CV, incluant les détails personnels, l'éducation, l'expérience, les compétences et plus.

Vous pouvez consulter types.ts pour les détails de la source de vérité.

Comprendre ces types est essentiel pour les contributeurs et développeurs qui veulent personnaliser ou étendre les fonctionnalités de YAMLResume.

Ce document sert de référence définitive pour les utilisateurs cherchant à créer un YAMLResume valide, clarifiant la distinction entre les champs optionnels et obligatoires. Pour garantir une compilation réussie dans YAMLResume, un CV minimal doit incorporer les champs essentiels suivants :

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

Donc théoriquement un CV minimal viable ressemble à ceci :

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

Resume

Définit la structure globale du CV, incluant le contenu et la mise en page.

PropTypeRequisDescription
contentResumeContentDéfinit la structure pour l'ensemble du contenu du CV.
layout?ResumeLayoutDéfinit la configuration globale de mise en page.

Voici un diagramme de haut niveau de la structure du CV :

ResumeContent

Définit la structure pour l'ensemble du contenu du CV.

PropTypeRequisDescription
basicsBasicsItemReprésente les informations personnelles et de contact principales.
educationEducationItem[]Contient une collection d'expériences éducatives.
awards?AwardItem[]Contient une collection de prix et reconnaissances.
certificates?CertificateItem[]Contient une collection de certifications et références.
interests?InterestItem[]Contient une collection d'intérêts, loisirs ou activités personnelles.
languages?LanguageItem[]Contient une collection de compétences linguistiques.
location?LocationItemContient les informations de localisation.
projects?ProjectItem[]Contient une collection de projets.
profiles?ProfileItem[]Contient une collection de profils en ligne.
publications?PublicationItem[]Contient une collection de publications.
references?ReferenceItem[]Contient une collection de références.
skills?SkillItem[]Contient une collection de compétences.
volunteer?VolunteerItem[]Contient une collection d'expériences bénévoles.
work?WorkItem[]Contient une collection d'expériences de travail et historique d'emploi.

AwardItem

Représente un prix, honneur ou reconnaissance reçu.

PropTypeRequisDescription
awarderstringL'organisation ou entité qui a donné le prix.
titlestringLe nom ou titre du prix.
date?stringLa date de réception du prix (ex: "2020", "Oct 2020").
summary?stringUne courte description ou détails sur le prix.

BasicsItem

Représente les informations personnelles et de contact principales.

PropTypeRequisDescription
namestringNom complet.
email?stringAdresse email.
headline?stringUn bref titre professionnel (ex: "Ingénieur Logiciel").
phone?stringNuméro de téléphone.
summary?stringUn résumé professionnel ou déclaration d'objectif.
url?stringSite web personnel ou URL de portfolio.

CertificateItem

Représente une certification, référence ou qualification professionnelle.

PropTypeRequisDescription
issuerstringL'organisation qui a émis le certificat.
namestringLe nom du certificat.
date?stringLa date d'obtention du certificat (ex: "2021", "Nov 2021").
url?stringURL liée au certificat (ex: lien de vérification).

EducationItem

Représente une expérience éducative ou un programme d'études.

PropTypeRequisDescription
areastringDomaine d'étude (ex: "Informatique").
degreeDegreeLe type de diplôme obtenu.
institutionstringNom de l'institution.
startDatestringDate de début d'études (ex: "2016", "Sep 2016").
courses?string[]Liste des cours suivis.
endDate?stringDate de fin d'études (ex: "2020", "May 2020"), vide implique "Présent".
summary?stringDescription des accomplissements ou détails.
score?stringGPA ou note académique.
url?stringURL liée à l'institution ou au diplôme.

InterestItem

Représente un intérêt, loisir ou activité personnelle.

PropTypeRequisDescription
namestringNom de la catégorie d'intérêt (ex: "Lecture", "Photographie").
keywords?string[]Mots-clés liés à l'intérêt.

LanguageItem

Représente une compétence linguistique.

PropTypeRequisDescription
fluencyFluencyLe niveau de maîtrise de la langue.
languageLanguageLa langue.
keywords?string[]Mots-clés spécifiques liés aux compétences linguistiques (ex: "Traduction").

LocationItem

Représente les informations de localisation et d'adresse.

PropTypeRequisDescription
citystringNom de la ville.
address?stringAdresse de rue.
country?CountryCode ou nom du pays.
postalCode?stringCode postal.
region?stringÉtat, province ou région.

ProfileItem

Représente un profil en ligne ou une présence sur les réseaux sociaux.

PropTypeRequisDescription
networkNetworkLe nom du réseau ou de la plateforme.
usernamestringLe nom d'utilisateur sur la plateforme.
url?stringL'URL du profil.

ProjectItem

Représente un projet, pièce de portfolio ou travail technique.

PropTypeRequisDescription
namestringNom du projet.
startDatestringDate de début du projet (ex: "2021", "Jan 2021").
summarystringAccomplissements détaillés pour le projet.
description?stringDescription du projet.
endDate?stringDate de fin du projet (ex: "2022", "Jul 2022").
keywords?string[]Mots-clés ou technologies utilisées dans le projet.
url?stringURL liée au projet (ex: dépôt, démo en direct).

PublicationItem

Représente une publication, travail de recherche ou article académique.

PropTypeRequisDescription
namestringNom ou titre de la publication.
publisherstringÉditeur du travail.
releaseDate?stringDate de publication (ex: "2023", "Mar 2023").
summary?stringRésumé ou abstrait de la publication.
url?stringURL liée à la publication (ex: DOI, lien).

ReferenceItem

Représente une référence professionnelle ou recommandation.

PropTypeRequisDescription
namestringNom de la référence.
summarystringUne note brève sur la référence.
email?stringAdresse email de la référence.
phone?stringNuméro de téléphone de la référence.
relationship?stringRelation avec la référence (ex: "Ancien Manager").

SkillItem

Représente une compétence, capacité ou aptitude technique.

PropTypeRequisDescription
levelLevelNiveau de maîtrise de la compétence.
namestringNom de la compétence.
keywords?string[]Mots-clés spécifiques ou technologies liées à la compétence.

VolunteerItem

Représente une expérience bénévole ou un service communautaire.

PropTypeRequisDescription
organizationstringNom de l'organisation.
positionstringRôle ou poste occupé.
startDatestringDate de début du travail bénévole (ex: "2019", "Jun 2019").
summarystringRésumé des responsabilités ou accomplissements.
endDate?stringDate de fin du travail bénévole (ex: "2020", "Dec 2020").
url?stringURL liée à l'organisation ou au travail.

WorkItem

Représente une expérience de travail ou un poste d'emploi.

PropTypeRequisDescription
namestringNom de l'entreprise ou employeur.
positionstringTitre du poste ou position occupée.
startDatestringDate de début d'emploi (ex: "2021", "Apr 2021").
summarystringRésumé des responsabilités et accomplissements.
endDate?stringDate de fin d'emploi (ex: "2023", "Aug 2023").
keywords?string[]Mots-clés liés au rôle ou technologies utilisées.
url?stringURL liée à l'entreprise ou au travail.

ResumeLayout

Définit la configuration globale de mise en page.

PropTypeRequisDescription
locale?ResumeLayoutLocaleDéfinit les paramètres de locale pour l'internationalisation et la localisation.
margins?ResumeLayoutMarginsDéfinit les paramètres de marges de page pour la mise en page du document.
page?ResumeLayoutPageDéfinit les paramètres au niveau de la page pour la présentation du document.
template?TemplateDéfinit le modèle sélectionné.
typography?ResumeLayoutTypographyDéfinit les paramètres typographiques pour le formatage du document.
latex?ResumeLayoutLaTeXDéfinit les options de configuration spécifiques à LaTeX.

ResumeLayoutLocale

Définit les paramètres de locale pour l'internationalisation et la localisation.

PropTypeRequisDescription
language?LocaleLanguageLa langue sélectionnée pour le contenu du CV et les termes du modèle.

ResumeLayoutMargins

Définit les paramètres de marges de page pour la mise en page du document.

PropTypeRequisDescription
top?stringValeur de marge supérieure (ex: "2.5cm").
bottom?stringValeur de marge inférieure (ex: "2.5cm").
left?stringValeur de marge gauche (ex: "1.5cm").
right?stringValeur de marge droite (ex: "1.5cm").

ResumeLayoutPage

Définit les paramètres au niveau de la page pour la présentation du document.

PropTypeRequisDescription
showPageNumbers?booleanIndique s'il faut afficher les numéros de page.

ResumeLayoutTypography

Définit les paramètres typographiques pour le formatage du document.

PropTypeRequisDescription
fontSize?stringTaille de police de base pour le document (ex: "10pt", "11pt").

ResumeLayoutLaTeX

Définit les options de configuration spécifiques à LaTeX.

PropTypeRequisDescription
fontspec?{ numbers?: FontspecNumbers }Configurations du package LaTeX fontspec.

Types d'Énumération

Country

Un type union pour tous les pays et régions possibles dans le monde.

Degree

Un type union pour tous les diplômes possibles.

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

Fluency

Un type union pour tous les niveaux de maîtrise linguistique possibles.

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

Language

Un type union pour toutes les langues supportées.

Level

Un type union pour tous les niveaux de maîtrise de compétences possibles.

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

Network

Un type union pour toutes les options de réseaux sociaux possibles.

Template

Un type union pour toutes les options de modèles possibles.

Voir aussi : modèles

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

LocaleLanguage

Un type union pour toutes les langues de locale possibles.

Voir aussi : multi-langues

  • en
  • es
  • zh-hans
  • zh-hant-hk
  • zh-hant-tw

FontspecNumbers

Un type union pour toutes les options de nombres fontspec LaTeX possibles.

  • Auto - permettant au style d'être automatiquement déterminé basé sur la LocaleLanguage sélectionnée (par défaut)
  • Lining - chiffres alignés standard (par défaut pour les langues CJK)
  • OldStyle - chiffres à l'ancienne avec des hauteurs variées (par défaut pour les langues latines)

FontSize

Un type union pour toutes les options de taille de police possibles.

Pour l'instant, seulement 3 options sont supportées :

  • 10pt - taille de police 10pt (par défaut)
  • 11pt - taille de police 11pt
  • 12pt - taille de police 12pt
Edit on GitHub

Last updated on