据了解,highlightjs 由于核心维护者不足,要求通过单独的存储库添加新的语言支持。(见 https://github.com/highlightjs/highlight.js/issues/2149)。
其中一个单独的存储库是 https://github.com/highlightjs/highlightjs-rpm-specfile,用于高亮显示 RPM specfile 语法。您能否将其添加到 Discourse 中?这将对 Fedora 极有帮助!
据了解,highlightjs 由于核心维护者不足,要求通过单独的存储库添加新的语言支持。(见 https://github.com/highlightjs/highlight.js/issues/2149)。
其中一个单独的存储库是 https://github.com/highlightjs/highlightjs-rpm-specfile,用于高亮显示 RPM specfile 语法。您能否将其添加到 Discourse 中?这将对 Fedora 极有帮助!
我们一直在将非默认语言添加为 Theme component,甚至为此添加了专用的 API 钩子。
好的,很棒——有什么可以让我借鉴的例子吗?
我快速地为您打包了一个,您可以试试吗?
谢谢!!!是的——午饭后。 ![]()
是的,似乎奏效了!
据我所知,它似乎能自动检测并工作。如果我想让
```rpm-specfile
生效,我似乎需要在“高亮语言”站点设置中输入 `rpm-specfile`。是这样吗?
另外,如果我输入 rpm,它也同样生效。这是预期的吗,还是说我想要发生的事情恰好发生了,但原因却是错误的? ![]()
嗯,但似乎还不完整……我看到 %description 和 %prep 等部分是粗体,%{?dist} 等宏是紫色,# 注释是灰色斜体。到目前为止都很好。
但看看 https://github.com/discourse/discourse-highlightjs-rpm/blob/main/javascripts/lib/rpm-highlightjs.js,我也期望 Name:、Release: 等内容以某种方式高亮显示,还有 %if 和 %endif——但这些都没有。
这些评论是指 Discourse 集成还是荧光笔本身的质量?
我只是将您在 OP 链接中提供的定义复制并粘贴到一个与 Discourse 兼容的 Theme component 中,因此它的功能仍然是原始的。
我在你的[1] 仓库中看到了代码里的这些东西,所以我_期望_它们能正常工作,但在 Discourse 中它们似乎没有被高亮显示。我不知道这是荧光笔模块的问题,还是 Discourse 对它的实现有问题,或者是主题组件的问题。
这不是一个“指责”声明,比如“这是_你的_仓库”……只是为了说清楚
↩︎
(供记录,我已收藏此内容,以便有机会时检查_应该_如何工作。)
@falco — 我花了一些时间查看这个问题。使用 Firefox 内置的检查器,我可以看到它正确地添加了带有 hljs-type、hljs-keyword 等类的 span。但如果我在样式方面查看,我看到一个 .hljs,但没有 .hljs-type — 只有 .hljs-keyword 和 .hljs-comment(那些起作用的)似乎在那里。
哦,.hljs-string 也有效。但我看到 CSS 中还有一些其他的……有什么想法吗?
供参考,这仍然无效。(伤心表情符号)
Looks like core was missing styling for the .hljs-type class. I’ve cleaned things up in this PR.
Exact colours will depend on your theme, but here’s an example RPM file:
是的,现在可以了。谢谢!
此主题已在 3 天后自动关闭。不再允许回复。