Siirry sisältöön

Asetukset

Kaikki aloituskohdat (codeToHtml, codeToTokens, codeToTokensResult, codeToHast) ottavat toisen argumenttinsa samasta asetustaulukosta. Vain lang ja teema ovat pakollisia.

lang

Pakollinen. Kielitunnus tai alias, jonka mukaan tokenisoidaan — php, ts, js, rust, python, html ja niin edelleen. Erikoisarvo 'ansi' korostaa päätteen ohjausjaksoja kieliopin sijaan (katso ANSI).

PHP
['lang' => 'php']

theme

Yksi teeman tunnus. Pakollinen, ellei themes ole annettu.

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

themes

Avainten ja teematunnusten kartta usean teeman tulostetta varten CSS-muuttujien kautta. Pakollinen, ellei theme ole annettu.

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

defaultColor

Mikä avain asetuksessa themes määrittää rivinsisäisen oletusvärin (muista tulee --shiki-<key> CSS-muuttujia). Oletusarvo on 'light'. Aseta arvoksi false, jos haluat tuottaa vain muuttujia ilman rivinsisäistä oletusta — kätevää, kun hallitset kaikkia värejä tiedostosta CSS.

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

transformers

Luettelo Shikiphp\Transformer\Transformer-objekteista, jotka käsitellään putken kautta. Katso Muuntajat.

PHP
use Shikiphp\Transformer\Notation\NotationHighlight;

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

decorations

Käytä luokkia tai attribuutteja lähteen mielivaltaisiin alueisiin rivi- ja merkkisijainnin mukaan. Kukin koristelu on {start, end, properties}, jossa sijainnit ovat {line, character} (nollapohjaisia).

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

colorReplacements

Määritä tulosteen värit uudelleen. Merkkijonomerkinnät korvaavat värin kaikkialla; sisäkkäiset teeman nimen mukaan avaimetut merkinnät koskevat vain kyseistä teemaa.

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

structure

'classic' (oletus) tuottaa koko rakenteen pre > code > span.line > span. 'inline' tuottaa vain tokenvälit rivinvaihtoineen ilman ympäröivää rakennetta pre/code — hyödyllinen koodikatkelmille.

PHP
['structure' => 'inline']

tabindex

Attribuutti tabindex elementissä <pre>. Oletusarvo on 0. Välitä false sen jättämiseksi pois.

PHP
['tabindex' => false]

cssVariablePrefix

Kahden teeman CSS-muuttujissa käytetty etuliite. Oletusarvo on '--shiki-'.

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

mergeWhitespaces

Määrittää välilyöntitokenien käsittelyn. true (oletus) yhdistää vain välilyöntejä sisältävät tokenit seuraavaan tokeniin; 'never' jakaa kunkin tokenin alun ja lopun välilyönnit omiksi tokeneikseen; false jättää tokenit ennalleen.

PHP
['mergeWhitespaces' => 'never']

tokenizeMaxLineLength

Ohita tokenisointi ja tuota yksi tavallinen tokeni riveille, joiden pituus on vähintään tämä määrä UTF-16-koodiyksiköissä. Oletusarvoisesti rajaa ei ole. Suojaus poikkeuksellisen pitkiltä yksirivisiltä syötteiltä.

PHP
['tokenizeMaxLineLength' => 1000]

meta

Mielivaltaisia metatietoja, jotka välitetään muuntajille muuntajan kontekstin kautta — esimerkiksi koodiaitausten metatietomerkkijono, jota käyttää MetaHighlight ja MetaWordHighlight.

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

grammarState

Shikiphp\GrammarState (kohteesta getLastGrammarState), josta tokenisointia jatketaan. Siirrettyjen arvojen lang ja theme(s) on täsmättävä. Katso getLastGrammarState.