Ga naar de inhoud

Opties

Alle toegangspunten (codeToHtml, codeToTokens, codeToTokensResult, codeToHast) gebruiken dezelfde optiemap als tweede argument. Alleen lang en een thema zijn verplicht.

lang

Verplicht. De taal-id of alias waarmee de code wordt getokeniseerd — php, ts, js, rust, python, html enzovoort. De speciale waarde 'ansi' markeert terminal-escape-sequenties in plaats van een grammatica te gebruiken (zie ANSI).

PHP
['lang' => 'php']

theme

Eén thema-id. Verplicht tenzij themes is opgegeven.

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

themes

Een toewijzing van sleutels aan thema-id's voor uitvoer met dubbele (of meerdere) thema's via CSS-variabelen. Verplicht tenzij theme is opgegeven.

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

defaultColor

Welke sleutel in themes de inline standaardkleur wordt (de andere sleutels worden --shiki-<key>-variabelen van CSS). Standaard 'light'. Stel in op false om alleen variabelen te genereren en geen inline standaardkleur — handig als u alle kleuren zelf beheert met CSS.

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

transformers

Een lijst van Shikiphp\Transformer\Transformer-objecten die via de pipeline worden toegepast. Zie Transformers.

PHP
use Shikiphp\Transformer\Notation\NotationHighlight;

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

decorations

Pas klassen of attributen toe op willekeurige bereiken van de broncode, op basis van regel- en tekenpositie. Elke decoratie is {start, end, properties}, waarbij posities {line, character} zijn (nulgebaseerd).

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

colorReplacements

Vervang kleuren in de uitvoer. Tekenreeksvermeldingen vervangen een kleur overal; geneste vermeldingen die op themanaam zijn gegroepeerd gelden alleen voor dat thema.

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

structure

'classic' (standaard) genereert de volledige pre > code > span.line > span-structuur. 'inline' genereert alleen de tokenspans met regeleinden, zonder omhullende pre/code — handig voor inlinefragmenten.

PHP
['structure' => 'inline']

tabindex

Het kenmerk tabindex op het <pre>-element. Standaard 0. Geef false mee om het weg te laten.

PHP
['tabindex' => false]

cssVariablePrefix

Het voorvoegsel voor variabelen van dubbele thema's in CSS. Standaard '--shiki-'.

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

mergeWhitespaces

Bepaalt hoe witruimtetokens worden verwerkt. true (standaard) voegt tokens die alleen uit witruimte bestaan samen met het volgende token; 'never' splitst de witruimte aan het begin en einde van elk token op in afzonderlijke tokens; false laat tokens ongemoeid.

PHP
['mergeWhitespaces' => 'never']

tokenizeMaxLineLength

Sla het tokeniseren over (en genereer één platte token voor) elke regel met deze lengte of langer, uitgedrukt in UTF-16-code-eenheden. Standaard is er geen limiet. Dit beschermt tegen pathologische invoer op één regel.

PHP
['tokenizeMaxLineLength' => 1000]

meta

Willekeurige metadata die via de context van de transformer wordt doorgegeven aan transformers — bijvoorbeeld de metatekst van een codeblok, die wordt gebruikt door MetaHighlight en MetaWordHighlight.

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

grammarState

Een Shikiphp\GrammarState (vanuit getLastGrammarState) om het tokeniseren te hervatten vanaf die positie. De meegedragen lang en theme(s) moeten overeenkomen. Zie getLastGrammarState.