YAMLResume

Zod Schema

YAMLResume 採用 zod 在執行時驗證履歷資料。

本文檔概述了 YAMLResume 中使用的所有 zod 模式。如果您對實現細節感興趣,可以在這裡找到原始碼。

履歷模式

定義整體履歷結構驗證,包括內容和佈局驗證。

屬性類型必需
contentContentSchema
layouts?LayoutsSchema
locale?LocaleSchema

ContentSchema

定義整個履歷內容的驗證結構。

屬性類型必需
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

驗證獲得的單個獎項、榮譽或認可。

屬性類型必需驗證規則
awarderstring2-128 個字元
titlestring2-128 個字元
date?string參見日期模式
summary?string參見摘要模式

BasicsItemSchema

驗證核心個人和聯繫資訊。

屬性類型必需驗證規則
namestring2-128 個字元
email?string參見電子郵件模式
headline?string2-128 個字元
phone?string參見電話模式
summary?string參見摘要模式
url?string參見URL 模式

CertificateItemSchema

驗證單個認證、證書或專業資格。

屬性類型必需驗證規則
issuerstring2-128 個字元
namestring2-128 個字元
date?string參見日期模式
url?string參見URL 模式

EducationItemSchema

驗證單個教育經歷或學位課程。

屬性類型必需驗證規則
areastring2-64 個字元
degreeDegree必須來自預定義的學位選項
institutionstring2-128 個字元
startDatestring參見日期模式
courses?string[]每個專案 2-128 個字元
endDate?string參見日期模式
summary?string參見摘要模式
score?string2-32 個字元
url?string參見URL 模式

InterestItemSchema

驗證單個興趣、愛好或個人活動。

屬性類型必需驗證規則
namestring2-128 個字元
keywords?string[]參見關鍵詞模式

LanguageItemSchema

驗證單個語言能力專案。

屬性類型必需驗證規則
fluencyFluency必須來自預定義的熟練程度選項
languageLanguage必須來自預定義的語言選項
keywords?string[]每個專案 1-32 個字元

LocationItemSchema

驗證位置和地址資訊。

屬性類型必需驗證規則
citystring2-128 個字元
address?string2-128 個字元
country?Country必須來自預定義的國家選項
postalCode?string2-128 個字元
region?string2-128 個字元

ProfileItemSchema

驗證單個線上個人資料或社交媒體存在。

屬性類型必需驗證規則
networkNetwork必須來自預定義的網路選項
usernamestring2-128 個字元
url?string有效 URL,最多 256 個字元

ProjectItemSchema

驗證單個專案、作品集作品或技術工作。

屬性類型必需驗證規則
namestring2-128 個字元
startDatestring參見日期模式
summarystring參見摘要模式
description?string4-128 個字元
endDate?string參見日期模式
keywords?string[]每個專案 1-32 個字元
url?string有效 URL,最多 256 個字元

PublicationItemSchema

驗證單個出版物、研究工作或學術論文。

屬性類型必需驗證規則
namestring2-128 個字元
publisherstring2-128 個字元
releaseDate?string參見日期模式
summary?string參見摘要模式
url?string有效 URL,最多 256 個字元

ReferenceItemSchema

驗證單個專業推薦人或推薦。

屬性類型必需驗證規則
namestring2-128 個字元
summarystring參見摘要模式
email?string參見電子郵件模式
phone?string有效電話格式
relationship?string2-128 個字元

SkillItemSchema

驗證單個技能、能力或技術能力。

屬性類型必需驗證規則
levelLevel必須來自預定義的級別選項
namestring2-128 個字元
keywords?string[]每個專案 1-32 個字元

VolunteerItemSchema

驗證單個志願者經歷或社區服務。

屬性類型必需驗證規則
organizationstring2-128 個字元
positionstring2-128 個字元
startDatestring參見日期模式
summarystring參見摘要模式
endDate?string參見日期模式
url?string有效 URL,最多 256 個字元

WorkItemSchema

驗證單個工作經歷或就業職位。

屬性類型必需驗證規則
namestring2-128 個字元
positionstring2-128 個字元
startDatestring參見日期模式
summarystring參見摘要模式
endDate?string參見日期模式
keywords?string[]每個專案 1-32 個字元
url?string有效 URL,最多 256 個字元

LocaleSchema

驗證國際化和本地化的區域設置。

屬性類型必需驗證規則
language?LocaleLanguage必須來自預定義的區域語言選項

LayoutsSchema

定義整體佈局驗證配置。

屬性類型必需驗證規則
layouts[]LatexLayoutSchema | MarkdownLayoutSchema佈局配置陣列。

通用佈局模式

MarginsSchema

驗證文件佈局的頁邊距設置。

屬性類型必需驗證規則
top?string參見頁邊距大小模式
bottom?string參見頁邊距大小模式
left?string參見頁邊距大小模式
right?string參見頁邊距大小模式
SectionsSchema

驗證分節自定義設置。

屬性類型必需驗證規則
aliases?Record<SectionID, string>鍵必須是有效的分節 ID,值必須是字串(2-128 個字元)
order?OrderableSectionID[]有效可排序分節 ID 的陣列

LatexLayoutSchema

驗證 LaTeX 佈局配置。

屬性類型必需驗證規則
advanced?LatexAdvancedSchema參見高級模式
engine'latex'必須是 "latex"
page?LatexPageSchema參見頁面模式
sections?SectionsSchema參見分節模式
template?LatexTemplate必須來自預定義的模板選項
typography?LatexTypographySchema參見排版模式
LatexAdvancedSchema

驗證 LaTeX 的高級配置選項。

屬性類型必需驗證規則
fontspec?{ numbers?: LatexFontspecNumbers }必須來自預定義的fontspec 數字選項
LatexPageSchema

驗證文件演示的頁面級設置。

屬性類型必需驗證規則
margins?MarginsSchema參見頁邊距模式
showPageNumbers?booleantrue/false
LatexTypographySchema

驗證文件格式的排版設置。

屬性類型必需驗證規則
fontSize?string必須來自預定義的字體大小選項
links?{ underline?: boolean }true/false

MarkdownLayoutSchema

驗證 Markdown 佈局配置。

屬性類型必需驗證規則
engine'markdown'必須是 "markdown"
sections?SectionsSchema參見分節模式

原始驗證模式

電子郵件模式

使用嚴格格式要求驗證電子郵件地址。

驗證規則:

  • 必須是有效的電子郵件格式
  • 模式:^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$
  • 示例:hi@ppresume.comfirst.last@company.orgtest+tag@domain.co.uk

電話模式

使用靈活格式支援驗證電話號碼。

驗證規則:

  • 模式:^[+]?[(]?[0-9\\s-]{1,15}[)]?[0-9\\s-]{1,15}$
  • 可能包括國家代碼、括號、空格和連字元
  • 示例:555-123-4567+44 20 7946 0958(555) 123-4567

摘要模式

使用長度約束驗證摘要文字。

驗證規則:

  • 必須在 16 到 1024 個字元之間
  • 示例:
    • "具有 5 年以上全棧開發經驗的軟體工程師。"
    • "熱衷於使用者體驗和現代設計原則的創意設計師。"
    • "在按時按預算交付複雜專案方面有良好記錄的專案經理。"

URL 模式

使用長度約束驗證 URL。

驗證規則:

  • 必須是有效的 URL 格式
  • 最大長度為 256 個字元
  • 示例:https://yamlresume.devhttps://ppresume.comhttps://github.com/yamlresume/yamlresume

關鍵詞模式

使用單個專案約束驗證關鍵詞陣列。

驗證規則:

  • 字串陣列
  • 每個關鍵詞必須在 1 到 32 個字元之間
  • 示例:["Javascript", "React", "Typescript"]["Design", "UI", "UX"]

日期模式

使用格式要求驗證日期字串。

驗證規則:

  • 必須在 4 到 32 個字元之間
  • 必須可被 Date.parse() 解析
  • 示例:2025-01-01Jul 2025July 3, 20252025-02-02T00:00:03.123Z

頁邊距大小模式

使用單位要求驗證頁邊距大小字串。

驗證規則:

  • 必須在 2 到 32 個字元之間
  • 模式:^\\d+(\\.\\d+)?(cm|pt|in)$
  • 必須是正數後跟有效單位:cm、pt 或 in
  • 示例:2.5cm1in72pt0.5cm12pt

枚舉驗證模式

國家

世界上所有可能國家和地區的聯合類型。

驗證規則:

  • 必須是預定義的國家選項之一
  • 示例:United StatesChinaUnited KingdomGermany

###學位

所有可能學位的聯合類型。

驗證規則:

  • 必須是以下之一:AssociateBachelorDiplomaDoctorHigh SchoolMasterMiddle School

熟練程度

所有可能語言熟練程度的聯合類型。

驗證規則:

  • 必須是以下之一:
    • Elementary Proficiency
    • Full Professional Proficiency
    • Limited Working Proficiency
    • Minimum Professional Proficiency
    • Native or Bilingual Proficiency

語言

所有支援語言的聯合類型。

驗證規則:

  • 必須是預定義的語言選項之一
  • 示例:EnglishChineseSpanishFrenchGerman

級別

所有可能技能熟練程度的聯合類型。

驗證規則:

  • 必須是以下之一:AdvancedBeginnerExpertIntermediateMasterNovice

網路

所有可能社交網路選項的聯合類型。

驗證規則:

  • 必須是預定義的網路選項之一
  • 示例:GitHubLinkedInTwitterFacebookInstagram

LatexTemplate

所有可能模板選項的聯合類型。

驗證規則:

  • 必須是以下之一:moderncv-bankingmoderncv-casualmoderncv-classic
  • 另請參閱:模板

LocaleLanguage

所有可能區域語言的聯合類型。

驗證規則:

  • 必須是以下之一:eneszh-hanszh-hant-hkzh-hant-tw
  • 另請參閱:多語言

LatexFontspecNumbers

所有可能 latex fontspec 數字選項的聯合類型。

驗證規則:

  • 必須是以下之一:
    • Auto - 允許根據選定的 LocaleLanguage 自動確定樣式(預設)
    • Lining - 標準襯線數字(CJK 語言的預設值)
    • OldStyle - 不同高度的舊式數字(拉丁語言的預設值)

LatexFontSize

所有可能字體大小選項的聯合類型。

驗證規則:

  • 必須是以下之一:10pt11pt12pt
  • 10pt 是預設字體大小
Edit on GitHub

Last updated on