Možnosti
Vse vstopne točke (codeToHtml, codeToTokens, codeToTokensResult,
codeToHast) kot drugi argument sprejmejo isto polje možnosti. Obvezna sta samo lang
in tema.
lang
Obvezno. ID ali vzdevek jezika za tokenizacijo — php, ts, js,
rust, python, html in tako dalje. Posebna vrednost 'ansi' poudari
ubežna zaporedja terminala namesto uporabe slovnice (glejte ANSI).
['lang' => 'php']
theme
En sam ID teme. Obvezno, razen če je podan themes.
['lang' => 'php', 'theme' => 'github-dark']
themes
Preslikava ključev v ID-je tem za izhod z dvema (ali več) temami prek spremenljivk CSS.
Obvezno, razen če je podan theme.
['lang' => 'ts', 'themes' => ['light' => 'github-light', 'dark' => 'github-dark']]
defaultColor
Kateri ključ v themes postane privzeta barva v vrstici (ostali postanejo
spremenljivke --shiki-<key> CSS). Privzeto je 'light'. Nastavite na false, če želite ustvariti
samo spremenljivke brez privzete barve v vrstici — uporabno, kadar vse barve upravljate v CSS.
['themes' => ['light' => '…', 'dark' => '…'], 'defaultColor' => 'dark']
transformers
Seznam objektov Shikiphp\Transformer\Transformer, uporabljenih prek
cevovoda. Glejte Transformatorji.
use Shikiphp\Transformer\Notation\NotationHighlight;
['transformers' => [new NotationHighlight()]]
decorations
Uporabite razrede ali atribute za poljubne razpone izvorne kode glede na vrstico/znak
položaja. Vsak okrasek je {start, end, properties}, pri čemer so položaji
{line, character} (z začetkom pri nič).
['decorations' => [
[
'start' => ['line' => 0, 'character' => 0],
'end' => ['line' => 0, 'character' => 5],
'properties' => ['class' => 'highlight'],
],
]]
colorReplacements
Ponovno preslikajte barve v izhodu. Nizi nadomestijo barvo povsod; ugnezdeni vnosi, določeni z imenom teme, veljajo samo za to temo.
['colorReplacements' => [
'#ffffff' => '#f8f8f2', // global
'github-dark' => ['#24292e' => '#000'], // only in github-dark
]]
structure
'classic' (privzeto) ustvari celotno strukturo pre > code > span.line > span.
'inline' ustvari samo razpone žetonov s prelomi vrstic, brez ovoja
pre/code — uporabno za vstavke v vrstici.
['structure' => 'inline']
tabindex
Atribut tabindex elementa <pre>. Privzeto je 0. Podajte false,
če ga želite izpustiti.
['tabindex' => false]
cssVariablePrefix
Predpona za spremenljivke CSS z dvema temama. Privzeto je '--shiki-'.
['cssVariablePrefix' => '--my-']
mergeWhitespaces
Nadzira obravnavo presledkovnih žetonov. true (privzeto) združi žetone, ki vsebujejo samo presledke, z naslednjim žetonom; 'never' razdeli začetne in končne presledke vsakega žetona v samostojna žetona; false pusti žetone nespremenjene.
['mergeWhitespaces' => 'never']
tokenizeMaxLineLength
Preskoči tokenizacijo (in ustvari en sam navadni žeton) za vsako vrstico te dolžine ali daljšo, merjeno v 16-bitnih kodnih enotah. Privzeto ni omejitve. Zaščita pred nenavadno dolgimi enovrstičnimi vnosi.
['tokenizeMaxLineLength' => 1000]
meta
Poljubni metapodatki, posredovani transformatorjem prek konteksta transformatorja —
na primer metaniz, povezan z ograjo kode, ki ga porabita
MetaHighlight in
MetaWordHighlight.
['meta' => ['__raw' => '{1,3-5}']]
grammarState
Shikiphp\GrammarState (iz getLastGrammarState) za nadaljevanje tokenizacije
od. Prenesena lang in theme(s) se morata ujemati. Glejte
getLastGrammarState.