Preskočiť na obsah

Možnosti

Všetky vstupné body (codeToHtml, codeToTokens, codeToTokensResult, codeToHast) prijímajú ako druhý argument rovnaké pole možností. Povinné sú len lang a téma.

lang

Povinné. Identifikátor jazyka alebo alias, ktorý sa má použiť pri tokenizácii — php, ts, js, rust, python, html a podobne. Špeciálna hodnota 'ansi' zvýrazňuje riadiace sekvencie terminálu namiesto použitia gramatiky (pozrite si ANSI).

PHP
['lang' => 'php']

theme

Identifikátor jednej témy. Povinné, ak nie je zadané themes.

PHP
['lang' => 'php', 'theme' => 'github-dark']

themes

Mapa kľúčov na identifikátory tém pre výstup s dvoma (alebo viacerými) témami prostredníctvom premenných CSS. Povinné, ak nie je zadané theme.

PHP
['lang' => 'ts', 'themes' => ['light' => 'github-light', 'dark' => 'github-dark']]

defaultColor

Ktorý kľúč v themes sa stane predvolenou farbou vloženou priamo do kódu (ostatné sa stanú premennými --shiki-<key> CSS). Predvolené je 'light'. Nastavte na false, ak chcete vypísať len premenné bez predvolenej farby vloženej priamo do kódu — užitočné, keď všetky farby spravujete cez CSS.

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

transformers

Zoznam objektov Shikiphp\Transformer\Transformer aplikovaných v rámci pipeline. Pozrite si Transformátory.

PHP
use Shikiphp\Transformer\Notation\NotationHighlight;

['transformers' => [new NotationHighlight()]]

decorations

Použite triedy alebo atribúty na ľubovoľné rozsahy zdroja určené pozíciou riadka a znaku. Každá dekorácia má {start, end, properties}, pričom pozície sú {line, character} (indexované od nuly).

PHP
['decorations' => [
    [
        'start'      => ['line' => 0, 'character' => 0],
        'end'        => ['line' => 0, 'character' => 5],
        'properties' => ['class' => 'highlight'],
    ],
]]

colorReplacements

Zmeňte mapovanie farieb vo výstupe. Reťazcové položky nahrádzajú farbu globálne; vnorené položky s kľúčom názvu témy platia len pre danú tému.

PHP
['colorReplacements' => [
    '#ffffff'      => '#f8f8f2',          // global
    'github-dark'  => ['#24292e' => '#000'], // only in github-dark
]]

structure

'classic' (predvolené) vypíše úplnú štruktúru pre > code > span.line > span. 'inline' vypíše iba rozsahy tokenov s koncami riadkov, bez obaľujúceho pre/code — užitočné pre krátke úryvky v texte.

PHP
['structure' => 'inline']

tabindex

Atribút tabindex prvku <pre>. Predvolené je 0. Ak ho chcete vynechať, zadajte false.

PHP
['tabindex' => false]

cssVariablePrefix

Predpona používaná pre premenné CSS pri dvoch témach. Predvolené je '--shiki-'.

PHP
['cssVariablePrefix' => '--my-']

mergeWhitespaces

Určuje spracovanie tokenov bielych znakov. true (predvolené) zlučuje tokeny obsahujúce len biele znaky s nasledujúcim tokenom; 'never' rozdeľuje úvodné a koncové biele znaky každého tokenu na samostatné tokeny; false ponecháva tokeny bez zmeny.

PHP
['mergeWhitespaces' => 'never']

tokenizeMaxLineLength

Preskočí tokenizáciu (a vypíše jeden obyčajný token) každého riadka, ktorý dosahuje túto dĺžku alebo je dlhší; dĺžka sa počíta v 16-bitových kódových jednotkách UTF-16. Predvolene bez obmedzenia. Ochrana pred patologicky dlhými jednoriadkovými vstupmi.

PHP
['tokenizeMaxLineLength' => 1000]

meta

Ľubovoľné metadáta sprístupnené transformátorom cez kontext transformátora — napríklad metaznak reťazca ohraničeného kódu, ktorý využívajú MetaHighlight a MetaWordHighlight.

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

grammarState

Shikiphp\GrammarState (z getLastGrammarState) na obnovenie tokenizácie od daného bodu. Prenesené hodnoty lang a theme(s) sa musia zhodovať. Pozrite si getLastGrammarState.