1

したがって、非常に単純に思えます(ただし、機能させることはできません)。

Gruntfile 内の Assemble のオプション オブジェクトにカスタム プロパティを設定し、YML のパーシャル コンテキストの 1 つからアクセスしたいと考えています。

つまり、プロジェクトにすべてのドキュメントを含むフォルダーが .md-files.. (app/src/documentation) にあるとします。

options オブジェクトでは、次のようなことをしたいと思います:

assemble: {
      options: {
        jsDoc: '<%= yeoman.app %>/src/documentation',
      },

そして、私のパーシャルの1つで、次のことをしたいと思います:

---
title: Headings
status: In progress
tabs:
  - tab: html
  - tab: css
  - tab: js
  - tab: description
  - tab: links
jsDoc: filename.md
---
<!-- Show markdown documentation -->
{{md jsDoc}}

現在、次のようなエラーが表示されます。

Warning: Cannot call method 'indexOf' of undefined Use --force to continue.

これを機能させる方法について、誰かがヒント/アイデアを与えることができますか?

ボーナス情報: 物事をもう少し複雑にするために、別のパーシャル コンテキスト (カスタム ヘルパーを使用) で {{md jsDoc}} を実際に使用したいと考えています。ここで、他のパーシャル コンテキストにアクセスできます。

私は今持っているコードを示すいくつかの要点を作成しました。

ここにあります:

https://gist.github.com/dgsunesen

  • 「sgComponent helper」 - ヘルパーの使用方法を示す
  • "Gruntfile" - カスタム ヘルパーの現在のオプションを表示します。
  • 「Headings」 - jsDoc オプションにアクセスし、sgComponent.hbs 内でレンダリングする必要があるパーシャル
  • "sgComponent.js" - ベース パーシャルとパーシャルを内部でレンダリングするカスタム ヘルパー
  • sgComponent.hbs - Headings-partial がレンダリングされるベース パーシャル。

前もって感謝します!ダン

4

1 に答える 1

0

独自の部分的な内部で部分的な問題のみを使用している場合、それは非常に簡単です...

---
title: Headings
status: In progress
tabs:
  - tab: html
  - tab: css
  - tab: js
  - tab: description
  - tab: links
jsDoc: "<%= jsDoc %>/filename.md"
---
<!-- Show markdown documentation -->
{{md headings.jsDoc}}

lodash テンプレートを使用して、メインjsDocプロパティとパーシャル プロパティを組み合わせることができます。次に、パーシャルの名前に基づいて参照します{{headings.jsDoc}}

jsDocしかし、ヘルパー コードを見ると、 (動的に追加される) 別のパーシャル内に設定してから、ファイル内で使用する必要があるように見えsgComponentます。そのためには、プロセス コンテンツを実行する代わりに、メイン オプションの変数を部分オプションと実際に組み合わせる必要があると思いますjsDoc。lodash でプロセス コンテンツを実行しようとすると、ヘルパーでフロント マターを取得する方法が原因でループに陥ります。

また、エラーがまたはindexofから発生している可能性があるため、パラメーターが適切に渡されていることを確認してください。globyfm

これが役立つことを願っています。

于 2014-07-21T15:34:57.267 に答える