Posso semplicemente aggiungere directory alla mia installazione di Discourse?

Quindi, stavo aggiungendo un font locale al mio sito. In un file CSS di un tema, ho inserito:

@font-face {
  font-display: swap; /* Controlla https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display per altre opzioni. */
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/montserrat-v26-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

Nel mio file HTML ho inserito:

<link rel="preload" href="/fonts/montserrat-v26-latin-italic.woff2 " as="font" type="font/woff2" crossorigin="">

Poi ho salvato, ricaricato il mio sito, visualizzato il sorgente della pagina e cliccato sull’URL /fonts/montserrat-v26-latin-italic.woff2, che mi ha portato a:
https://forums.mysite.com/fonts/montserrat-v26-latin-italic.woff2

Mi sono imbattuto in una pagina Nginx “404 Not Found”. Ho pensato: “oh aspetta, non ho una cartella fonts nella mia directory Discourse sul mio VPS”. Ho pensato fosse strano che non la prendesse semplicemente dalla cartella fonts nel mio tema. Quindi, ho aggiunto una cartella “fonts” in /var/discourse/shared/standalone/. Ho messo lì il mio file font, ricaricato di nuovo la pagina del browser, ancora errore 404. Posso semplicemente aggiungere cartelle a Discourse in questo modo o devo riavviare il mio server affinché abbia effetto o cosa?

Non sono sicuro riguardo all’aggiunta di directory, ma per quanto riguarda l’utilizzo di file di font nei temi, esiste un metodo integrato che potresti provare. Se stai modificando i file del tema manualmente, puoi aggiungere il font alla directory /assets del tema, quindi aggiungere una voce per esso in about.json come questa:

{
  // altre proprietĂ 
  "assets" : {
    "my-font-identifier": "assets/my-font-file.woff2",
  }
}

Quindi, in @font-face, puoi fare riferimento ad esso con src: url($my-font-indentifier);


Se stai semplicemente utilizzando l’editor del tema nell’interfaccia delle impostazioni, credo che tu possa aggiungerlo alla sezione degli upload, inserire l’identificatore che desideri utilizzare nel campo SCSS var name, quindi fare riferimento ad esso nello stesso modo in SCSS.

5 Mi Piace

Quindi, il codice degli asset sarebbe così per ogni font che creo?

  "assets": {
    "montserrat-reg": "assets/montserrat-v26-latin-regular.woff2",
    "montserrat-ita": "assets/montserrat-v26-latin-italic.woff2"
},

EDIT: Ha funzionato. L’URL diretto /assets/ al font mostra ancora un 404, ma il font funziona sulla pagina, quindi :man_shrugging:

Nel sito di amministrazione è possibile modificare il font in Montserrat.
font di base
font del titolo


Se si desidera aggiungere un font che non è nel core ma è in Google Fonts, è possibile utilizzare questo componente del tema:

5 Mi Piace

Sì, Montserrat è per una pagina diversa. Lo apprezzo, però!

Il problema con i font di Google è che rallentano le pagine caricando oltre 200 caratteri, la maggior parte dei quali le persone non usano mai.

1 Mi Piace

No, non lo fa — quando usi al massimo 3-4 set di font (e solo i pesi necessari) come dovresti.

2 Mi Piace

Ho una domanda a riguardo: quindi, quando si visualizza l’origine della pagina dei forum del tuo (di chiunque) sito Discourse e si cerca “font”, ne vengono visualizzati molti. Questi font vengono tutti caricati anche se ne scegli solo 1-2 durante la procedura guidata di configurazione? Se è così, vorrei che venisse caricato solo quello che ho scelto.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.