Lewati ke konten

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).

PHP
['lang' => 'php']

theme

Satu id tema. Wajib kecuali jika themes diberikan.

PHP
['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.

PHP
['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.

PHP
['themes' => ['light' => '…', 'dark' => '…'], 'defaultColor' => 'dark']

transformers

Daftar objek Shikiphp\Transformer\Transformer yang diterapkan melalui pipeline. Lihat Transformer.

PHP
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).

PHP
['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.

PHP
['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.

PHP
['structure' => 'inline']

tabindex

Atribut tabindex pada elemen <pre>. Bawaan: 0. Berikan false untuk menghilangkannya.

PHP
['tabindex' => false]

cssVariablePrefix

Prefiks untuk variabel CSS tema ganda. Bawaan: '--shiki-'.

PHP
['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.

PHP
['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.

PHP
['tokenizeMaxLineLength' => 1000]

meta

Metadata bebas yang diteruskan ke transformer melalui konteks transformer — misalnya string meta code fence yang digunakan oleh MetaHighlight dan MetaWordHighlight.

PHP
['meta' => ['__raw' => '{1,3-5}']]

grammarState

Shikiphp\GrammarState (dari getLastGrammarState) untuk melanjutkan tokenisasi dari. lang dan theme(s) yang dibawa harus cocok. Lihat getLastGrammarState.