Aggiungere modulo rpm a highlightjs?

Sembra che highlightjs, a causa della mancanza di manutentori principali, stia chiedendo che il supporto per nuove lingue venga aggiunto tramite repository separati. (Vedi Policy: Discuss extras repository for additional languages · Issue #2149 · highlightjs/highlight.js · GitHub).

Un repository separato è GitHub - highlightjs/highlightjs-rpm-specfile, per l’evidenziazione della sintassi dei file RPM spec. Potreste aggiungerlo a Discourse? Sarebbe di enorme aiuto per Fedora!

1 Mi Piace

Abbiamo aggiunto lingue non predefinite come Theme component, abbiamo persino aggiunto un hook API dedicato per questo.

3 Mi Piace

Ok, fantastico — c’è un esempio da cui posso copiare?

2 Mi Piace

L’ho impacchettato velocemente per te, puoi provarlo?

5 Mi Piace

Grazie!!! E, sì — subito dopo pranzo. :slight_smile:

3 Mi Piace

Sì, sembra funzionare!

Da quello che posso vedere, sembra che venga rilevato automaticamente e funzioni. Se voglio che

```rpm-specfile

funzioni, sembra che debba inserire `rpm-specfile` nelle impostazioni del sito "lingue evidenziate". È corretto?

Inoltre, se inserisco `rpm` lì, funziona anche quello. È previsto, o è una di quelle cose in cui ciò che voglio che accada sta accadendo per la ragione sbagliata? :)
1 Mi Piace

Hmm, ma non sembra essere completo… Ottengo il grassetto per sezioni come %description e %prep, il viola per macro come %{?dist}, e i commenti # diventano grigio corsivo. Fin qui tutto bene.

Ma guardando https://github.com/discourse/discourse-highlightjs-rpm/blob/main/javascripts/lib/rpm-highlightjs.js, mi aspetterei che anche Name:, Release: ecc. vengano evidenziati in qualche modo, così come %if e %endif — ma quelli non lo sono.

1 Mi Piace

Quei commenti sono diretti all’integrazione di Discourse o alla qualità dell’evidenziatore stesso?

Ho semplicemente copiato e incollato la definizione dal link che hai fornito nell’OP in un Theme component compatibile con Discourse, quindi le sue capacità sono ancora quelle originali.

1 Mi Piace

Vedo quelle cose nel codice del tuo[1] repository, quindi mi aspetto che funzionino, ma non sembrano essere evidenziate in Discourse. Non so se sia un problema del modulo di evidenziazione, dell’implementazione di Discourse di esso, o del componente del tema.


  1. questo non è inteso come una dichiarazione di colpa, tipo “è il tuo repository”… solo per essere chiari :slight_smile: ↩︎

(Per la cronaca, ho aggiunto questo ai preferiti per verificare cosa dovrebbe funzionare quando ne avrò la possibilità.)

1 Mi Piace

@falco — Ho avuto un po’ di tempo per esaminarlo. Usando l’ispettore integrato di Firefox, posso vedere che aggiunge correttamente gli span con le classi hljs-type, hljs-keyword, ecc. Ma se guardo sul lato degli stili, vedo un .hljs ma non .hljs-type — sembrano esserci solo .hljs-keyword e .hljs-comment (quelli che funzionano).

Inoltre, .hljs-string funziona anche. Ma vedo alcuni degli altri in css … hai idea di cosa stia succedendo?

Per quanto ne so, questo ancora non funziona. (Faccina triste)

1 Mi Piace

Sembra che a core mancasse lo stile per la classe .hljs-type. Ho sistemato le cose in questa PR.

I colori esatti dipenderanno dal tuo tema, ma ecco un esempio di file RPM:

3 Mi Piace

Sì, ora funziona. Grazie!

1 Mi Piace

Questo argomento è stato chiuso automaticamente dopo 3 giorni. Non sono più consentite nuove risposte.