javascript - 如何在 Rails 中使用 highlight.js?

标签 javascript ruby-on-rails syntax-highlighting

我正在尝试在我的 Rails 应用程序中通过 highlight.js 使用语法高亮显示。 highlight.js 的说明如下 ( https://github.com/isagalaev/highlight.js ):

在网页上使用 highlight.js 的最低限度是链接到库以及其中一种样式并调用 initHighlightingOnLoad:

<link rel="stylesheet" href="/path/to/styles/default.css">
<script src="/path/to/highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();</script>

我不确定上面三个应该放在哪里。我尝试了几种可能性。据推测,这三个中的第一个 < link rel ... > 应该放在 views/application/application.html.erb 的头部。我认为这三个文件中的第二个文件 < script src=... > 应该放在包含要突出显示的代码的文件的底部。我认为三个中的第三个 < script ... > 应该放在 application.js 文件中。无论如何,我已经尝试过这个和其他几种可能性,但我无法在 Ruby 中突出显示所需的代码。

最佳答案

为我工作..

  • 创建一个文件复制app\assets\javascripts\highlight.pack.js(在这里找到文件内容:https://highlightjs.org/download/)

  • 创建文件副本 app\assets\stylesheets\github.scss(github.scss 或您喜欢的样式,https://highlightjs.org/static/demo/)。不要忘记导入 @import "github"; 到你的文件 app\assets\stylesheets\application.scss

  • 创建文件app\assets\javascripts\highlights.js,并复制以下代码

如果您正在使用 turbolinks:

$(document).on("turbolinks:load", function() {
  $('pre code').each(function(i, block) {
    hljs.highlightBlock(block);
  });
});

如果您没有使用 turbolinks:

$(document).ready(function() {
  $('pre code').each(function(i, block) {
    hljs.highlightBlock(block);
  });
});

完成了。重新启动服务器。

关于javascript - 如何在 Rails 中使用 highlight.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28574032/

相关文章:

javascript - Reveal.js 中的语法高亮代码如何?

visual-studio-code - 在 Visual Studio Code 中自定义链接/URL 语法突出显示颜色?

javascript - 尝试访问 JavaScript 中的 iframe 时出错

javascript - 间隔显示后 Div 的位置不正确(包括 fiddle )

ruby-on-rails - Rails 中的永久变量

ruby-on-rails - 如何避免在 find 方法中出现 `hardcoding` id?

ruby-on-rails - Nginx + 配置错误

javascript - 如何将每个 'querySelectorAll' 元素提取到 'for of' 循环中的不同变量

javascript - 动态引用 JQUERY 中的子元素

syntax-highlighting - IDE 语法高亮支持 LESS