Agregar módulo rpm a highlightjs?

Aparentemente, highlightjs, debido a la falta de mantenedores principales, está pidiendo que se agregue soporte para nuevos lenguajes a través de repositorios separados. (Ver Policy: Discuss extras repository for additional languages · Issue #2149 · highlightjs/highlight.js · GitHub).

Un repositorio separado es GitHub - highlightjs/highlightjs-rpm-specfile, para resaltar la sintaxis del archivo spec de RPM. ¿Podrían agregar eso a Discourse? ¡Sería de gran ayuda para Fedora!

1 me gusta

Hemos estado agregando idiomas no predeterminados como Theme component, incluso hemos agregado un hook de API dedicado para esto.

3 Me gusta

Vale, genial. ¿Hay algún ejemplo que pueda copiar?

2 Me gusta

Te empaqué uno rápidamente, ¿puedes probarlo?

5 Me gusta

¡¡¡Gracias!!! Y, sí, justo después del almuerzo. :slight_smile:

3 Me gusta

¡Sí, parece que funciona!

Por lo que puedo ver, parece que se detecta y funciona automáticamente. Si quiero que

```rpm-specfile
```

funcione, parece que necesito poner rpm-specfile en la configuración del sitio “idiomas resaltados”. ¿Es correcto?

Además, si pongo rpm ahí, eso también funciona. ¿Es esto esperado, o es una de esas cosas en las que lo que quiero que suceda está sucediendo por la razón equivocada? :slight_smile:

1 me gusta

Hmm, pero no parece estar completo… Estoy obteniendo negrita para secciones como %description y %prep, morado para macros como %{?dist}, y los comentarios # se vuelven grises en cursiva. Hasta ahora todo bien.

Pero mirando https://github.com/discourse/discourse-highlightjs-rpm/blob/main/javascripts/lib/rpm-highlightjs.js, también esperaría que Name:, Release: etc., se resaltaran de alguna manera, así como %if y %endif, pero esos no lo están.

1 me gusta

¿Esos comentarios van dirigidos a la integración de Discourse o a la calidad del resaltador en sí?

Solo copié y pegué la definición del enlace que proporcionaste en el OP en un Theme component compatible con Discourse, por lo que las capacidades siguen siendo las originales.

1 me gusta

Veo esas cosas en el código de tu[1] repositorio, así que espero que funcionen, pero no parecen estar resaltados en Discourse. No sé si es un problema con el módulo resaltador, la implementación de Discourse de este o el componente temático.


  1. esto no pretende ser una declaración de culpa, como “es tu repositorio”… solo para que quede claro :slight_smile: ↩︎

(Para que conste, he guardado esto para comprobar qué debería funcionar cuando tenga la oportunidad.)

1 me gusta

@falco — Tuve tiempo de ver esto. Usando el inspector integrado de Firefox, puedo ver que agrega correctamente spans con clases como hljs-type, hljs-keyword, etc. Pero si miro en el lado de los estilos, veo un .hljs pero no .hljs-type — solo .hljs-keyword y .hljs-comment (los que funcionan) parecen estar ahí.

Además, .hljs-string también funciona. Pero veo algunos de los otros en css … ¿alguna idea de lo que está pasando?

Para que conste, esto todavía no funciona. (Cara triste emoji)

1 me gusta

Parece que a core le faltaba estilo para la clase .hljs-type. He limpiado las cosas en este PR.

Los colores exactos dependerán de tu tema, pero aquí tienes un ejemplo de archivo RPM:

3 Me gusta

Sí, ahora funciona. ¡Gracias!

1 me gusta

Este tema se cerró automáticamente después de 3 días. Ya no se permiten nuevas respuestas.