Seçenekler
Tüm giriş noktaları (codeToHtml, codeToTokens, codeToTokensResult, codeToHast), ikinci bağımsız değişken olarak aynı seçenekler dizisini alır. Yalnızca lang ve tema gereklidir.
lang
Gerekli. Belirteçlere ayırmada kullanılacak dil kimliği veya takma adı: php, ts, js, rust, python, html vb. Özel 'ansi' değeri, dilbilgisi kullanmak yerine terminal kaçış dizilerini vurgular (ANSI bölümüne bakın).
['lang' => 'php']
theme
Tek bir tema kimliği. themes verilmedikçe gereklidir.
['lang' => 'php', 'theme' => 'github-dark']
themes
CSS değişkenleriyle çift (veya çoklu) tema çıktısı için anahtarların tema kimlikleriyle eşlemesi. theme verilmedikçe gereklidir.
['lang' => 'ts', 'themes' => ['light' => 'github-light', 'dark' => 'github-dark']]
defaultColor
themes içindeki hangi anahtarın satır içi varsayılan renk olacağı (diğerleri --shiki-<key> CSS değişkenleri olur). Varsayılanı 'light'. Yalnızca değişkenleri üretip satır içi varsayılanı kaldırmak için false olarak ayarlayın; tüm renkleri CSS üzerinden denetlediğinizde kullanışlıdır.
['themes' => ['light' => '…', 'dark' => '…'], 'defaultColor' => 'dark']
transformers
İşlem hattında uygulanan Shikiphp\Transformer\Transformer nesnelerinin listesi. Dönüştürücüler bölümüne bakın.
use Shikiphp\Transformer\Notation\NotationHighlight;
['transformers' => [new NotationHighlight()]]
decorations
Kaynağın rastgele aralıklarına satır/karakter konumuna göre sınıflar veya öznitelikler uygulayın. Her süsleme bir {start, end, properties} değeridir; konumlar {line, character} (sıfır tabanlı) olarak belirtilir.
['decorations' => [
[
'start' => ['line' => 0, 'character' => 0],
'end' => ['line' => 0, 'character' => 5],
'properties' => ['class' => 'highlight'],
],
]]
colorReplacements
Çıktıdaki renkleri yeniden eşleyin. Dize girdileri bir rengi genel olarak değiştirir; tema adına göre iç içe girdiler yalnızca o temaya uygulanır.
['colorReplacements' => [
'#ffffff' => '#f8f8f2', // global
'github-dark' => ['#24292e' => '#000'], // only in github-dark
]]
structure
'classic' (varsayılan), pre > code > span.line > span yapısının tamamını üretir.
'inline', satır sonlarıyla birlikte yalnızca belirteç aralıklarını üretir; satırları saran pre/code olmadan. Satır içi kod parçaları için kullanışlıdır.
['structure' => 'inline']
tabindex
<pre> öğesindeki tabindex özniteliği. Varsayılanı 0. Özniteliği kaldırmak için false geçin.
['tabindex' => false]
cssVariablePrefix
Çift tema CSS değişkenlerinde kullanılan önek. Varsayılanı '--shiki-'.
['cssVariablePrefix' => '--my-']
mergeWhitespaces
Boşluk belirteçlerinin işlenişini denetler. true (varsayılan), yalnızca boşluk içeren belirteçleri sonraki belirtece ekler; 'never' her belirtecin başındaki ve sonundaki boşlukları ayrı belirteçlere böler; false belirteçleri olduğu gibi bırakır.
['mergeWhitespaces' => 'never']
tokenizeMaxLineLength
Bu uzunluğa eşit veya daha uzun satırları belirteçlere ayırmayı atlar ve bunun yerine her biri için tek bir düz belirteç üretir. Uzunluk UTF-16 kod birimleriyle ölçülür. Varsayılan olarak sınır yoktur. Aşırı uzun tek satırlı girdilere karşı koruma sağlar.
['tokenizeMaxLineLength' => 1000]
meta
Dönüştürücü bağlamı üzerinden dönüştürücülere aktarılan rastgele meta veriler; örneğin MetaHighlight ve MetaWordHighlight tarafından kullanılan kod çiti meta dizesi.
['meta' => ['__raw' => '{1,3-5}']]
grammarState
Belirteçlere ayırmayı buradan sürdürmek için bir Shikiphp\GrammarState (getLastGrammarState kaynağından). Taşınan lang ve theme(s) eşleşmelidir. getLastGrammarState bölümüne bakın.