# highlightjs에 rpm 모듈을 추가할 수 있나요?

**URL:** https://meta.discourse.org/t/add-rpm-module-to-highlightjs/255495
**Category:** Feature
**Tags:** completed
**Created:** [2월 17, 2023, 3:44오후 UTC](https://meta.discourse.org/t/add-rpm-module-to-highlightjs/255495 "2023-02-17T15:44:34Z")
**Posts on this page:** 16
**Page:** 1

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [2월 17, 2023, 3:44오후 UTC](https://meta.discourse.org/t/add-rpm-module-to-highlightjs/255495/1 "2023-02-17T15:44:35Z")

</div>

아마도 highlightjs는 핵심 유지보수자가 부족하여 새로운 언어 지원은 별도의 저장소를 통해 추가해 달라고 요청하고 있는 것 같습니다. ([Policy: Discuss extras repository for additional languages · Issue #2149 · highlightjs/highlight.js · GitHub](https://github.com/highlightjs/highlight.js/issues/2149) 참고)

그 중 하나인 [GitHub - highlightjs/highlightjs-rpm-specfile · GitHub](https://github.com/highlightjs/highlightjs-rpm-specfile) 저장소는 RPM specfile 문법을 하이라이트하는 데 사용됩니다. 이 저장소를 Discourse에 추가해 주시겠습니까? Fedora에는 정말 큰 도움이 될 것입니다!

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2월 17, 2023, 3:46오후 UTC](https://meta.discourse.org/t/add-rpm-module-to-highlightjs/255495/2 "2023-02-17T15:46:41Z")

</div>

비기본 언어를 #customization:theme-component로 추가해 왔으며, 이를 위해 전용 API 훅까지 추가했습니다.

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [2월 17, 2023, 3:50오후 UTC](https://meta.discourse.org/t/add-rpm-module-to-highlightjs/255495/3 "2023-02-17T15:50:12Z")

</div>

좋아, 알겠어 — 참고할 수 있는 예시가 있어?

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2월 17, 2023, 4:20오후 UTC](https://meta.discourse.org/t/add-rpm-module-to-highlightjs/255495/4 "2023-02-17T16:20:20Z")

</div>

빠르게 하나 패키징해 봤습니다. 테스트해 보실 수 있을까요?

> **[GitHub - discourse/discourse-highlightjs-rpm](https://github.com/discourse/discourse-highlightjs-rpm)**
>
> Contribute to discourse/discourse-highlightjs-rpm development by creating an account on GitHub.

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [2월 17, 2023, 4:26오후 UTC](https://meta.discourse.org/t/add-rpm-module-to-highlightjs/255495/5 "2023-02-17T16:26:29Z")

</div>

감사합니다!!! 네, 점심 바로 후에요. 🙂

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [2월 17, 2023, 5:59오후 UTC](https://meta.discourse.org/t/add-rpm-module-to-highlightjs/255495/6 "2023-02-17T17:59:41Z")

</div>

네, 동작하는 것 같습니다!

제가 볼 때 자동으로 감지되어 작동하는 것 같습니다. 만약

````
```rpm-specfile

````

이 동작하려면, “하이라이트 언어” 사이트 설정에 `rpm-specfile`을 넣어야 하는 것 같습니다. 맞나요?

또한, 거기에 `rpm`을 넣으면 _이것도_ 작동합니다. 이것이 예상된 동작인가요, 아니면 제가 원하는 동작이 잘못된 이유로 일어나는 경우인가요? 🙂

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [2월 17, 2023, 6:10오후 UTC](https://meta.discourse.org/t/add-rpm-module-to-highlightjs/255495/7 "2023-02-17T18:10:59Z")

</div>

음, 하지만 아직 완성되지 않은 것 같네요. `%description`나 `%prep` 같은 섹션은 볼드체로, `%{?dist}` 같은 매크로는 보라색으로, `#` 주석은 회색 이탤릭체로 표시됩니다. 여기까지는 좋습니다.

하지만 [discourse-highlightjs-rpm/javascripts/discourse/lib/rpm-highlightjs.js at main · discourse/discourse-highlightjs-rpm · GitHub](https://github.com/discourse/discourse-highlightjs-rpm/blob/main/javascripts/discourse/lib/rpm-highlightjs.js) 를 보면 `Name:`, `Release:` 등이 어떤 식으로든 하이라이트되고 `%if`와 `%endif`도 마찬가지일 것 같았는데, 실제로는 그렇지 않네요.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2월 17, 2023, 7:00오후 UTC](https://meta.discourse.org/t/add-rpm-module-to-highlightjs/255495/8 "2023-02-17T19:00:56Z")

</div>

그 댓글들은 Discourse 통합에 대한 것인지, 하이라이터 자체의 품질에 대한 것인지요?

OP에서 제공해주신 링크에서 정의를 복사해서 Discourse와 호환되는 #customization:theme-component에 붙여넣었을 뿐이므로, 그 기능은 여전히 원래 것과 동일합니다.

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [2월 17, 2023, 7:33오후 UTC](https://meta.discourse.org/t/add-rpm-module-to-highlightjs/255495/9 "2023-02-17T19:33:03Z")

</div>

> [@Falco](#):
>
> 그 댓글들은 Discourse 통합에 대한 것인지, 하이라이터 자체의 품질에 대한 것인가요?

저는 당신의\[1\] 저장소의 코드에서 그런 것들을 보고 있으니, 당연히 작동할 것으로 _기대_ 하지만, Discourse에서는 하이라이트가 되지 않는 것 같습니다. 이것이 하이라이터 모듈의 문제인지, Discourse의 해당 구현 문제인지, 아니면 테마 컴포넌트의 문제인지는 잘 모르겠습니다.

* * *

1. 이것은 "_당신의_ 저장소"라는 식의 _책임 전가_ 의도가 아닙니다… 명확히 하고 싶어서요 🙂

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [3월 6, 2023, 10:55오후 UTC](https://meta.discourse.org/t/add-rpm-module-to-highlightjs/255495/10 "2023-03-06T22:55:15Z")

</div>

(기록을 위해, 시간이 날 때 _실제로_ 작동해야 하는 것을 확인하려고 이 페이지를 북마크해 두었습니다.)

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [3월 22, 2023, 3:31오후 UTC](https://meta.discourse.org/t/add-rpm-module-to-highlightjs/255495/11 "2023-03-22T15:31:56Z")

</div>

@falco — 이 문제를 살펴볼 시간이 있었습니다. Firefox의 내장 인스펙터를 사용해 보니, `hljs-type`, `hljs-keyword` 등의 클래스를 가진 스팬(span)이 올바르게 추가되고 있는 것을 확인할 수 있었습니다. 하지만 스타일 쪽을 살펴보니 `.hljs`는 있지만 `.hljs-type`은 보이지 않았습니다 — 동작하는 `.hljs-keyword`와 `.hljs-comment`만 존재하는 것 같습니다.

 ![image](https://global.discourse-cdn.com/meta/original/4X/f/6/a/f6a8f2c9a727e6e2030126500bfc653cd2560d76.jpeg)

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [3월 22, 2023, 3:36오후 UTC](https://meta.discourse.org/t/add-rpm-module-to-highlightjs/255495/12 "2023-03-22T15:36:57Z")

</div>

아, 그리고 `.hljs-string`도 작동합니다. 하지만 [css](https://sea1.discourse-cdn.com/fedoraproject/stylesheets/desktop_91916272447dc3a5dcec9e11e9b434065bcae3c4.css?__ws=discussion.fedoraproject.org)에서 다른 것들도 몇 가지 보이는데… 이게 무슨 일이죠?

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [12월 11, 2023, 4:41오후 UTC](https://meta.discourse.org/t/add-rpm-module-to-highlightjs/255495/13 "2023-12-11T16:41:55Z")

</div>

참고로, 여전히 작동하지 않습니다. (_슬픈 표정 이모지_)

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [12월 11, 2023, 6:03오후 UTC](https://meta.discourse.org/t/add-rpm-module-to-highlightjs/255495/14 "2023-12-11T18:03:24Z")

</div>

코어에서 `.hljs-type` 클래스에 대한 스타일링이 누락되어 있던 것 같습니다. [이 PR](https://github.com/discourse/discourse/pull/24827)에서 정리했습니다.

정확한 색상은 테마에 따라 달라지지만, 여기 예시 RPM 파일이 있습니다:

 ![SCR-20231211-puik](https://global.discourse-cdn.com/meta/original/4X/a/e/4/ae4dc310d34408b611c4da72e7d5950be8dfbf7a.png)

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [12월 12, 2023, 5:56오후 UTC](https://meta.discourse.org/t/add-rpm-module-to-highlightjs/255495/15 "2023-12-12T17:56:11Z")

</div>

네, 이제 잘 작동합니다. 감사합니다!

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [12월 16, 2023, 8:00오전 UTC](https://meta.discourse.org/t/add-rpm-module-to-highlightjs/255495/16 "2023-12-16T08:00:57Z")

</div>

이 주제는 3일 후 자동으로 닫혔습니다. 새로운 답변은 더 이상 허용되지 않습니다.
