【问题标题】:How can I tell which language was detected with HighlightJS?如何判断 HighlightJS 检测到了哪种语言?
【发布时间】:2016-02-08 09:17:50
【问题描述】:

对于它的价值,我正在使用 angularjs 和 https://github.com/pc035860/angular-highlightjs。我想知道检测到哪种语言以及是否有任何方法可以做到这一点。

如果这个库不做,有没有做的?

【问题讨论】:

  • 你是如何使用它的?分享一些代码。
  • 我还没用,打算用
  • 取决于什么?
  • 关于你将如何使用它(在指令中,在服务中等)。你将如何“引导”它等等。这个问题非常不清楚和广泛,以获得有用的答案。自己尝试一些东西,然后带着更具体的问题/问题/要求来。

标签: angularjs highlight.js


【解决方案1】:

您可以使用 JavaScript 搜索 hljs 类,然后找到与之关联的语言类(假设语言类是最后一个类)。 jQuery 示例:

function findLanguageOfHLJSWithID(id) {
  var foundClasses = jQuery('#' + id + '.hljs').attr('class').split(' ');
  return foundClasses[foundClasses.length - 1];
}

如果您想在页面上突出显示所有语言,请使用此功能:

function findAllHLJSLanguages() {
  var tempClasses = jQuery('.hljs'), foundClasses = [];
  for (var iter = 0; iter < tempClasses.length; iter++) {
    var tempClassesSplit = $(tempClasses[iter]).attr('class').split(' ');
    foundClasses.push(tempClassesSplit[tempClassesSplit.length - 1]);
  }
  return foundClasses;
}

【讨论】:

  • .hljs 不是像 ID 一样无关紧要吗?
  • 是的,但是如果我们使用 hljs 类进行搜索,如果 OP 在一页上有许多 Highlighter div,则可能会有多个结果。
猜你喜欢
  • 2010-12-12
  • 1970-01-01
  • 2019-10-03
  • 2019-09-15
  • 2011-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多