Zum Inhalt springen

Themes

shikiphp enthält den vollständigen Shiki-Theme-Satz: alle 65 VS Code-Themes aus tm-themes 1.12.2, dem Satz, den Shiki 3.23.0 mitliefert. 44 sind dunkel und 21 hell. Beliebte IDs sind github-dark, github-light, nord, dracula, vitesse-dark, vitesse-light, one-dark-pro, monokai, solarized-dark sowie die Familien catppuccin-* und material-theme-*.

Verwende ein Theme mit der Option theme oder zwei (oder mehr) mit themes für eine Ausgabe mit hellen und dunklen CSS-Variablen. Siehe Erste Schritte.

PHP
use Shikiphp\Shikiphp;

echo Shikiphp::codeToHtml('const answer = 42', [
    'lang'   => 'js',
    'themes' => ['light' => 'github-light', 'dark' => 'github-dark'],
]);

Ist dem Bundle eine Theme-ID unbekannt, wird Shikiphp\Exceptions\Highlight mit der Meldung Unknown theme "…" ausgelöst.

Was ein Theme steuert

Ein Theme legt Vorder- und Hintergrundfarbe des Blocks fest (sie werden auf <pre> geschrieben) sowie Farbe und Schriftstil (kursiv, fett, unterstrichen, durchgestrichen) jedes Tokens, aufgelöst anhand der Spezifität des Scope-Selectors. Für lang: 'ansi' werden die terminal.ansi*-Farben zur ANSI-Palette (siehe ANSI). Um einzelne Farben ohne Bearbeitung eines Themes anzupassen, verwende colorReplacements.

Enthaltene Themes auflisten

Über PHP:

PHP
use Shikiphp\Shikiphp;

$highlighter = Shikiphp::highlighter();

$highlighter->bundledThemes(); // list<string> — ids shipped in the box
$highlighter->loadedThemes();  // list<string> — bundled plus any you registered

Oder über die Kommandozeile, eine ID pro Zeile in alphabetischer Reihenfolge:

Shell
vendor/bin/shikiphp themes

Katalog

Der Typ ist der Typ light oder dark, den das Bundle für jedes Theme speichert. Er hilft dir bei der Auswahl eines Paares für die Option themes.

Design ID Typ
Andromeeda andromeeda dunkel
Aurora X aurora-x dunkel
Ayu Dark ayu-dark dunkel
Ayu Light ayu-light hell
Ayu Mirage ayu-mirage dunkel
Catppuccin Frappé catppuccin-frappe dunkel
Catppuccin Latte catppuccin-latte hell
Catppuccin Macchiato catppuccin-macchiato dunkel
Catppuccin Mocha catppuccin-mocha dunkel
Dark Plus dark-plus dunkel
Dracula Theme dracula dunkel
Dracula Theme Soft dracula-soft dunkel
Everforest Dark everforest-dark dunkel
Everforest Light everforest-light hell
GitHub Dark github-dark dunkel
GitHub Dark Default github-dark-default dunkel
GitHub Dark Dimmed github-dark-dimmed dunkel
GitHub Dark High Contrast github-dark-high-contrast dunkel
GitHub Light github-light hell
GitHub Light Default github-light-default hell
GitHub Light High Contrast github-light-high-contrast hell
Gruvbox Dark Hard gruvbox-dark-hard dunkel
Gruvbox Dark Medium gruvbox-dark-medium dunkel
Gruvbox Dark Soft gruvbox-dark-soft dunkel
Gruvbox Light Hard gruvbox-light-hard hell
Gruvbox Light Medium gruvbox-light-medium hell
Gruvbox Light Soft gruvbox-light-soft hell
Horizon horizon dunkel
Horizon Bright horizon-bright hell
Houston houston dunkel
Kanagawa Dragon kanagawa-dragon dunkel
Kanagawa Lotus kanagawa-lotus hell
Kanagawa Wave kanagawa-wave dunkel
LaserWave laserwave dunkel
Light Plus light-plus hell
Material Theme material-theme dunkel
Material Theme Darker material-theme-darker dunkel
Material Theme Lighter material-theme-lighter hell
Material Theme Ocean material-theme-ocean dunkel
Material Theme Palenight material-theme-palenight dunkel
Min Dark min-dark dunkel
Min Light min-light hell
Monokai monokai dunkel
Night Owl night-owl dunkel
Night Owl Light night-owl-light hell
Nord nord dunkel
One Dark Pro one-dark-pro dunkel
One Light one-light hell
Plastic plastic dunkel
Poimandres poimandres dunkel
Red red dunkel
Rosé Pine rose-pine dunkel
Rosé Pine Dawn rose-pine-dawn hell
Rosé Pine Moon rose-pine-moon dunkel
Slack Dark slack-dark dunkel
Slack Ochin slack-ochin hell
Snazzy Light snazzy-light hell
Solarized Dark solarized-dark dunkel
Solarized Light solarized-light hell
Synthwave '84 synthwave-84 dunkel
Tokyo Night tokyo-night dunkel
Vesper vesper dunkel
Vitesse Black vitesse-black dunkel
Vitesse Dark vitesse-dark dunkel
Vitesse Light vitesse-light hell

Eigene hinzufügen

Registriere mit loadTheme ein benutzerdefiniertes VS Code-Theme JSON. Siehe Benutzerdefinierte Sprachen und Themes.