Riferimento ai plugin
I plugin di Starlight possono personalizzare la configurazione, l’interfaccia utente e il comportamento di Starlight, rendendo allo stesso tempo facile la condivisione e il riutilizzo. Questa pagina di riferimento documenta le API a cui i plugin hanno accesso.
Per saperne di più sull’utilizzo di un plugin Starlight, consulta il riferimento alla configurazione o visita la vetrina dei plugin per vedere un elenco dei plugin disponibili.
Riferimento rapido per le API
Un plugin Starlight ha la seguente forma. Vedi sotto i dettagli delle diverse proprietà e dei parametri degli hook.
name
name: string
Un plugin deve fornire un nome univoco che lo descriva. Il nome viene utilizzato durante la registrazione dei messaggi relativi a questo plugin e può essere utilizzato da altri plugin per rilevare la presenza di questo plugin.
hooks
Gli hook sono funzioni che Starlight richiama per eseguire il codice del plugin in momenti specifici. Al momento, Starlight supporta un singolo hook setup
.
hooks.setup
Funzione di configurazione del plugin chiamata quando Starlight viene inizializzato (durante l’hook di integrazione astro:config:setup
).
L’hook setup
può essere utilizzato per aggiornare la configurazione di Starlight o aggiungere integrazioni Astro.
Questo hook viene chiamato con le seguenti opzioni:
config
type: StarlightUserConfig
Una copia di sola lettura della configurazione Starlight fornita all’utente. Questa configurazione potrebbe essere stata aggiornata da altri plugin configurati prima di quello corrente.
updateConfig
type: (newConfig: StarlightUserConfig) => void
Una funzione di callback per aggiornare la configurazione Starlight fornita all’utente. Fornisci le chiavi di configurazione di livello root che vuoi sovrascrivere. Per aggiornare valori di configurazione annidati, devi fornire l’intero oggetto annidato.
Per estendere un’opzione di configurazione esistente senza sovrascriverla, unisci il valore esistente nel tuo nuovo valore.
Nel seguente esempio, un nuovo account social
viene aggiunto alla configurazione esistente unendo config.social
nel nuovo oggetto social
:
addIntegration
type: (integration: AstroIntegration) => void
Una funzione di callback per aggiungere un’integrazione Astro richiesta dal plugin.
Nel seguente esempio, il plugin controlla prima se è configurata l’integrazione React di Astro e, se non lo è, utilizza addIntegration()
per aggiungerla:
astroConfig
type: AstroConfig
Una copia di sola lettura della configurazione Astro fornita all’utente.
command
type: 'dev' | 'build' | 'preview'
Il comando utilizzato per eseguire Starlight:
dev
- Il progetto viene eseguito conastro dev
build
- Il progetto viene eseguito conastro build
preview
- Il progetto viene eseguito conastro preview
isRestart
type: boolean
false
quando il server di sviluppo viene avviato, true
quando viene attivato un riavvio.
Le ragioni comuni per un riavvio includono la modifica di astro.config.mjs
da parte dell’utente mentre il server di sviluppo è in esecuzione.
logger
type: AstroIntegrationLogger
Un’istanza del logger di integrazione Astro che puoi utilizzare per scrivere log. Tutti i messaggi registrati saranno prefissati con il nome del plugin.
L’esempio sopra registrerà un messaggio che include il messaggio info fornito: