Opsi
Semua titik masuk (codeToHtml, codeToTokens, codeToTokensResult,
codeToHast) menerima larik opsi yang sama sebagai argumen kedua. Hanya lang
dan tema yang wajib diberikan.
lang
Wajib. Id atau alias bahasa yang digunakan untuk tokenisasi — php, ts, js,
rust, python, html, dan seterusnya. Nilai khusus 'ansi' menyorot
urutan escape terminal alih-alih menggunakan tata bahasa (lihat ANSI).
['lang' => 'php']
theme
Satu id tema. Wajib kecuali jika themes diberikan.
['lang' => 'php', 'theme' => 'github-dark']
themes
Peta kunci ke id tema untuk keluaran tema ganda (atau banyak) melalui variabel CSS.
Wajib kecuali jika theme diberikan.
['lang' => 'ts', 'themes' => ['light' => 'github-light', 'dark' => 'github-dark']]
defaultColor
Kunci dalam themes yang menjadi warna bawaan inline (kunci lainnya menjadi
variabel --shiki-<key> CSS). Bawaan: 'light'. Atur ke false untuk menghasilkan
hanya variabel tanpa nilai bawaan inline — berguna jika Anda mengatur semua warna melalui
CSS.
['themes' => ['light' => '…', 'dark' => '…'], 'defaultColor' => 'dark']
transformers
Daftar objek Shikiphp\Transformer\Transformer yang diterapkan melalui
pipeline. Lihat Transformer.
use Shikiphp\Transformer\Notation\NotationHighlight;
['transformers' => [new NotationHighlight()]]
decorations
Terapkan kelas atau atribut pada rentang sumber mana pun berdasarkan posisi baris/karakter.
Setiap dekorasi berupa {start, end, properties}, dengan posisi {line, character} (berbasis nol).
['decorations' => [
[
'start' => ['line' => 0, 'character' => 0],
'end' => ['line' => 0, 'character' => 5],
'properties' => ['class' => 'highlight'],
],
]]
colorReplacements
Petakan ulang warna pada keluaran. Entri string mengganti warna secara global; entri bertingkat yang dikunci berdasarkan nama tema hanya berlaku untuk tema tersebut.
['colorReplacements' => [
'#ffffff' => '#f8f8f2', // global
'github-dark' => ['#24292e' => '#000'], // only in github-dark
]]
structure
'classic' (bawaan) menghasilkan struktur pre > code > span.line > span lengkap.
'inline' hanya menghasilkan rentang token beserta jeda baris, tanpa pembungkus
pre/code — berguna untuk cuplikan inline.
['structure' => 'inline']
tabindex
Atribut tabindex pada elemen <pre>. Bawaan: 0. Berikan false
untuk menghilangkannya.
['tabindex' => false]
cssVariablePrefix
Prefiks untuk variabel CSS tema ganda. Bawaan: '--shiki-'.
['cssVariablePrefix' => '--my-']
mergeWhitespaces
Mengontrol penanganan token spasi. true (bawaan) menggabungkan token yang hanya berisi spasi
ke token berikutnya; 'never' memisahkan spasi awal dan akhir setiap token menjadi token tersendiri; false membiarkan token apa adanya.
['mergeWhitespaces' => 'never']
tokenizeMaxLineLength
Lewati tokenisasi (dan keluarkan satu token teks biasa) untuk setiap baris yang panjangnya mencapai atau melebihi batas ini, dalam satuan kode UTF-16. Secara bawaan tidak ada batas. Ini merupakan perlindungan terhadap masukan satu baris yang tidak wajar.
['tokenizeMaxLineLength' => 1000]
meta
Metadata bebas yang diteruskan ke transformer melalui konteks transformer —
misalnya string meta code fence yang digunakan oleh
MetaHighlight dan
MetaWordHighlight.
['meta' => ['__raw' => '{1,3-5}']]
grammarState
Shikiphp\GrammarState (dari getLastGrammarState) untuk melanjutkan tokenisasi
dari. lang dan theme(s) yang dibawa harus cocok. Lihat
getLastGrammarState.