Referensi Frontmatter
Anda dapat menyesuaikan masing-masing halaman Markdown dan MDX di Starlight dengan menetapkan nilai di frontmatter. Sebagai contoh, halaman biasa dapat mengatur bidang title
dan description
:
Bidang Frontmatter
title
(diperlukan)
tipe: string
Anda harus memberikan judul untuk setiap halaman. Ini akan ditampilkan di bagian atas halaman, di tab browser, dan di metadata halaman.
description
tipe: string
Deskripsi halaman digunakan untuk metadata halaman dan akan diambil oleh mesin pencari dan dalam pratinjau media sosial.
slug
tipe: string
Ganti slug halaman. Lihat “Mendefinisikan slug khusus” di dokumentasi Astro untuk detail lebih lanjut.
editUrl
tipe: string | boolean
Mengesampingkan konfigurasi editLink
global. Atur ke false
untuk menonaktifkan tautan “Edit halaman” untuk halaman tertentu atau memberikan URL alternatif di mana konten halaman ini dapat diedit.
head
tipe: HeadConfig[]
Anda dapat menambahkan tag tambahan ke <head>
halaman Anda menggunakan bidang head
frontmatter. Ini berarti Anda dapat menambahkan gaya khusus, metadata, atau tag lain ke satu halaman. Mirip dengan opsi head
global.
tableOfContents
tipe: false | { minHeadingLevel?: number; maxHeadingLevel?: number; }
Mengesampingkan konfigurasi tableOfContents
global.
Sesuaikan tingkat judul yang akan disertakan atau atur ke false
untuk menyembunyikan daftar isi pada halaman ini.
template
tipe: 'doc' | 'splash'
bawaan: 'doc'
Atur templat tata letak untuk halaman ini.
Halaman menggunakan tata letak 'doc'
secara default.
Atur ke 'splash'
untuk menggunakan tata letak yang lebih lebar tanpa sidebar yang dirancang untuk landing pages.
hero
tipe: HeroConfig
Tambahkan komponen hero ke bagian atas halaman ini. Berfungsi dengan baik dengan template: splash
.
Sebagai contoh, konfigurasi ini menampilkan beberapa opsi umum, termasuk memuat gambar dari repositori Anda.
Anda dapat menampilkan versi gambar hero yang berbeda dalam mode terang dan gelap.
HeroConfig
banner
tipe: { content: string }
Menampilkan banner pengumuman di bagian atas halaman ini.
Nilai content
dapat berupa HTML untuk tautan atau konten lainnya.
Sebagai contoh, halaman ini menampilkan spanduk yang menyertakan tautan ke example.com
.
lastUpdated
tipe: Date | boolean
Mengesampingkan opsi lastUpdated
global. Jika tanggal ditentukan, tanggal tersebut harus berupa stempel waktu YAML yang valid dan akan menimpa tanggal yang tersimpan dalam riwayat Git untuk halaman ini.
prev
tipe: boolean | string | { link?: string; label?: string }
Mengesampingkan opsi pagination
global. Jika string ditentukan, teks tautan yang dihasilkan akan diganti dan jika objek ditentukan, tautan dan teks akan ditimpa.
next
tipe: boolean | string | { link?: string; label?: string }
Sama seperti prev
tetapi untuk tautan halaman berikutnya.
pagefind
tipe: boolean
bawaan: true
Mengatur apakah halaman ini harus disertakan dalam indeks pencarian Pagefind. Atur ke false
untuk mengecualikan halaman dari hasil pencarian:
draft
tipe: boolean
bawaan: false
Tetapkan apakah halaman ini harus dianggap sebagai draf dan tidak disertakan dalam versi produksi dan grup tautan yang dibuat secara otomatis. Ubah ke true
untuk menandai halaman sebagai draf dan membuatnya hanya terlihat selama masa pengembangan.
sidebar
tipe: SidebarConfig
Mengontrol bagaimana halaman ini ditampilkan di sidebar, saat menggunakan grup tautan yang dibuat secara otomatis.
SidebarConfig
label
tipe: string
bawaan: title
halaman
Atur label untuk halaman ini di sidebar saat ditampilkan dalam grup tautan yang dibuat secara otomatis.
order
tipe: number
Mengontrol urutan halaman ini saat mengurutkan grup tautan yang dibuat secara otomatis. Nomor yang lebih rendah ditampilkan lebih tinggi dalam grup tautan.
hidden
tipe: boolean
bawaan: false
Mencegah halaman ini disertakan dalam grup sidebar yang dibuat secara otomatis.
badge
tipe: string | BadgeConfig
Menambahkan badge ke halaman di sidebar saat ditampilkan dalam grup tautan yang dibuat secara otomatis.
Saat menggunakan string, badge akan ditampilkan dengan warna aksen bawaan.
Secara opsional, berikan objek BadgeConfig
dengan bidang text
, variant
, dan class
untuk menyesuaikan badge.
attrs
tipe: Record<string, string | number | boolean | undefined>
Atribut HTML untuk ditambahkan ke tautan halaman di sidebar saat ditampilkan dalam grup tautan yang dibuat secara otomatis.
Sesuaikan skema frontmatter
Skema frontmatter untuk koleksi konten docs
Starlight dikonfigurasikan dalam src/content/config.ts
menggunakan helper docsSchema()
:
Pelajari selengkapnya tentang koleksi skema konten di “Mendefinisikan koleksi skema” di dokumentasi Astro.
docsSchema()
memiliki opsi berikut:
extend
tipe: Skema Zod atau fungsi yang mengembalikan skema Zod
bawaan: z.object({})
Pengembangan skema Starlight dengan kolom tambahan dengan menyetel extend
dalam opsi docsSchema()
.
Nilainya harus berupa skema Zod.
Dalam contoh berikut, kami menyediakan tipe yang lebih ketat untuk description
agar menjadi wajib dan menambahkan kolom category
opsional baru:
Untuk memanfaatkan Astro image()
helper, gunakan fungsi yang mengembalikan ekstensi skema Anda: