【问题标题】: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, }

      【讨论】:

        猜你喜欢
        • 2016-07-13
        • 2019-06-13
        • 1970-01-01
        • 2012-09-19
        • 2010-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-22
        相关资源
        最近更新 更多