Opcijas
Visi ieejas punkti (codeToHtml, codeToTokens, codeToTokensResult,
codeToHast) kā otro argumentu pieņem vienu un to pašu opciju masīvu. Obligāti ir tikai lang
un motīvs.
lang
Obligāti. Valodas ID vai aizstājvārds, ar ko veikt tokenizāciju — php, ts, js,
rust, python, html un tā tālāk. Īpašā vērtība 'ansi' izceļ
termināļa vadības sekvences, neizmantojot gramatiku (skatiet ANSI).
['lang' => 'php']
theme
Viena motīva ID. Obligāti, ja vien nav norādīts themes.
['lang' => 'php', 'theme' => 'github-dark']
themes
Motīvu ID atbilstības karte divu (vai vairāku) motīvu izvadei, izmantojot CSS mainīgos.
Obligāti, ja vien nav norādīts theme.
['lang' => 'ts', 'themes' => ['light' => 'github-light', 'dark' => 'github-dark']]
defaultColor
Kura atslēga no themes kļūst par noklusējuma krāsu iekļautajā stilā (pārējās kļūst par
--shiki-<key> CSS mainīgajiem). Pēc noklusējuma — 'light'. Iestatiet false, lai izvadītu
tikai mainīgos bez noklusējuma krāsas iekļautajā stilā — noderīgi, ja visas krāsas kontrolējat no
CSS.
['themes' => ['light' => '…', 'dark' => '…'], 'defaultColor' => 'dark']
transformers
Caur konveijeru lietotu Shikiphp\Transformer\Transformer objektu saraksts. Skatiet
Pārveidotāji.
use Shikiphp\Transformer\Notation\NotationHighlight;
['transformers' => [new NotationHighlight()]]
decorations
Pievienojiet klases vai atribūtus patvaļīgiem avota diapazoniem, norādot rindu un rakstzīmju
pozīcijas. Katra dekorācija ir {start, end, properties}, kur pozīcijas ir
{line, character} (skaitīšana sākas no nulles).
['decorations' => [
[
'start' => ['line' => 0, 'character' => 0],
'end' => ['line' => 0, 'character' => 5],
'properties' => ['class' => 'highlight'],
],
]]
colorReplacements
Pārveidojiet izvades krāsas. Virsējā līmeņa virknes aizstāj krāsu visur; ligzdotas atbilstības pēc motīva nosaukuma ietekmē tikai attiecīgo motīvu.
['colorReplacements' => [
'#ffffff' => '#f8f8f2', // global
'github-dark' => ['#24292e' => '#000'], // only in github-dark
]]
structure
'classic' (pēc noklusējuma) izvada pilnu pre > code > span.line > span struktūru.
'inline' izvada tikai tokenu span elementus ar rindu pārtraukumiem, bez ietverošā
pre/code — noderīgi iekļautiem fragmentiem.
['structure' => 'inline']
tabindex
<pre> elementa atribūts tabindex. Pēc noklusējuma — 0. Norādiet false,
lai to izlaistu.
['tabindex' => false]
cssVariablePrefix
Prefikss, ko izmanto divu motīvu CSS mainīgajiem. Pēc noklusējuma — '--shiki-'.
['cssVariablePrefix' => '--my-']
mergeWhitespaces
Kontrolē atstarpju tokenu apstrādi. true (pēc noklusējuma) iekļauj tikai atstarpju
tokenus nākamajā tokenā; 'never' sadala katra tokena sākuma un beigu atstarpes atsevišķos tokenos; false atstāj tokenus nemainītus.
['mergeWhitespaces' => 'never']
tokenizeMaxLineLength
Netokenizējiet rindu, kas sasniedz vai pārsniedz šo garumu (tās vietā izvadiet vienu vienkāršu tokenu); garums norādīts UTF-16 koda vienībās. Pēc noklusējuma ierobežojuma nav. Aizsardzība pret patoloģiski garām vienas rindas ievadēm.
['tokenizeMaxLineLength' => 1000]
meta
Patvaļīgi metadati, kas caur transformatora kontekstu tiek nodoti pārveidotājiem —
piemēram, koda bloka meta virkne, ko izmanto
MetaHighlight un
MetaWordHighlight.
['meta' => ['__raw' => '{1,3-5}']]
grammarState
Shikiphp\GrammarState (no getLastGrammarState), lai atsāktu tokenizāciju
no šīs vietas. Pārnestajām lang un theme(s) ir jāsakrīt. Skatiet
getLastGrammarState.