Pular para o conteúdo

Temas

shikiphp inclui o conjunto completo de temas de Shiki: todos os 65 temas de VS Code de tm-themes 1.12.2, o conjunto fornecido por Shiki 3.23.0. 44 são escuros e 21 são claros. IDs populares incluem github-dark, github-light, nord, dracula, vitesse-dark, vitesse-light, one-dark-pro, monokai, solarized-dark, além das famílias catppuccin-* e material-theme-*.

Use um único tema com a opção theme, ou dois (ou mais) com themes para gerar saída com variáveis de tema claro/escuro CSS. Consulte Primeiros passos.

PHP
use Shikiphp\Shikiphp;

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

Um ID de tema desconhecido pelo pacote gera Shikiphp\Exceptions\Highlight com a mensagem Unknown theme "…".

O que um tema controla

Um tema define o primeiro plano e o plano de fundo do bloco (escritos no <pre>) e a cor e o estilo da fonte (itálico, negrito, sublinhado, tachado) de cada token, determinados pela especificidade do seletor de escopo. Para lang: 'ansi', as cores terminal.ansi* se tornam a paleta ANSI (consulte ANSI). Para ajustar cores específicas sem editar um tema, use colorReplacements.

Como listar os temas incluídos

De 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

Ou pela linha de comando, um ID por linha em ordem alfabética:

Shell
vendor/bin/shikiphp themes

Catálogo

O tipo é o tipo light ou dark que o pacote registra para cada tema, útil na escolha de um par para a opção themes.

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

Adicionar seus próprios idiomas

Registre um tema personalizado VS Code JSON com loadTheme. Consulte Idiomas e temas personalizados.