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).
['lang' => 'php']
theme
Yksi teeman tunnus. Pakollinen, ellei themes ole annettu.
['lang' => 'php', 'theme' => 'github-dark']
themes
Avainten ja teematunnusten kartta usean teeman tulostetta varten CSS-muuttujien kautta.
Pakollinen, ellei theme ole annettu.
['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.
['themes' => ['light' => '…', 'dark' => '…'], 'defaultColor' => 'dark']
transformers
Luettelo Shikiphp\Transformer\Transformer-objekteista, jotka käsitellään putken kautta. Katso Muuntajat.
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).
['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.
['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.
['structure' => 'inline']
tabindex
Attribuutti tabindex elementissä <pre>. Oletusarvo on 0. Välitä false
sen jättämiseksi pois.
['tabindex' => false]
cssVariablePrefix
Kahden teeman CSS-muuttujissa käytetty etuliite. Oletusarvo on '--shiki-'.
['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.
['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ä.
['tokenizeMaxLineLength' => 1000]
meta
Mielivaltaisia metatietoja, jotka välitetään muuntajille muuntajan kontekstin kautta —
esimerkiksi koodiaitausten metatietomerkkijono, jota käyttää
MetaHighlight ja
MetaWordHighlight.
['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.