【问题标题】:How to set code syntax highlight using angular-marked如何使用 angular-marked 设置代码语法高亮
【发布时间】:2016-09-01 12:52:48
【问题描述】:
我在我的网站中使用angular-marked。我想在降价中突出显示代码。当我在项目中使用代码时,我阅读了 set default options optional 部分中的自述文档
markedProvider.setOptions({
gfm: true,
tables: true,
highlight: function (code) {
return hljs.highlightAuto(code).value;
}
});
根据Highlight.js doc,我添加了 highlight.js 和 .css 引用
但 Jshint 抱怨 'hljs' 未定义。请帮助我,如何解决这个问题?
【问题讨论】:
标签:
angularjs
highlight.js
【解决方案1】:
您是否在 setOptions 之前包含了突出显示的 js 文件?
这是我的代码(使用 requirejs 和 angularAMD)
define([
'app',
'hljs',
'services/srv.post',
'angular-marked'
], function (app, hljs) {
app.config(['markedProvider', function(markedProvider) {
markedProvider.setOptions({
gfm: true,
tables: true,
highlight: function (code, lang, callback) {
return hljs.highlightAuto(code).value;
}
});
}]);
});
【解决方案2】:
我相信在你添加 highlight.js 之后,hljs 已经被导入了。您遇到的问题是 jshint 检测到 hljs 未在当前文件中定义,但在浏览器加载每个脚本后,hljs 将可用。您可以通过添加在 jshintrc 中抑制此警报
"globals": {
"hdls": false,
}