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?stringURL スキーマ を参照

CertificateItemSchema

単一の認証、証明書、または専門資格を検証します。

属性タイプ必須検証ルール
issuerstring2-128 文字
namestring2-128 文字
date?string日付スキーマ を参照
url?stringURL スキーマ を参照

EducationItemSchema

単一の教育経験または学位プログラムを検証します。

属性タイプ必須検証ルール
areastring2-64 文字
degreeDegree事前定義された学位オプション からである必要があります
institutionstring2-128 文字
startDatestring日付スキーマ を参照
courses?string[]各項目 2-128 文字
endDate?string日付スキーマ を参照
summary?string要約スキーマ を参照
score?string2-32 文字
url?stringURL スキーマ を参照

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'
sections?SectionsSchema
template?HtmlTemplateSchema
typography?HtmlTypographySchema
HtmlTemplateSchema

HTML テンプレート設定を検証します。

属性タイプ必須検証ルール
templateHtmlTemplate事前定義されたテンプレートオプション からである必要があります
HtmlTypographySchema

HTML タイポグラフィ設定を検証します。

属性タイプ必須検証ルール
fontSize?HtmlFontSize事前定義されたフォントサイズオプション からである必要があります

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

列挙検証スキーマ

世界のすべての可能な国と地域のユニオンタイプ。

検証ルール:

  • 事前定義された国オプションの 1 つである必要があります
  • 例:United StatesChinaUnited KingdomGermany

学位

すべての可能な学位のユニオンタイプ。

検証ルール:

  • 以下のいずれかである必要があります:AssociateBachelorDiplomaDoctorHigh SchoolMasterMiddle School

流暢度

すべての可能な言語流暢度のユニオンタイプ。

検証ルール:

  • 以下のいずれかである必要があります:
    • Elementary Proficiency
    • Full Professional Proficiency
    • Limited Working Proficiency
    • Minimum Professional Proficiency
    • Native or Bilingual Proficiency

言語

すべてのサポートされている言語のユニオンタイプ。

検証ルール:

  • 事前定義された言語オプションの 1 つである必要があります
  • 例:EnglishChineseSpanishFrenchGerman

レベル

すべての可能なスキル習熟度のユニオンタイプ。

検証ルール:

  • 以下のいずれかである必要があります:AdvancedBeginnerExpertIntermediateMasterNovice

ネットワーク

すべての可能なソーシャルネットワークオプションのユニオンタイプ。

検証ルール:

  • 事前定義されたネットワークオプションの 1 つである必要があります
  • 例:GitHubLinkedInTwitterFacebookInstagram

LatexTemplate

すべての可能なテンプレートオプションのユニオンタイプ。

検証ルール:

  • 以下のいずれかである必要があります:moderncv-bankingmoderncv-casualmoderncv-classic
  • 以下のいずれかである必要があります:moderncv-bankingmoderncv-casualmoderncv-classic
  • 参照:テンプレート

HtmlFontSize

すべての可能な HTML フォントサイズオプションのユニオンタイプ。

検証ルール:

  • 以下のいずれかである必要があります:10px11px12px13px14px15px16px17px18px19px20px21px22px23px24px
  • HTML エンジンは 10px から 24px のフォントサイズをサポートします
  • 16px がデフォルトフォントサイズです

HtmlTemplate

すべての可能な HTML テンプレートオプションのユニオンタイプ。

検証ルール:

LocaleLanguage

すべての可能なロケール言語のユニオンタイプ。

検証ルール:

  • 以下のいずれかである必要があります:eneszh-hanszh-hant-hkzh-hant-tw
  • 参照:多言語

LatexFontspecNumbers

すべての可能な latex fontspec 数字オプションのユニオンタイプ。

検証ルール:

  • 以下のいずれかである必要があります:
    • Auto - 選択された LocaleLanguage に基づいてスタイルを自動決定することを許可(デフォルト)
    • Lining - 標準のライニング数字(CJK 言語のデフォルト)
    • OldStyle - 異なる高さのオールドスタイル数字(ラテン言語のデフォルト)

LatexFontSize

すべての可能なフォントサイズオプションのユニオンタイプ。

検証ルール:

  • 以下のいずれかである必要があります:10pt11pt12pt
  • 10pt がデフォルトフォントサイズです
Edit on GitHub

Last updated on