CLI
Το shikiphp περιλαμβάνει ένα μικρό εργαλείο γραμμής εντολών στο bin/shikiphp (εγκατεστημένο ως vendor/bin/shikiphp στο έργο σας). Διαθέτει τρεις εντολές: η highlight αποδίδει ένα αρχείο σε HTML, ενώ οι langs και themes εμφανίζουν τα περιεχόμενα του bundle.
highlight
Επισημάνετε ένα αρχείο σε HTML και εμφανίστε το στην τυπική έξοδο.
vendor/bin/shikiphp highlight <file> [--lang=<lang>] [--theme=<theme>]
<file>— η διαδρομή του αρχείου προς ανάγνωση. Πρέπει να υπάρχει· δεν διαβάζεται η τυπική είσοδος.--lang— το id ή το ψευδώνυμο της γλώσσας. Αν παραλειφθεί, χρησιμοποιείται ως id αυτούσια η επέκταση του αρχείου (ή τοtxtαν δεν υπάρχει).--theme— το id του θέματος. Προεπιλογή:github-dark.
vendor/bin/shikiphp highlight src/App.php --lang=php --theme=nord
Η έξοδος είναι το ίδιο μπλοκ <pre class="shiki …"> ενός θέματος που επιστρέφει το codeToHtml, ακολουθούμενο από αλλαγή γραμμής, ώστε να μπορεί να ανακατευθυνθεί απευθείας σε αρχείο:
vendor/bin/shikiphp highlight src/App.php --theme=github-light > app.html
Η εντολή δεν δέχεται άλλες επιλογές. Για δύο θέματα, transformers ή οποιαδήποτε άλλη επιλογή, καλέστε απευθείας το PHP API.
Επιλογές και ορίσματα
Οι επιλογές πρέπει να έχουν τη μορφή --name=value. Κάθε άλλο όρισμα που αρχίζει με -- αγνοείται, ενώ ως αρχείο χρησιμοποιείται το τελευταίο όρισμα που δεν αρχίζει με --. Επομένως, το --lang php file.rs επισημαίνει το file.rs ως Rust: το --lang αγνοείται, το php αντικαθίσταται από το file.rs και η γλώσσα προκύπτει από την επέκταση .rs.
Αυτόματη αναγνώριση γλώσσας
Χωρίς --lang, η επέκταση γίνεται αυτούσια το id της γλώσσας. Αυτό λειτουργεί όταν η επέκταση είναι ήδη ενσωματωμένο id ή ψευδώνυμο — php, js, ts,
tsx, py, rs, go, md, yml, json, sh και πολλά άλλα (δείτε τις Γλώσσες). Δεν λειτουργεί στις εξής περιπτώσεις:
- αρχεία χωρίς επέκταση, όπως τα
MakefileήDockerfile, για τα οποία χρησιμοποιείται τοtxt· - επεκτάσεις που δεν είναι id γλώσσας, όπως το
.txt.
Το txt δεν είναι ενσωματωμένη γλώσσα, επομένως και στις δύο περιπτώσεις η εκτέλεση σταματά αυτή τη στιγμή με σφάλμα Unknown language "txt" (#3).
Για αυτά τα αρχεία, περάστε το --lang:
vendor/bin/shikiphp highlight Dockerfile --lang=docker
vendor/bin/shikiphp highlight Makefile --lang=make
langs
Εμφανίστε σε ξεχωριστή γραμμή κάθε id γλώσσας που δέχεται το bundle.
vendor/bin/shikiphp langs
Η λίστα περιλαμβάνει 350 γραμμές: τα 253 ενσωματωμένα id γραμματικών με τη σειρά του bundle (όχι αλφαβητικά), ακολουθούμενα από τα 97 ψευδώνυμά τους (js, cjs, mjs κ.ο.κ.). Στα id γραμματικών περιλαμβάνονται 18 βοηθητικές γραμματικές που ενσωματώνονται από άλλες, όπως οι vue-directives και es-tag-css· δείτε τις Γλώσσες για τον κατάλογο με ονόματα και ψευδώνυμα. Περάστε τη λίστα από το sort για αλφαβητική ταξινόμηση.
themes
Εμφανίστε σε ξεχωριστή γραμμή κάθε ενσωματωμένο id θέματος, με αλφαβητική σειρά (65 θέματα).
vendor/bin/shikiphp themes
Δείτε τα Θέματα για τον κατάλογο με ονόματα και τύπους φωτεινού/σκοτεινού θέματος.
Βοήθεια και κατάσταση εξόδου
Εκτελέστε χωρίς εντολή ή με -h / --help / help για να εμφανιστούν οι οδηγίες χρήσης.
vendor/bin/shikiphp --help
| Περίπτωση | Έξοδος | Κατάσταση εξόδου |
|---|---|---|
| Επιτυχία ή βοήθεια | stdout | 0 |
| Άγνωστη εντολή | Unknown command: <name> στο stderr |
1 |
highlight χωρίς αρχείο ή αν το αρχείο δεν υπάρχει |
η γραμμή οδηγιών χρήσης στο stderr | 1 |
| Άγνωστη γλώσσα ή θέμα | ένα σφάλμα Shikiphp\Exceptions\Highlight που δεν παγιδεύεται (μοιραίο σφάλμα PHP με stack trace) |
255 |