Preskoči na vsebino

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

PHP
['lang' => 'php']

theme

En sam ID teme. Obvezno, razen če je podan themes.

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

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

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

transformers

Seznam objektov Shikiphp\Transformer\Transformer, uporabljenih prek cevovoda. Glejte Transformatorji.

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

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

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

PHP
['structure' => 'inline']

tabindex

Atribut tabindex elementa <pre>. Privzeto je 0. Podajte false, če ga želite izpustiti.

PHP
['tabindex' => false]

cssVariablePrefix

Predpona za spremenljivke CSS z dvema temama. Privzeto je '--shiki-'.

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

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

PHP
['tokenizeMaxLineLength' => 1000]

meta

Poljubni metapodatki, posredovani transformatorjem prek konteksta transformatorja — na primer metaniz, povezan z ograjo kode, ki ga porabita MetaHighlight in MetaWordHighlight.

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

grammarState

Shikiphp\GrammarState (iz getLastGrammarState) za nadaljevanje tokenizacije od. Prenesena lang in theme(s) se morata ujemati. Glejte getLastGrammarState.