CLI
shikiphp obsahuje malý nástroj príkazového riadka v bin/shikiphp (v projekte sa nainštaluje ako vendor/bin/shikiphp). Má tri príkazy: highlight vykreslí jeden súbor do HTML a príkazy langs a themes vypíšu obsah balíka.
highlight
Zvýrazní súbor do HTML a vypíše ho na štandardný výstup.
vendor/bin/shikiphp highlight <file> [--lang=<lang>] [--theme=<theme>]
<file>— cesta k súboru na načítanie. Súbor musí existovať; štandardný vstup sa nenačítava.--lang— ID jazyka alebo alias. Ak nie je zadaný, ako ID sa bez úprav použije prípona súboru (ak prípona chýba, použije satxt).--theme— ID témy. Predvolené jegithub-dark.
vendor/bin/shikiphp highlight src/App.php --lang=php --theme=nord
Výstupom je ten istý blok <pre class="shiki …"> pre jednu tému, ktorý vracia codeToHtml, za ktorým nasleduje nový riadok, takže ho možno priamo presmerovať do súboru:
vendor/bin/shikiphp highlight src/App.php --theme=github-light > app.html
Príkaz neprijíma žiadne ďalšie možnosti. Pri použití dvoch tém, transformátorov alebo akejkoľvek inej možnosti namiesto neho zavolajte PHP API.
Možnosti a argumenty
Možnosti musia mať tvar --name=value. Ostatné argumenty začínajúce na -- sa ignorujú a za súbor sa považuje posledný argument, ktorý sa nezačína na --. Príkaz --lang php file.rs preto zvýrazní súbor file.rs ako Rust: --lang sa ignoruje, php nahradí hodnota file.rs a jazyk sa určí podľa prípony .rs.
Určenie jazyka
Bez možnosti --lang sa prípona bez úprav použije ako ID jazyka. Funguje to vždy, keď je samotná prípona ID alebo alias pribaleného jazyka — php, js, ts, tsx, py, rs, go, md, yml, json, sh a mnohé ďalšie (pozrite si Jazyky). Nefunguje to v týchto prípadoch:
- súbory bez prípony, napríklad
MakefilealeboDockerfile, pri ktorých sa použijetxt; - prípony, ktoré nie sú ID jazyka, napríklad
.txt.
txt nie je pribalený jazyk, preto sa obe situácie momentálne končia chybou Unknown language "txt" (fatálnou chybou #3 so zásobníkom volaní).
Pre tieto súbory zadajte --lang:
vendor/bin/shikiphp highlight Dockerfile --lang=docker
vendor/bin/shikiphp highlight Makefile --lang=make
langs
Vypíše všetky ID, ktoré balík prijíma ako jazyk, každé na samostatný riadok.
vendor/bin/shikiphp langs
Zoznam má 350 riadkov: najprv sú uvedené 253 ID pribalených gramatík v poradí balíka (nie abecedne) a potom ich 97 aliasov (js, cjs, mjs atď.). ID gramatík zahŕňajú 18 pomocných gramatík, ktoré vkladajú iné gramatiky, napríklad vue-directives a es-tag-css; katalóg s názvami a aliasmi nájdete v časti Jazyky. Abecedný zoznam získate pomocou sort.
themes
Vypíše všetky ID pribalených tém, každé na samostatný riadok v abecednom poradí (65 tém).
vendor/bin/shikiphp themes
Katalóg s názvami a typmi (svetlý/tmavý) nájdete v časti Témy.
Pomocník a návratový stav
Ak chcete zobraziť návod na použitie, spustite príkaz bez príkazu alebo so zadaním -h / --help / help.
vendor/bin/shikiphp --help
| Situácia | Výstup | Návratový stav |
|---|---|---|
| Úspech alebo pomoc | stdout | 0 |
| Neznámy príkaz | Unknown command: <name> na stderr |
1 |
highlight bez súboru alebo neexistujúci súbor |
riadok s návodom na použitie na stderr | 1 |
| Neznámy jazyk alebo téma | nezachytená chyba Shikiphp\Exceptions\Highlight (fatálna chyba PHP so zásobníkom volaní) |
255 |