YAMLResume

類型

本文檔概述了定義 YAMLResume 履歷結構的 TypeScript 類型。作為 TypeScript 專案,YAMLResume 採用靜態類型來確保資料一致性。此文件提供了用於表示履歷資訊的核心資料結構概述,包括個人詳細資訊、教育、經驗、技能等。

您可以查看 types/index.ts 了解真實來源的詳細資訊。

理解這些類型對於想要自定義或擴展 YAMLResume 功能的貢獻者和開發者至關重要。

本文檔為尋求創建有效 YAMLResume 的使用者提供權威參考,闡明可選和必填欄位之間的區別。為了確保在 YAMLResume 中成功編譯,最小履歷必須包含以下基本欄位:

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

因此,理論上最小可行履歷如下所示:

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

Resume

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

屬性類型必需描述
contentContent✅定義整個履歷內容的結構。
layouts?Layouts⬜定義整體佈局配置。
locale?Locale⬜定義整體區域配置。

以下是履歷結構的高級圖表:

Content

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

屬性類型必需描述
basicsBasicsItem✅表示核心個人和聯繫資訊。
educationEducationItem[]✅包含教育經歷集合。
awards?AwardItem[]⬜包含獎項和認可集合。
certificates?CertificateItem[]⬜包含認證和證書集合。
interests?InterestItem[]⬜包含興趣、愛好或個人活動集合。
languages?LanguageItem[]⬜包含語言能力集合。
location?LocationItem⬜包含位置資訊。
projects?ProjectItem[]⬜包含專案集合。
profiles?ProfileItem[]⬜包含線上個人資料集合。
publications?PublicationItem[]⬜包含出版物集合。
references?ReferenceItem[]⬜包含推薦人集合。
skills?SkillItem[]⬜包含技能集合。
volunteer?VolunteerItem[]⬜包含志願者經歷集合。
work?WorkItem[]⬜包含工作經歷和就業歷史集合。

AwardItem

表示獲得的單個獎項、榮譽或認可。

屬性類型必需描述
awarderstring✅頒發獎項的組織或實體。
titlestring✅獎項的名稱或標題。
date?string⬜獲獎日期(例如:"2020"、"Oct 2020")。
summary?string⬜關於獎項的簡短描述或詳細資訊。

BasicsItem

表示核心個人和聯繫資訊。

屬性類型必需描述
namestring✅全名。
email?string⬜電子郵件地址。
headline?string⬜簡短的專業標題或職位(例如:"軟體工程師")。
phone?string⬜電話號碼。
summary?string⬜專業摘要或目標聲明。
url?string⬜個人網站或作品集 URL。

CertificateItem

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

屬性類型必需描述
issuerstring✅頒發證書的組織。
namestring✅證書名稱。
date?string⬜獲得證書的日期(例如:"2021"、"Nov 2021")。
url?string⬜與證書相關的 URL(例如:驗證連結)。

EducationItem

表示單個教育經歷或學位課程。

屬性類型必需描述
areastring✅學習領域(例如:"電腦科學")。
degreeDegree✅獲得的學位類型。
institutionstring✅機構名稱。
startDatestring✅學習開始日期(例如:"2016"、"Sep 2016")。
courses?string[]⬜所修課程列表。
endDate?string⬜學習結束日期(例如:"2020"、"May 2020"),空值表示"現在"。
summary?string⬜成就或詳細資訊的描述。
score?string⬜GPA 或學術成績。
url?string⬜與機構或學位相關的 URL。

InterestItem

表示單個興趣、愛好或個人活動。

屬性類型必需描述
namestring✅興趣類別名稱(例如:"閱讀"、"攝影")。
keywords?string[]⬜與興趣相關的關鍵詞。

LanguageItem

表示單個語言能力專案。

屬性類型必需描述
fluencyFluency✅語言熟練程度。
languageLanguage✅語言。
keywords?string[]⬜與語言技能相關的特定關鍵詞(例如:"翻譯")。

LocationItem

表示位置和地址資訊。

屬性類型必需描述
citystring✅城市名稱。
address?string⬜街道地址。
country?Country⬜國家代碼或名稱。
postalCode?string⬜郵政編碼。
region?string⬜州、省或地區。

ProfileItem

表示單個線上個人資料或社交媒體存在。

屬性類型必需描述
networkNetwork✅網路或平台名稱。
usernamestring✅平台上的使用者名稱。
url?string⬜個人資料的 URL。

ProjectItem

表示單個專案、作品集作品或技術工作。

屬性類型必需描述
namestring✅專案名稱。
startDatestring✅專案開始日期(例如:"2021"、"Jan 2021")。
summarystring✅專案的詳細成就。
description?string⬜專案描述。
endDate?string⬜專案結束日期(例如:"2022"、"Jul 2022")。
keywords?string[]⬜專案中使用的關鍵詞或技術。
url?string⬜與專案相關的 URL(例如:倉庫、即時演示)。

PublicationItem

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

屬性類型必需描述
namestring✅出版物的名稱或標題。
publisherstring✅作品的出版商。
releaseDate?string⬜發布日期(例如:"2023"、"Mar 2023")。
summary?string⬜出版物的摘要或摘要。
url?string⬜與出版物相關的 URL(例如:DOI、連結)。

ReferenceItem

表示單個專業推薦人或推薦。

屬性類型必需描述
namestring✅推薦人姓名。
summarystring✅關於推薦人的簡短說明。
email?string⬜推薦人的電子郵件地址。
phone?string⬜推薦人的電話號碼。
relationship?string⬜與推薦人的關係(例如:"前經理")。

SkillItem

表示單個技能、能力或技術能力。

屬性類型必需描述
levelLevel✅技能熟練程度。
namestring✅技能名稱。
keywords?string[]⬜與技能相關的特定關鍵詞或技術。

VolunteerItem

表示單個志願者經歷或社區服務。

屬性類型必需描述
organizationstring✅組織名稱。
positionstring✅擔任的角色或職位。
startDatestring✅志願者工作開始日期(例如:"2019"、"Jun 2019")。
summarystring✅職責或成就摘要。
endDate?string⬜志願者工作結束日期(例如:"2020"、"Dec 2020")。
url?string⬜與組織或工作相關的 URL。

WorkItem

表示單個工作經歷或就業職位。

屬性類型必需描述
namestring✅公司或雇主名稱。
positionstring✅職位或擔任的職位。
startDatestring✅就業開始日期(例如:"2021"、"Apr 2021")。
summarystring✅職責和成就摘要。
endDate?string⬜就業結束日期(例如:"2023"、"Aug 2023")。
keywords?string[]⬜與角色或使用的技術相關的關鍵詞。
url?string⬜與公司或工作相關的 URL。

Locale

定義國際化和本地化的區域設置。

屬性類型必需描述
language?LocaleLanguage⬜履歷內容和模板術語的選定語言。

Layouts

支援多種輸出格式的佈局項陣列。

屬性類型必需描述
layouts[]DocxLayout | HtmlLayout | LatexLayout | MarkdownLayout⬜多個輸出佈局配置。

通用佈局類型

Margins

定義文件佈局的頁邊距設置。

屬性類型必需描述
top?string⬜上邊距值(例如:"2.5cm")。
bottom?string⬜下邊距值(例如:"2.5cm")。
left?string⬜左邊距值(例如:"1.5cm")。
right?string⬜右邊距值(例如:"1.5cm")。
Sections

定義分節別名設置以自定義分節名稱。

屬性類型必需描述
aliases?Record<SectionID, string>⬜用於分節名稱的自定義別名,覆蓋預設翻譯。
order?OrderableSectionID[]⬜最終輸出中分節的自定義順序。
Theme

定義履歷的視覺主題設定,例如強調色。markdown 引擎會忽略主題選項。

屬性類型必需說明
colors?{ accent?: AccentColor | HexColor }⬜定義主題顏色設定。

colors.accent 選項設定用於章節標題、分隔線、連結和標籤等突顯元素的強調色。它接受具名的 AccentColor 預設或任意的 #RRGGBB 十六進位顏色字串。

HtmlLayout

HTML 佈局配置。

屬性類型必需描述
engine'html'✅生成履歷的引擎。
advanced?HtmlAdvanced⬜定義進階佈局配置選項。
sections?Sections⬜定義分節自定義設置。
template?HtmlTemplate⬜定義選定的模板。
theme?Theme⬜定義履歷的視覺主題設定。
typography?HtmlTypography⬜定義文件格式的排版設置。
HtmlAdvanced

定義 HTML 的進階配置選項。

屬性類型必需描述
showAnchors?boolean⬜是否在章節和條目上輸出用於錨點導覽的片段 id 屬性(預設:true)。
showIcons?boolean⬜是否顯示連結和社交主页的圖示。
title?string⬜HTML 文件的自定義標題。
footer?string⬜HTML 文件的自定義頁尾。
description?string⬜HTML 文件的 Meta 描述。
keywords?string⬜HTML 文件的 Meta 關鍵字。
HtmlTypography

定義 HTML 文件格式的排版設置。

屬性類型必需描述
fontFamily?string⬜要使用的逗號分隔的字體家族列表。
fontSize?HtmlFontSize⬜文件的基礎字體大小。
lineSpacing?LineSpacing⬜文件的行距。

LatexLayout

LaTeX 佈局配置。

屬性類型必需描述
advanced?LatexAdvanced⬜定義高級配置選項。
engine'latex'✅生成履歷的引擎。
page?LatexPage⬜定義文件演示的頁面級設置。
sections?Sections⬜定義分節自定義設置。
template?LatexTemplate⬜定義選定的模板。
theme?Theme⬜定義履歷的視覺主題設定。
typography?LatexTypography⬜定義文件格式的排版設置。
LatexAdvanced

定義 LaTeX 的高級配置選項。

屬性類型必需描述
fontspec?{ numbers?: LatexFontspecNumbers }⬜LaTeX fontspec 包配置。
showIcons?boolean⬜是否顯示連結和社交主頁的圖示。
showUrls?boolean⬜是否顯示原始 URL 或將其隱藏在合理的文字後面。
LatexPage

定義 LaTeX 的文件演示頁面級設置。

屬性類型必需描述
margins?Margins⬜定義頁邊距設置。
paperSize?PaperSize⬜定義紙張大小。
showPageNumbers?boolean⬜是否顯示頁碼。
LatexTypography

定義 LaTeX 的文件格式排版設置。

屬性類型必需描述
fontSize?LatexFontSize⬜文件的基礎字體大小。
fontFamily?string⬜要使用的逗號分隔的字體家族列表。
lineSpacing?LineSpacing⬜文件的行距。
links?{ underline?: boolean }⬜連結樣式設置。

MarkdownLayout

Markdown 佈局配置。

屬性類型必需描述
engine'markdown'✅生成履歷的引擎。
sections?Sections⬜定義分節自定義設置。

DocxLayout

DOCX 佈局配置。

屬性類型必需描述
engine'docx'✅生成履歷的引擎。
advanced?DocxAdvanced⬜定義進階配置選項。
page?DocxPage⬜定義文件演示的頁面級設置。
sections?Sections⬜定義分節自定義設置。
template?DocxTemplate⬜定義選定的模板。
theme?Theme⬜定義履歷的視覺主題設定。
typography?DocxTypography⬜定義文件格式的排版設置。
DocxAdvanced

定義 DOCX 的進階配置選項。

屬性類型必需描述
showIcons?boolean⬜是否顯示連結和社交主页的圖示。
showUrls?boolean⬜是否顯示原始 URL 或將其隱藏在合理的文字後面。
DocxPage

定義 DOCX 的文件演示頁面級設置。

屬性類型必需描述
margins?Margins⬜定義頁邊距設置。
paperSize?DocxPaperSize⬜定義紙張大小。
showPageNumbers?boolean⬜是否顯示頁碼。
DocxTypography

定義 DOCX 的文件格式排版設置。

屬性類型必需描述
fontSize?DocxFontSize⬜文件的基礎字體大小。
fontFamily?string⬜要使用的逗號分隔的字體家族列表。
lineSpacing?LineSpacing⬜文件的行距。

枚舉類型

內容 Enum

Country

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

Degree

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

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

Fluency

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

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

Language

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

Level

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

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

Network

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

佈局 Enum

AccentColor

所有可能的強調色預設的聯合型別,遵循 moderncv 的配色方案調色盤。在任何需要 AccentColor 的地方,也接受任意的 #RRGGBB 十六進位顏色字串。

  • black - #000000
  • blue - #3873B3
  • burgundy - #980000
  • cerulean - #0081A7
  • green - #59B24D
  • grey - #737373
  • orange - #F28C26
  • purple - #8054CC
  • red - #F23333

DocxFontSize

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

  • 10pt - 10pt 字體大小(預設)
  • 10.5pt - 10.5pt 字體大小
  • 11pt - 11pt 字體大小
  • 11.5pt - 11.5pt 字體大小
  • 12pt - 12pt 字體大小

DocxPaperSize

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

  • a4 (預設)
  • letter

DocxTemplate

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

另請參閱:模板

  • calm

HtmlFontSize

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

HTML 引擎支援 14px 到 20px 的字體大小:

  • 14px、15px、16px (預設)、17px、18px、19px、20px

HtmlTemplate

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

另請參閱:模板

  • calm
  • kami
  • vscode

LatexFontSize

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

目前只支援 3 個選項:

  • 10pt - 10pt 字體大小(預設)
  • 11pt - 11pt 字體大小
  • 12pt - 12pt 字體大小

LineSpacing

所有可能的行距選項的聯合類型。

這些語義值遵循 Tailwind CSS 的 leading 刻度:

  • tight - 緊湊間距,適合容納更多內容
  • snug - 比 tight 稍多的空間
  • normal - 均衡的可讀性(預設)
  • relaxed - 行之間更多呼吸空間
  • loose - 非常寬鬆的佈局

LatexFontspecNumbers

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

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

LatexTemplate

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

另請參閱:模板

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

PaperSize

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

  • a4 (預設)
  • letter

語言 Enum

LocaleLanguage

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

另請參閱:多語言

  • en
  • es
  • zh-hans
  • zh-hant-hk
  • zh-hant-tw
Edit on GitHub

Last updated on

On this page