YAMLResume

Tipe

Dokumen ini menguraikan tipe TypeScript yang mendefinisikan struktur resume dengan YAMLResume. Sebagai proyek TypeScript, YAMLResume menggunakan pengetikan statis untuk memastikan konsistensi data. File ini memberikan gambaran umum tentang struktur data inti yang digunakan untuk merepresentasikan informasi resume, termasuk detail pribadi, pendidikan, pengalaman, keterampilan, dan lainnya.

Anda dapat memeriksa types/index.ts untuk sumber kebenaran detail.

Memahami tipe-tipe ini sangat penting bagi kontributor dan pengembang yang ingin menyesuaikan atau memperluas fungsionalitas YAMLResume.

Dokumen ini serve sebagai referensi definitif bagi pengguna yang ingin membuat YAMLResume yang valid, mengklarifikasi perbedaan antara kolom opsional dan wajib. Untuk menjamin kompilasi berhasil dalam YAMLResume, resume minimal harus memasukkan kolom esensial berikut:

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

Jadi secara teoritis resume minimum terlihat seperti berikut:

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

Resume

Mendefinisikan struktur resume keseluruhan, termasuk konten dan tata letak.

KolomTipeWajibDeskripsi
contentContent✅Mendefinisikan struktur untuk seluruh konten resume.
layouts?Layouts⬜Mendefinisikan konfigurasi tata letak keseluruhan.
locale?Locale⬜Mendefinisikan konfigurasi locale keseluruhan.

Berikut adalah diagram tingkat tinggi dari struktur resume:

Content

Mendefinisikan struktur untuk seluruh konten resume.

KolomTipeWajibDeskripsi
basicsBasicsItem✅Mewakikan informasi inti pribadi dan kontak.
educationEducationItem[]✅Berisi koleksi pengalaman pendidikan.
awards?AwardItem[]⬜Berisi koleksi penghargaan dan pengakuan.
certificates?CertificateItem[]⬜Berisi koleksi sertifikasi dan kredensial.
interests?InterestItem[]⬜Berisi koleksi minat, hobi, atau aktivitas pribadi.
languages?LanguageItem[]⬜Berisi koleksi kemampuan bahasa.
location?LocationItem⬜Berisi informasi lokasi.
projects?ProjectItem[]⬜Berisi koleksi proyek.
profiles?ProfileItem[]⬜Berisi koleksi profil online.
publications?PublicationItem[]⬜Berisi koleksi publikasi.
references?ReferenceItem[]⬜Berisi koleksi referensi.
skills?SkillItem[]⬜Berisi koleksi keterampilan.
volunteer?VolunteerItem[]⬜Berisi koleksi pengalaman volunteers.
work?WorkItem[]⬜Berisi koleksi pengalaman kerja dan riwayat pekerjaan.

AwardItem

Mewakikan satu penghargaan, kehormatan, atau pengakuan yang diterima.

KolomTipeWajibDeskripsi
awarderstring✅Organisasi atau entitas yang memberikan penghargaan.
titlestring✅Nama atau judul penghargaan.
date?string⬜Tanggal penghargaan diterima (misal "2020", "Oct 2020").
summary?string⬜Deskripsi singkat atau detail tentang penghargaan.

BasicsItem

Mewakikan informasi inti pribadi dan kontak.

KolomTipeWajibDeskripsi
namestring✅Nama lengkap.
email?string⬜Alamat email.
headline?string⬜Judul profesional singkat (misal "Software Engineer").
phone?string⬜Nomor telepon.
summary?string⬜Ringkasan atau tujuan profesional.
url?string⬜URL situs web atau portofolio pribadi.

CertificateItem

Mewakikan satu sertifikasi, kredensial, atau kualifikasi profesional.

KolomTipeWajibDeskripsi
issuerstring✅Organisasi yang menerbitkan sertifikat.
namestring✅Nama sertifikat.
date?string⬜Tanggal sertifikat diperoleh (misal "2021", "Nov 2021").
url?string⬜URL terkait sertifikat (misal link verifikasi).

EducationItem

Mewakikan satu pengalaman pendidikan atau program gelar.

KolomTipeWajibDeskripsi
areastring✅Area studi (misal "Computer Science").
degreeDegree✅Jenis gelar yang diperoleh.
institutionstring✅Nama institusi.
startDatestring✅Tanggal mulai studi (misal "2016", "Sep 2016").
courses?string[]⬜Daftar mata kuliah yang diambil.
endDate?string⬜Tanggal selesai studi (misal "2020", "May 2020"), kosong berarti "Present".
summary?string⬜Deskripsi pencapaian atau detail.
score?string⬜IPK atau nilai akademik.
url?string⬜URL terkait institusi atau gelar.

InterestItem

Mewakikan satu minat, hobi, atau aktivitas pribadi.

KolomTipeWajibDeskripsi
namestring✅Nama kategori minat (misal "Reading", "Photography").
keywords?string[]⬜Kata kunci terkait minat.

LanguageItem

Mewakikan satu item kemampuan bahasa.

KolomTipeWajibDeskripsi
fluencyFluency✅Tingkat kemampuan bahasa.
languageLanguage✅Bahasa.
keywords?string[]⬜Kata kunci spesifik terkait kemampuan bahasa (misal "Translation").

LocationItem

Mewakikan informasi lokasi dan alamat.

KolomTipeWajibDeskripsi
citystring✅Nama kota.
address?string⬜Alamat jalan.
country?Country⬜Kode atau nama negara.
postalCode?string⬜Kode pos.
region?string⬜Negara bagian, provinsi, atau wilayah.

ProfileItem

Mewakikan satu profil online atau kehadiran media sosial.

KolomTipeWajibDeskripsi
networkNetwork✅Nama jaringan atau platform.
usernamestring✅Username di platform.
url?string⬜URL profil.

ProjectItem

Mewakikan satu proyek, karya portofolio, atau karya teknis.

KolomTipeWajibDeskripsi
namestring✅Nama proyek.
startDatestring✅Tanggal mulai proyek (misal "2021", "Jan 2021").
summarystring✅Pencapaian detail untuk proyek.
description?string⬜Deskripsi proyek.
endDate?string⬜Tanggal selesai proyek (misal "2022", "Jul 2022").
keywords?string[]⬜Kata kunci atau teknologi yang digunakan dalam proyek.
url?string⬜URL terkait proyek (misal repositori, demo langsung).

PublicationItem

Mewakikan satu publikasi, karya penelitian, atau makalah akademik.

KolomTipeWajibDeskripsi
namestring✅Nama atau judul publikasi.
publisherstring✅Penerbit karya.
releaseDate?string⬜Tanggal publikasi (misal "2023", "Mar 2023").
summary?string⬜Ringkasan atau abstrak publikasi.
url?string⬜URL terkait publikasi (misal DOI, link).

ReferenceItem

Mewakikan satu referensi profesional atau rekomendasi.

KolomTipeWajibDeskripsi
namestring✅Nama referensi.
summarystring✅Catatan singkat tentang referensi.
email?string⬜Alamat email referensi.
phone?string⬜Nomor telepon referensi.
relationship?string⬜Hubungan dengan referensi (misal "Former Manager").

SkillItem

Mewakikan satu keterampilan, kompetensi, atau kemampuan teknis.

KolomTipeWajibDeskripsi
levelLevel✅Tingkat keterampilan.
namestring✅Nama keterampilan.
keywords?string[]⬜Kata kunci atau teknologi spesifik terkait keterampilan.

VolunteerItem

Mewakikan satu pengalaman volunteer atau layanan komunitas.

KolomTipeWajibDeskripsi
organizationstring✅Nama organisasi.
positionstring✅Peran atau posisi yang diemban.
startDatestring✅Tanggal mulai volunteer (misal "2019", "Jun 2019").
summarystring✅Ringkasan tanggung jawab atau pencapaian.
endDate?string⬜Tanggal selesai volunteer (misal "2020", "Dec 2020").
url?string⬜URL terkait organisasi atau pekerjaan.

WorkItem

Mewakikan satu pengalaman kerja atau posisi pekerjaan.

KolomTipeWajibDeskripsi
namestring✅Nama perusahaan atau pemberi kerja.
positionstring✅Judul pekerjaan atau posisi yang diemban.
startDatestring✅Tanggal mulai pekerjaan (misal "2021", "Apr 2021").
summarystring✅Ringkasan tanggung jawab dan pencapaian.
endDate?string⬜Tanggal selesai pekerjaan (misal "2023", "Aug 2023").
keywords?string[]⬜Kata kunci terkait peran atau teknologi yang digunakan.
url?string⬜URL terkait perusahaan atau pekerjaan.

Locale

Mendefinisikan pengaturan locale untuk internasionalisasi dan lokalisasi.

KolomTipeWajibDeskripsi
language?LocaleLanguage⬜Bahasa yang dipilih untuk konten resume dan istilah template.

Layouts

Array item tata letak yang mendukung berbagai format output.

KolomTipeWajibDeskripsi
layouts[]DocxLayout | HtmlLayout | LatexLayout | MarkdownLayout⬜Beberapa konfigurasi tata letak output.

Common Layout Types

Margins

Mendefinisikan pengaturan margin halaman untuk tata letak dokumen.

KolomTipeWajibDeskripsi
top?string⬜Nilai margin atas (misal "2.5cm").
bottom?string⬜Nilai margin bawah (misal "2.5cm").
left?string⬜Nilai margin kiri (misal "1.5cm").
right?string⬜Nilai margin kanan (misal "1.5cm").
Sections

Mendefinisikan pengaturan alias bagian untuk menyesuaikan nama bagian.

KolomTipeWajibDeskripsi
aliases?Record<SectionID, string>⬜Alias kustom untuk nama bagian, mengoverride terjemahan default.
order?OrderableSectionID[]⬜Urutan kustom untuk bagian dalam output akhir.
Theme

Mendefinisikan pengaturan tema visual untuk resume, seperti warna aksen. Engine markdown mengabaikan opsi tema.

PropTipeWajibDeskripsi
colors?{ accent?: AccentColor | HexColor }⬜Mendefinisikan pengaturan warna tema.

Opsi colors.accent menetapkan warna aksen untuk elemen yang disorot seperti judul bagian, garis, tautan, dan label. Opsi ini menerima preset AccentColor bernama atau string warna heksadesimal #RRGGBB arbitrer.

HtmlLayout

Konfigurasi tata letak HTML.

KolomTipeWajibDeskripsi
engine'html'✅Mesin untuk menghasilkan resume.
advanced?HtmlAdvanced⬜Mendefinisikan opsi konfigurasi lanjutan.
sections?Sections⬜Mendefinisikan pengaturan kustomisasi bagian.
template?HtmlTemplate⬜Mendefinisikan template yang dipilih.
theme?Theme⬜Mendefinisikan pengaturan tema visual resume.
typography?HtmlTypography⬜Mendefinisikan pengaturan tipografi untuk pemformatan dokumen.
HtmlAdvanced

Mendefinisikan opsi konfigurasi HTML lanjutan.

KolomTipeWajibDeskripsi
showAnchors?boolean⬜Apakah akan mengeluarkan atribut fragmen id pada bagian dan entri untuk navigasi jangkar (bawaan: true).
showIcons?boolean⬜Apakah menampilkan ikon untuk tautan dan profil.
title?string⬜Judul kustom untuk dokumen HTML.
footer?string⬜Footer kustom untuk dokumen HTML.
description?string⬜Meta deskripsi untuk dokumen HTML.
keywords?string⬜Meta kata kunci untuk dokumen HTML.
HtmlTypography

Mendefinisikan pengaturan tipografi HTML untuk pemformatan dokumen.

KolomTipeWajibDeskripsi
fontSize?HtmlFontSize⬜Ukuran font dasar untuk dokumen.
fontFamily?string⬜Daftar keluarga font yang dipisahkan koma.
lineSpacing?LineSpacing⬜Spasi baris untuk dokumen.

LatexLayout

Konfigurasi tata letak LaTeX.

KolomTipeWajibDeskripsi
engine'latex'✅Mesin untuk menghasilkan resume.
advanced?LatexAdvanced⬜Mendefinisikan opsi konfigurasi lanjutan.
page?LatexPage⬜Mendefinisikan pengaturan tingkat halaman untuk presentasi dokumen.
sections?Sections⬜Mendefinisikan pengaturan kustomisasi bagian.
template?LatexTemplate⬜Mendefinisikan template yang dipilih.
theme?Theme⬜Mendefinisikan pengaturan tema visual resume.
typography?LatexTypography⬜Mendefinisikan pengaturan tipografi untuk pemformatan dokumen.
LatexAdvanced

Mendefinisikan opsi konfigurasi latex lanjutan.

KolomTipeWajibDeskripsi
fontspec?{ numbers?: LatexFontspecNumbers }⬜Konfigurasi paket fontspec LaTeX.
showIcons?boolean⬜Apakah menampilkan ikon untuk tautan dan profil.
showUrls?boolean⬜Apakah menampilkan URL mentah atau menyembunyikannya di balik teks yang masuk akal.
LatexPage

Mendefinisikan pengaturan tingkat halaman latex untuk presentasi dokumen.

KolomTipeWajibDeskripsi
margins?Margins⬜Mendefinisikan pengaturan margin halaman.
paperSize?PaperSize⬜Mendefinisikan ukuran kertas.
showPageNumbers?boolean⬜Apakah menampilkan nomor halaman.
LatexTypography

Mendefinisikan pengaturan tipografi latex untuk pemformatan dokumen.

KolomTipeWajibDeskripsi
fontSize?LatexFontSize⬜Ukuran font dasar untuk dokumen.
fontFamily?string⬜Daftar keluarga font yang dipisahkan koma.
lineSpacing?LineSpacing⬜Spasi baris untuk dokumen.
links?{ underline?: boolean }⬜Pengaturan gaya tautan.

MarkdownLayout

Konfigurasi tata letak Markdown.

KolomTipeWajibDeskripsi
engine'markdown'✅Mesin untuk menghasilkan resume.
sections?Sections⬜Mendefinisikan pengaturan kustomisasi bagian.

DocxLayout

Konfigurasi tata letak DOCX.

KolomTipeWajibDeskripsi
engine'docx'✅Mesin untuk menghasilkan resume.
advanced?DocxAdvanced⬜Mendefinisikan opsi konfigurasi lanjutan.
page?DocxPage⬜Mendefinisikan pengaturan tingkat halaman untuk presentasi dokumen.
sections?Sections⬜Mendefinisikan pengaturan kustomisasi bagian.
template?DocxTemplate⬜Mendefinisikan template yang dipilih.
theme?Theme⬜Mendefinisikan pengaturan tema visual resume.
typography?DocxTypography⬜Mendefinisikan pengaturan tipografi untuk pemformatan dokumen.
DocxAdvanced

Mendefinisikan opsi konfigurasi DOCX lanjutan.

KolomTipeWajibDeskripsi
showIcons?boolean⬜Apakah menampilkan ikon untuk tautan dan profil.
showUrls?boolean⬜Apakah menampilkan URL mentah atau menyembunyikannya di balik teks yang masuk akal.
DocxPage

Mendefinisikan pengaturan tingkat halaman DOCX untuk presentasi dokumen.

KolomTipeWajibDeskripsi
margins?Margins⬜Mendefinisikan pengaturan margin halaman.
paperSize?DocxPaperSize⬜Mendefinisikan ukuran kertas.
showPageNumbers?boolean⬜Apakah menampilkan nomor halaman.
DocxTypography

Mendefinisikan pengaturan tipografi DOCX untuk pemformatan dokumen.

KolomTipeWajibDeskripsi
fontSize?DocxFontSize⬜Ukuran font dasar untuk dokumen.
fontFamily?string⬜Daftar keluarga font yang dipisahkan koma.
lineSpacing?LineSpacing⬜Spasi baris untuk dokumen.

Enum Tipe

Content Enum

Country

Union type untuk semua negara dan wilayah possible di dunia.

Degree

Union type untuk semua gelar possible.

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

Fluency

Union type untuk semua level kefasihan bahasa possible.

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

Language

Union type untuk semua bahasa yang didukung.

Level

Union type untuk semua level keterampilan possible.

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

Network

Union type untuk semua opsi jaringan sosial possible.

Layout Enum

AccentColor

Tipe union untuk semua preset warna aksen yang memungkinkan, mengikuti palet skema warna moderncv. String warna heksadesimal #RRGGBB arbitrer juga diterima di mana pun AccentColor diharapkan.

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

DocxFontSize

Union type untuk semua opsi ukuran font DOCX possible.

  • 10pt - ukuran font 10pt (default)
  • 10.5pt - ukuran font 10.5pt
  • 11pt - ukuran font 11pt
  • 11.5pt - ukuran font 11.5pt
  • 12pt - ukuran font 12pt

DocxPaperSize

Union type untuk semua opsi ukuran kertas DOCX possible.

  • a4 (default)
  • letter

DocxTemplate

Union type untuk semua opsi template DOCX possible.

Lihat juga: templates

  • calm

HtmlFontSize

Union type untuk semua opsi ukuran font HTML possible.

Mesin HTML mendukung ukuran font dari 14px hingga 20px:

  • 14px, 15px, 16px (default), 17px, 18px, 19px, 20px

HtmlTemplate

Union type untuk semua opsi template HTML possible.

Lihat juga: templates

  • calm
  • kami
  • vscode

LatexFontSize

Union type untuk semua opsi ukuran font LaTeX possible.

Untuk sekarang hanya 3 opsi yang didukung:

  • 10pt - ukuran font 10pt (default)
  • 11pt - ukuran font 11pt
  • 12pt - ukuran font 12pt

LineSpacing

Union type untuk semua opsi spasi baris possible.

Nilai semantik ini mengikuti skala leading Tailwind CSS:

  • tight - Spasi kompak untuk muat lebih banyak konten
  • snug - Sedikit lebih banyak ruang dari tight
  • normal - Keseimbangan keterbacaan (default)
  • relaxed - Lebih banyak ruang antar baris
  • loose - Tata letak sangat ruang

LatexFontspecNumbers

Union type untuk semua opsi nomor fontspec latex possible.

  • Auto - memungkinkan gaya ditentukan secara otomatis berdasarkan LocaleLanguage yang dipilih (default)
  • Lining - angka lining standar (default untuk bahasa CJK)
  • OldStyle - angka gaya lama dengan ketinggian bervariasi (default untuk bahasa Latin)

LatexTemplate

Union type untuk semua opsi template LaTeX possible.

Lihat juga: templates

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

PaperSize

Union type untuk semua opsi ukuran kertas LaTeX possible.

  • a4 (default)
  • letter

Locale Enum

LocaleLanguage

Union type untuk semua bahasa locale possible.

Lihat juga: multi-languages

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

Last updated on

On this page