Ari Stathopoulos ha annunciato una proposta per implementare un’API per i caratteri web nel nucleo di WordPress. L’obiettivo è standardizzare il modo in cui gli autori dei temi registrano e accodano gli stili dei caratteri. Può anche servire come base per altre caratteristiche lungo la strada.
Jono Alderson ha aperto il biglietto originale per tale API nel febbraio 2019. La discussione è andata avanti e avanti da allora, ma solo di recente ha preso slancio.
La proposta consentirebbe agli sviluppatori di registrare caratteri da file locali o da un URL di fogli di stile come quelli forniti da Google Fonts e altre API di terze parti. Rispecchierebbe le funzioni utilizzate per caricare script e stili con WordPress, quindi gli sviluppatori dovrebbero passare senza una curva di apprendimento. Tuttavia, alcuni parametri sono diversi e tengono conto della gamma di funzionalità più ampia necessaria per supportare i caratteri web.
Il caricamento di caratteri Web non è una novità per gli autori di temi. Esistono diversi metodi da utilizzare, a seconda che i file siano locali o serviti da un’API di terze parti. Tuttavia, WordPress non ha mai offerto una soluzione, la cosa più vicina a uno standard è copiare e incollare ciò che stavano facendo i temi Twenty*. Tuttavia, negli anni sono emersi vari progetti per la gestione di una funzionalità che molti autori di temi implementano quasi come un ripensamento.
L’anno scorso, Stathopoulos e altri del team dei temi WordPress hanno lanciato il Progetto Webfonts Loader, una libreria drop-in per sviluppatori. Ha consentito agli autori del tema di caricare fogli di stile dall’API di Google Fonts, quindi di archiviarli localmente sul server dell’utente.
Mi sono anche dilettato in un pacchetto di caricamento dei font contemporaneamente, creando un semplice insieme di funzioni per accodare e rimuovere dalla coda i fogli di stile dei caratteri. È stata un’idea costruita sopra un tutorial scritto da Jose Castaneda nel 2016. Tuttavia, attualmente sto prendendo in prestito il metodo utilizzato in Blockbase di Automattic tema, utilizzando un mix di functions.php
e theme.json
.
Il caricamento dei caratteri è un’operazione relativamente semplice, quindi ci si potrebbe chiedere perché sia necessaria un’API di base per farlo. È perché gli standard semplificano le attività di routine per tutti. Quando esistono tali convenzioni, ogni sviluppatore può guardare poche righe di codice e capire immediatamente cosa sta succedendo. Ci consente inoltre di creare nuove funzionalità su solide fondamenta in futuro.
Una cosa da non trascurare dall’annuncio è la menzione di theme.json
:
Con i recenti progressi in Gutenberg, gli stili globali e lo sforzo di consolidare opzioni e interfacce utente nell’editor del sito, un’API Webfonts sta diventando una necessità in quanto consentirà agli sviluppatori di temi di definire i caratteri nei loro file theme.json.
Anche Stathopoulos annotato nella richiesta pull che una volta completata questa patch, il passaggio successivo consiste nell’inviare un nuovo ticket per la registrazione dei caratteri Web durante l’analisi theme.json
.
Il file JSON del tema è il codice sottostante per il sistema di stili globali con cui sempre più utenti interagiranno nei mesi e negli anni a venire. Se costruiamo un’API per il caricamento dei font ora, ci dà spazio per esplorare. Potrebbe persino aprire future integrazioni all’interno dell’interfaccia utente nel back-end.
Non sono ancora sicuro di come potrebbe essere, ma aprirà la strada a un autore di temi esperto per sperimentare nuove esperienze utente sui caratteri.
Non sembra esserci un modo per registrare font commerciali da API come Adobe Fonts. Tuttavia, Stathopoulos ha notato l’anno scorso che potrebbe essere una possibilità. “L’aggiunta di un argomento in più in una delle chiamate per consentire la modifica delle intestazioni della richiesta (e quindi consentire l’autenticazione API) è qualcosa che possiamo sicuramente fare”, ha commentato il biglietto originale.
Mi piace la proposta. Potrebbero esserci alcuni problemi da risolvere, ma più standardizziamo queste caratteristiche comuni, meglio è. Crea meno lavoro per gli autori di temi, consentendo loro di concentrarsi maggiormente sulla definizione dei loro progetti.