2014-12-03 42 views

回答

0

解決方法:

標記爲模塊用於grunt-ngdocsgrunt-ngdocs\node_modules\marked\lib)。 由於grunt-ngdocs使用角自舉-美化(其順便說一句使用谷歌碼-美化),它足以調整,以便產生的<pre class="prettyprint linenums">...</pre>代替<pre>...</pre>標記一點。
因此,在Renderer.prototype.code功能(在我的版本線757),return語句可以改變這樣的:

  • return '<pre class="prettyprint linenums"><code>' ...
  • return '<pre class="prettyprint linenums"><code class="' ...

清潔的解決方案:

ngDocs似乎用<pre class="prettyprint linenums">...</pre>替換所有<pre>..</pre>塊(第266行,第v.2.6節)。因此,我們不是使用降價```代碼```塊,而是直接在文檔中使用<pre>...</pre>塊。

1

我解決了這個利用highlightjsjQuery livequery plugin

我ngdocs在Gruntfile.js部分現在看起來是這樣的:

options: { 
    html5Mode: false, 
    scripts: [ 
    'bower_components/jquery/dist/jquery.js', 
    'js/jquery.livequery.min.js', 
    'angular.js', 
    'js/helpers/ngdocs.js', 
    'bower_components/highlightjs/highlight.pack.js' 
    ], 
    styles: [ 
    'bower_components/highlightjs/styles/atelier-forest.dark.css' 
    ] 

而我的JS /助理/ ngdocs.js看起來是這樣的:

'use strict'; 

/* global $, hljs */ 
$(function() { 
    $('pre code').livequery(
     function() { 
      hljs.highlightBlock(this); 
     }); 

}); 
+0

謝謝。我自己想出了一個與此非常相似的解決方案(除了使用hljs的angularized版本)。然後,通過從grunt-ngdocs中探索ngdoc.js和docs.js,我找到了一個更好的解決方案,我將在一個單獨的答案中進行描述。 – 2014-12-27 14:19:48