jro*_*jro 3 javascript syntax-highlighting ruby-on-rails
我试图在我的 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>
Run Code Online (Sandbox Code Playgroud)
我不确定上面三个应该放在哪里。我已经尝试了几种可能性。大概三个中的第一个,<link rel ...>,应该放在views/application/application.html.erb的头部。而且我认为这三个中的第二个 < script src=... > 应该放在包含将突出显示的代码的文件的底部。我认为这三个中的第三个 <script ... > 应该放在 application.js 文件中。无论如何,我已经尝试了这个和其他几种可能性,但是我一直无法在 Ruby 中突出显示所需的代码。
小智 5
为我工作..
创建一个文件副本 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);
});
});
Run Code Online (Sandbox Code Playgroud)
如果您没有使用 turbolinks:
$(document).ready(function() {
$('pre code').each(function(i, block) {
hljs.highlightBlock(block);
});
});
Run Code Online (Sandbox Code Playgroud)
并做了。重新启动您的服务器。