2017-03-27 13 views
0

私は、口髭のためのサポートを使用して、DocFxテンプレートを作成しようとしています。概念的なhtmlファイルを生成するときにtoc.ymlを参照する

プロジェクトルートのtoc.ymlファイルに基づいて、生成されたすべてのHTMLページのnavbarにサイトメニューを生成したいと考えています。

私はデフォルトテンプレートがこれをしていることを知っています。しかし、それは明らかにtoc.ymlをスタンドアロンのhtmlファイルに変換して、それを概念的なhtmlファイルのjavascriptで解析してメニューをロードします。

私は概念的なhtmlファイルを作成する口ひげファイルの中でそれを直接行うことができます。

私はこの部分(toc.tmpl.partial)を作成し、概念的な口ひげファイルの適切な部分でそれを呼んだ!

{{著作権(c)マイクロソフト。全著作権所有。 MITライセンスの下でライセンスされています。残念ながら、{{アイテム}}タグ内の何も発生していない取得し、}。フルライセンス情報のためのプロジェクトのルートにあるLICENSEファイルを参照してください}

<div class="sidenav"> 
    this is sidenav! 
    {{#items}} 
     hello! 
    {{/items}} 
</div> 

しかし。

しかし、私はtoc.tmplで同じコードを使用すると、適切な番号のhelloを持つhtmlファイル!ラインが生成される。

私はDocFxの部分が一緒に働く方法について何か基本的なものを見逃しています。一言で

{{!include(/^styles/.*/)}} 
{{!include(/^fonts/.*/)}} 
{{!include(favicon.ico)}} 
{{!include(logo.svg)}} 
{{!include(search-stopwords.json)}} 
<!DOCTYPE html> 
<!--[if IE]><![endif]--> 
<html> 
    {{>partials/head}} 
    <body data-spy="scroll" data-target="#affix"> 
     {{>partials/navbar}} 
     <div style="position: relative; margin-top: 5px;"> 
      <div class="toc-column" style="position: fixed;"> 
        {{>partials/toc}} 
      </div> 
      <div style="position: fixed; left: 160px;" data-uid="{{uid}}"> 
       {{{rawTitle}}} 
       {{{conceptual}}} 
      </div> 
     </div> 
     {{^_disableFooter}} 
     {{>partials/footer}} 
     {{/_disableFooter}} 
     {{>partials/scripts}} 
    </body> 
</html> 

答えて

0

itemsはの概念モデルでは、TOCのモデルではありません

は、ここに私の単純な概念ファイル・ジェネレータです。あなたは概念的には何も得ませんitems。モデルがどのようなものかを見るにはdocfx --exportRawModelを実行してみてください。

実際には、他のすべてのファイルでTOCのモデルを共有する必要があります。あなたはisSharedhereと言います。あなたのtoc.tmpl.jsに以下のコードを追加します。

exports.getOptions = function (model) { 
    return { 
     isShared: true; 
    }; 
} 

詳しい情報はここで見つけることができます:http://dotnet.github.io/docfx/tutorial/intro_template.html

関連する問題