Kann ich einfach Verzeichnisse zu meiner Discourse-Installation hinzufügen?

Ich habe also eine lokale Schriftart zu meiner Website hinzugefügt. In einer CSS-Datei eines Themes habe ich Folgendes eingefügt:

@font-face {
  font-display: swap; /* Weitere Optionen finden Sie unter https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display. */
  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+ */
}

In meiner HTML-Datei habe ich Folgendes eingefügt:

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

Dann habe ich gespeichert, meine Website aktualisiert, den Seitenquelltext angezeigt und auf die URL /fonts/montserrat-v26-latin-italic.woff2 geklickt, was mich zu folgender Seite führte:
https://forums.mysite.com/fonts/montserrat-v26-latin-italic.woff2

Ich wurde mit einer “404 Not Found” Nginx-Seite begrüßt. Ich dachte: “Oh, ich habe keinen Schriftartenordner in meinem Discourse-Verzeichnis auf meinem VPS.” Ich fand es seltsam, dass es nicht einfach aus dem Schriftartenordner in meinem Theme gezogen wurde. Also habe ich einen “fonts”-Ordner unter /var/discourse/shared/standalone/ hinzugefügt. Ich habe meine Schriftartdatei dort abgelegt, die Browserseite erneut aktualisiert, immer noch ein 404-Fehler. Kann ich einfach Ordner wie diese zu Discourse hinzufügen oder muss ich meinen Server neu starten, damit sie wirksam werden, oder was?

Ich bin mir nicht sicher, ob Verzeichnisse hinzugefügt werden können, aber was die Verwendung von Schriftdateien in Themes betrifft, gibt es eine integrierte Methode, die Sie ausprobieren könnten. Wenn Sie die Theme-Dateien manuell bearbeiten, können Sie die Schriftart dem Verzeichnis /assets des Themes hinzufügen und dann einen Eintrag dafür in about.json wie folgt hinzufügen:

{
  // andere Eigenschaften
  "assets" : {
    "my-font-identifier": "assets/my-font-file.woff2",
  }
}

Dann können Sie in der @font-face-Regel mit src: url($my-font-indentifier); darauf verweisen.


Wenn Sie nur den Theme-Editor in der Einstellungen-Oberfläche verwenden, können Sie ihn meines Wissens nach zum Upload-Bereich hinzufügen, den gewünschten Bezeichner in das Feld SCSS var name eingeben und dann auf die gleiche Weise in der SCSS darauf verweisen.

5 „Gefällt mir“

Wäre der Asset-Code für jede Schriftart, die ich verwende, also so?\n\n\n\n \"assets\": {\n \"montserrat-reg\": \"assets/montserrat-v26-latin-regular.woff2\",\n \"montserrat-ita\": \"assets/montserrat-v26-latin-italic.woff2\"\n},\n\n\nEDIT: Das hat funktioniert. Die direkte URL /assets/ zur Schriftart zeigt immer noch eine 404, aber die Schriftart funktioniert auf der Seite, also :man_shrugging:

In den Admin-Seiteneinstellungen können Sie die Schriftart auf Montserrat ändern.
Basisschriftart
Überschriften-Schriftart


Wenn Sie eine Schriftart hinzufügen möchten, die nicht im Kern enthalten ist, aber in Google Fonts vorhanden ist, können Sie diese Theme-Komponente verwenden:

5 „Gefällt mir“

Ja, die Montserrat ist für eine andere Seite. Aber trotzdem danke!

Das Problem mit Google Fonts ist, dass sie Seiten verlangsamen, indem sie über 200 Zeichen laden, von denen die meisten Leute nie benutzen.

1 „Gefällt mir“

Nein, das tut es nicht – wenn Sie maximal 3-4 Schriftarten (und nur die benötigten Schriftschnitte) verwenden, wie Sie es sollten.

2 „Gefällt mir“

Ich hatte eine Frage dazu: Wenn man sich den Quelltext der Forenseite einer Discourse-Seite (von jedem) ansieht und nach „font“ sucht, werden viele angezeigt. Werden all diese Schriftarten geladen, obwohl man während des Einrichtungsassistenten nur 1-2 ausgewählt hat? Wenn ja, möchte ich, dass nur die von mir gewählte geladen wird.

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