Ugrás a tartalomhoz

Beállítások

Minden belépési pont (codeToHtml, codeToTokens, codeToTokensResult, codeToHast) ugyanazt a beállításokat tartalmazó tömböt várja második argumentumként. Csak a lang és egy téma megadása kötelező.

lang

Kötelező. A tokenizáláshoz használt nyelvazonosító vagy alias — php, ts, js, rust, python, html és így tovább. A speciális 'ansi' érték nyelvtan helyett a terminál escape-szekvenciáit emeli ki (lásd: ANSI).

PHP
['lang' => 'php']

theme

Egyetlen témaazonosító. Kötelező, kivéve ha megadja a themes értékét.

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

themes

Témaazonosítókhoz rendelt kulcsok leképezése kettős (vagy többszörös) téma kimenetéhez, CSS változókon keresztül. Kötelező, kivéve ha megadja a theme értékét.

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

defaultColor

Az themes melyik kulcsa legyen a közvetlen alapértelmezett szín (a többi --shiki-<key> CSS változóvá válik). Alapértelmezése: 'light'. A csak változók kibocsátásához, közvetlen alapértelmezés nélkül állítsa false értékre — hasznos, ha minden színt innen szabályoz: CSS.

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

transformers

A folyamaton keresztül alkalmazott Shikiphp\Transformer\Transformer objektumok listája. Lásd: Transzformátorok.

PHP
use Shikiphp\Transformer\Notation\NotationHighlight;

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

decorations

Osztályok vagy attribútumok alkalmazása a forrás tetszőleges tartományaira sor- és karakterpozíció alapján. Minden díszítés egy {start, end, properties}, ahol a pozíciók {line, character} (nullától indexelve).

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

colorReplacements

A kimenet színeinek leképezése. A karakterlánc-bejegyzések globálisan cserélnek le egy színt; a témanév szerint csoportosított beágyazott bejegyzések csak az adott témára érvényesek.

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

structure

A 'classic' (alapértelmezés) a teljes pre > code > span.line > span struktúrát bocsátja ki. A 'inline' csak a sortörésekkel elválasztott tokenrészeket adja vissza, burkoló pre/code nélkül — hasznos soron belüli kódrészletekhez.

PHP
['structure' => 'inline']

tabindex

A <pre> elem tabindex attribútuma. Alapértelmezése: 0. A kihagyásához adja meg a false értéket.

PHP
['tabindex' => false]

cssVariablePrefix

A kettős témák CSS változóihoz használt előtag. Alapértelmezése: '--shiki-'.

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

mergeWhitespaces

A szóközöket tartalmazó tokenek kezelését szabályozza. A true (alapértelmezés) a csak szóközökből álló tokeneket a következő tokenbe olvasztja; a 'never' a tokenek kezdő és záró szóközeit különálló tokenekre bontja; a false változatlanul hagyja a tokeneket.

PHP
['mergeWhitespaces' => 'never']

tokenizeMaxLineLength

Az adott hosszúságú vagy annál hosszabb sorok tokenizálásának kihagyása; helyettük egyetlen egyszerű tokent bocsát ki. A hossz UTF-16 kódegységekben értendő. Alapértelmezés szerint nincs korlát. Védelmet nyújt a kórosan hosszú, egysoros bemenetek ellen.

PHP
['tokenizeMaxLineLength' => 1000]

meta

Tetszőleges metaadat, amely a transzformátorokhoz a transzformátorkörnyezeten keresztül jut el — például a kódfence meta-karakterlánca, amelyet ezek használnak: MetaHighlight és MetaWordHighlight.

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

grammarState

Egy Shikiphp\GrammarState (a getLastGrammarState csomagból), amelytől folytatódik a tokenizálás. A továbbvitt lang és theme(s) értékének egyeznie kell. Lásd: getLastGrammarState.