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

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

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

1개의 좋아요

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

3개의 좋아요

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

2개의 좋아요

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

5개의 좋아요

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

3개의 좋아요

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

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

```rpm-specfile

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

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

1개의 좋아요

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

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

1개의 좋아요

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

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

1개의 좋아요

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


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

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

1개의 좋아요

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

아, 그리고 .hljs-string도 작동합니다. 하지만 css에서 다른 것들도 몇 가지 보이는데… 이게 무슨 일이죠?

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

1개의 좋아요

코어에서 .hljs-type 클래스에 대한 스타일링이 누락되어 있던 것 같습니다. 이 PR에서 정리했습니다.

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

3개의 좋아요

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

1개의 좋아요

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