Liigu sisu juurde

Valikud

Kõik sisendpunktid (codeToHtml, codeToTokens, codeToTokensResult, codeToHast) võtavad teise argumendina sama valikute massiivi. Nõutavad on ainult lang ja teema.

lang

Nõutav. Tokeniseeritava keele ID või alias — php, ts, js, rust, python, html jne. Eri väärtus 'ansi' tõstab grammatika kasutamise asemel esile terminali paojadad (vt ANSI).

PHP
['lang' => 'php']

theme

Üks teema ID. Nõutav, kui pole määratud themes.

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

themes

Teema ID-de võtmete kaart kahe või enama teemaga väljundi jaoks, kasutades CSS muutujaid. Nõutav, kui pole määratud theme.

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

defaultColor

Millise võtme värvist themes saab vaikimisi reasisene värv (teistest saavad --shiki-<key> CSS muutujad). Vaikeväärtus on 'light'. Ainult muutujate väljastamiseks ilma vaikimisi reasisese värvita seadke väärtuseks false — kasulik, kui juhite kõiki värve failist CSS.

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

transformers

Loend Shikiphp\Transformer\Transformer objektidest, mis rakendatakse töövoos. Vt Teisendajad.

PHP
use Shikiphp\Transformer\Notation\NotationHighlight;

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

decorations

Rakenda lähtekoodi suvalistele lõikudele rea ja märgi asukoha järgi klasse või atribuute. Iga dekoratsioon on {start, end, properties}, kus asukohad on {line, character} (indekseerimine algab nullist).

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

colorReplacements

Väljundi värvide ümberseadistamine. Stringväärtused asendavad värvi kõikjal; teema nime järgi pesastatud väärtused kehtivad ainult sellele teemale.

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

structure

Vaikimisi väljastab 'classic' kogu struktuuri pre > code > span.line > span. 'inline' väljastab ainult tokenite vahemikud reavahetustega, ilma ümbritsevate pre/code elementideta — kasulik reasiseste koodinäidete puhul.

PHP
['structure' => 'inline']

tabindex

Elemendi <pre> atribuut tabindex. Vaikeväärtus on 0. Selle väljajätmiseks edastage false.

PHP
['tabindex' => false]

cssVariablePrefix

Topeltteema CSS muutujate eesliide. Vaikeväärtus on '--shiki-'.

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

mergeWhitespaces

Juhib tühimärke sisaldavate tokenite käsitlemist. Vaikimisi liidab true ainult tühimärke sisaldavad tokenid järgmise tokeniga; 'never' jagab iga tokeni algus- ja lõputühikud eraldi tokeniteks; false jätab tokenid muutmata.

PHP
['mergeWhitespaces' => 'never']

tokenizeMaxLineLength

Jäta tokeniseerimine vahele ja väljasta ühe tavalise tokenina iga rida, mille pikkus on vähemalt see väärtus UTF-16 koodiühikutes. Vaikimisi piirang puudub. Kaitsemeetmena väga pikkade üherealiste sisendite vastu.

PHP
['tokenizeMaxLineLength' => 1000]

meta

Suvalised metaandmed, mis edastatakse teisendajatele teisendaja konteksti kaudu — näiteks koodiploki metaandmete string, mida kasutavad MetaHighlight ja MetaWordHighlight.

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

grammarState

getLastGrammarState väärtus Shikiphp\GrammarState-st, millest tokeniseerimist jätkata. Kaasas olevad lang ja theme(s) peavad ühtima. Vt getLastGrammarState.