¿Puedo simplemente agregar directorios a mi instalación de Discourse?

Así que estaba añadiendo una fuente local a mi sitio. En un archivo CSS de un tema, puse:

@font-face {
  font-display: swap; /* Consulta https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display para otras opciones. */
  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+ */
}

En mi archivo HTML puse:

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

Luego guardé, actualicé mi sitio, vi el código fuente de la página y hice clic en la URL /fonts/montserrat-v26-latin-italic.woff2, lo que me llevó a:
https://forums.mysite.com/fonts/montserrat-v26-latin-italic.woff2

Me encontré con una página de Nginx de “404 No Encontrado”. Pensé: “oh, espera, no tengo una carpeta de fuentes en mi directorio de Discourse en mi VPS”. Pensé que era raro que no la tomara de la carpeta de fuentes de mi tema. Así que añadí una carpeta “fonts” en /var/discourse/shared/standalone/. Puse mi archivo de fuente allí, actualicé la página del navegador de nuevo, todavía un error 404. ¿Puedo simplemente añadir carpetas a Discourse así o necesito reiniciar mi servidor para que tenga efecto o qué?

No estoy seguro de añadir directorios, pero en cuanto a usar archivos de fuentes en temas, hay un método incorporado que podrías probar. Si estás editando los archivos del tema manualmente, puedes añadir la fuente al directorio /assets del tema, y luego añadir una entrada para ella en about.json de esta manera:

{
  // otras propiedades
  "assets" : {
    "mi-identificador-de-fuente": "assets/mi-archivo-de-fuente.woff2",
  }
}

Luego, en el @font-face, puedes referenciarlo con src: url($mi-identificador-de-fuente);


Si solo estás usando el editor de temas en la interfaz de configuración, creo que puedes añadirlo a la sección de subidas, poner el identificador que quieres usar en el campo Nombre de variable SCSS, y luego referenciarlo de la misma manera en el SCSS.

5 Me gusta

Entonces, ¿el código de los assets sería así para cada fuente que haga?

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

EDIT: Eso funcionó. La URL directa /assets/ a la fuente todavía muestra un 404, pero la fuente está funcionando en la página, así que :man_shrugging:

En la configuración del sitio de administración, puede cambiar la fuente a Montserrat.
fuente base
fuente de encabezado


Si desea agregar una fuente que no está en el núcleo pero sí en Google Fonts, puede usar este componente de tema:

5 Me gusta

Sí, la Montserrat es para una página diferente. ¡Pero te lo agradezco!

El problema con las fuentes de Google es que ralentizan las páginas al cargar más de 200 caracteres, la mayoría de los cuales la gente ni siquiera usa.

1 me gusta

No, no lo hace, cuando usas un máximo de 3-4 familias de fuentes (y solo los pesos necesarios) como deberías.

2 Me gusta

Tenía una pregunta sobre esto: Entonces, cuando ves el código fuente de la página de foros de tu sitio de Discourse (o el de cualquiera), y buscas “font”, muestra un montón de ellas. ¿Se cargan todas estas fuentes aunque solo elijas 1 o 2 durante el asistente de configuración? Si es así, me gustaría que solo se cargara la que elegí.

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