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[]HtmlLayoutSchema | LatexLayoutSchema | MarkdownLayoutSchema佈局配置陣列。

通用佈局模式

MarginsSchema

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

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

驗證分節自定義設置。

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

HtmlLayoutSchema

驗證 HTML 佈局配置。

屬性類型必需
engine'html'
advanced?HtmlAdvancedSchema
sections?SectionsSchema
template?HtmlTemplateSchema
typography?HtmlTypographySchema
HtmlAdvancedSchema

驗證 HTML 的進階佈局配置選項。

屬性類型必需驗證規則
showIcons?booleantrue/false
title?string-
footer?string-
description?string-
keywords?string-
HtmlTemplateSchema

驗證 HTML 模板配置。

屬性類型必需驗證規則
templateHtmlTemplate必須來自預定義的模板選項
HtmlTypographySchema

驗證 HTML 排版設置。

屬性類型必需驗證規則
fontFamily?string逗號分隔的字體家族列表。
fontSize?HtmlFontSize必須來自預定義的字體大小選項

LatexLayoutSchema

驗證 LaTeX 佈局配置。

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

驗證 LaTeX 的高級配置選項。

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

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

屬性類型必需驗證規則
margins?MarginsSchema參見頁邊距模式
paperSize?PaperSize必須來自預定義的紙張大小選項
showPageNumbers?booleantrue/false
LatexTypographySchema

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

屬性類型必需驗證規則
fontSize?string必須來自預定義的字體大小選項
fontFamily?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
  • 必須是以下之一:moderncv-bankingmoderncv-casualmoderncv-classic
  • 另請參閱:模板

HtmlFontSize

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

驗證規則:

  • 必須是以下之一:10px11px12px13px14px15px16px17px18px19px20px21px22px23px24px
  • HTML 引擎支援 10px 到 24px 的字體大小
  • 16px 是預設字體大小

HtmlTemplate

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

驗證規則:

  • 必須是以下之一:calm
  • 另請參閱:模板

LocaleLanguage

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

驗證規則:

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

LatexFontspecNumbers

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

驗證規則:

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

LatexFontSize

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

驗證規則:

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

PaperSize

所有可能的 LaTeX 紙張大小選項的聯合類型。

驗證規則:

  • 必須是以下之一:a4letter
Edit on GitHub

Last updated on