Přejít k obsahu

Možnosti

Všechny vstupní body (codeToHtml, codeToTokens, codeToTokensResult, codeToHast) přijímají stejné pole možností jako druhý argument. Povinné jsou pouze lang a motiv.

lang

Povinné. ID nebo alias jazyka, který se má tokenizovat — php, ts, js, rust, python, html a tak dále. Speciální hodnota 'ansi' zvýrazňuje řídicí sekvence terminálu namísto použití gramatiky (viz ANSI).

PHP
['lang' => 'php']

theme

Jedno ID motivu. Je povinné, pokud není uvedeno themes.

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

themes

Mapa klíčů na ID motivů pro výstup s dvojím (nebo vícenásobným) motivem prostřednictvím proměnných CSS. Je povinná, pokud není uvedeno theme.

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

defaultColor

Který klíč v themes se stane výchozí barvou přímo v řádku (ostatní se stanou proměnnými --shiki-<key> CSS). Výchozí hodnota je 'light'. Nastavením na false se vypíší pouze proměnné bez výchozí barvy přímo v řádku — užitečné, když všechny barvy řídíte z CSS.

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

transformers

Seznam objektů Shikiphp\Transformer\Transformer použitých v průběhu řetězce zpracování. Viz Transformátory.

PHP
use Shikiphp\Transformer\Notation\NotationHighlight;

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

decorations

Použije třídy nebo atributy na libovolné rozsahy zdroje podle pozice řádku a znaku. Každá dekorace je {start, end, properties}, kde pozice jsou {line, character} (od nuly).

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

colorReplacements

Přemapuje barvy ve výstupu. Řetězcové položky globálně nahrazují barvu; vnořené položky s klíčem názvu motivu se použijí pouze pro daný motiv.

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

structure

'classic' (výchozí) vydá úplnou strukturu pre > code > span.line > span. 'inline' vydá pouze rozsahy tokenů s konci řádků, bez obalujících pre/code — užitečné pro vložené úryvky.

PHP
['structure' => 'inline']

tabindex

Atribut tabindex prvku <pre>. Výchozí hodnota je 0. Předejte false, chcete-li jej vynechat.

PHP
['tabindex' => false]

cssVariablePrefix

Předpona používaná pro proměnné CSS motivu se dvěma motivy. Výchozí hodnota je '--shiki-'.

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

mergeWhitespaces

Řídí zpracování mezer v tokenech. true (výchozí) slučuje tokeny obsahující pouze mezery s následujícím tokenem; 'never' rozděluje úvodní a koncové mezery každého tokenu do samostatných tokenů; false ponechává tokeny beze změny.

PHP
['mergeWhitespaces' => 'never']

tokenizeMaxLineLength

Přeskočí tokenizaci řádku této délky nebo delší (a vydá pro něj jediný prostý token), počítáno v jednotkách kódu UTF-16. Ve výchozím nastavení není limit nastaven. Ochrana proti patologickým jednořádkovým vstupům.

PHP
['tokenizeMaxLineLength' => 1000]

meta

Libovolná metadata předávaná transformátorům prostřednictvím kontextu transformátoru — například řetězec metadat oploceného bloku kódu, který zpracovávají MetaHighlight a MetaWordHighlight.

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

grammarState

Shikiphp\GrammarState (z getLastGrammarState), od kterého se má pokračovat v tokenizaci. Přenášené lang a theme(s) se musí shodovat. Viz getLastGrammarState.