問題タブ [assemble]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 部分的なハッシュ引数を持つカスタム ハンドルバー ヘルパー
カスタム ハンドルバー ヘルパーを作成しようとしていますが、「ベース テンプレート」と「部分」を渡すことができるようにしたいと考えています。
したがって、基本テンプレートをレンダリングしてから、2 番目のパラメーターとして渡されたパーシャルをレンダリングする必要があります。
私は今、次のものを持っています:
};
そして今、私はヘルパーを次のように使用しています:
私は今少し立ち往生しています。現時点では、基本テンプレートまたは部分テンプレートのいずれかをレンダリングする方法しかわかりません。または、基本テンプレートをレンダリングしますが、部分テンプレートのコンテキストを使用します (yaml フォントの問題です)。パーシャルで定義されたコンテキストを使用して、パーシャルのコンテンツがその内部でレンダリングされます。
そのように(基本テンプレート):
部分的:
前もって感謝します!ダン
gruntjs - アセンブル: 動的または条件付きパーシャル
現在、Assemble を使用してハンドルバーを介して静的 HTML ファイルを作成しています。
以下に default.hbs を定義しました。
このレイアウトは、ホームページを除いてプロジェクト全体で使用されます。私が回避しようとしている「落とし穴」は、sidebar.hbs
パーシャルがサイドバーに異なるコンテンツ/リンクを持つことです。基本的に、サイドバーについて変更されるのは in のコンテンツだけです。
参照用の Sidebar.hbs:
私が避けようとしているのは、14 の異なるサイドバーdefault.hbs
に置き換えるためだけに複製することです。{{> sidebar}}
handlebars.js - Assemble.io で GET 変数にアクセスする
Assemble.io テンプレート システムと Grunt を使用して Web ページを作成しています。.hbs テンプレート内の GET 変数にアクセスする方法はありますか? 簡単な条件を作成する必要があります。
?debug=1
そして、現在の URL の後の GET パラメータの場合にのみ、この条件を呼び出します。.hbs テンプレートから GET 変数にアクセスすることは可能ですか?
internationalization - assemble-middleware-i18n を使用したカスタム ヘルパー
私はassemble-middleware-i18nのソース コードを読んでいて、<title>{{i18n "title"}}</title>
次のようなものを見ましたHandlebars.registerHelper
。
node.js - 部分的なコンテキストで Assemble のオプション オブジェクトからカスタム ベース URL プロパティにアクセスする
したがって、非常に単純に思えます(ただし、機能させることはできません)。
Gruntfile 内の Assemble のオプション オブジェクトにカスタム プロパティを設定し、YML のパーシャル コンテキストの 1 つからアクセスしたいと考えています。
つまり、プロジェクトにすべてのドキュメントを含むフォルダーが .md-files.. (app/src/documentation) にあるとします。
options オブジェクトでは、次のようなことをしたいと思います:
そして、私のパーシャルの1つで、次のことをしたいと思います:
現在、次のようなエラーが表示されます。
これを機能させる方法について、誰かがヒント/アイデアを与えることができますか?
ボーナス情報: 物事をもう少し複雑にするために、別のパーシャル コンテキスト (カスタム ヘルパーを使用) で {{md jsDoc}} を実際に使用したいと考えています。ここで、他のパーシャル コンテキストにアクセスできます。
私は今持っているコードを示すいくつかの要点を作成しました。
ここにあります:
https://gist.github.com/dgsunesen
- 「sgComponent helper」 - ヘルパーの使用方法を示す
- "Gruntfile" - カスタム ヘルパーの現在のオプションを表示します。
- 「Headings」 - jsDoc オプションにアクセスし、sgComponent.hbs 内でレンダリングする必要があるパーシャル
- "sgComponent.js" - ベース パーシャルとパーシャルを内部でレンダリングするカスタム ヘルパー
- sgComponent.hbs - Headings-partial がレンダリングされるベース パーシャル。
前もって感謝します!ダン
gruntjs - アセンブルで同じファイル名を使用すると、コンパイルされた静的テンプレートが間違っている
相対テンプレートに渡されるデータ オブジェクトに同じファイル名を使用すると、アセンブルで問題が発生します...
まずうなり声のスニペットから:
私のページフォルダーにはindex.hbsがあります
そしてinsurance/index.hbs
また、データフォルダは次のように構成されています。
基本的に、ページごとに 1 つの json があり、json ファイルをテンプレートと一致させたいと考えています。ただし、どちらも「インデックス」と呼ばれるため、テンプレートは間違ったファイルのデータを使用しています。名前insurance/index.hbs
を beinsurance/foo.hbs
に変更insurance/foo.json
し、次のようにすると:
すべて正常に動作しますが、同じファイル名を別のディレクトリに置くだけで使用できるようにする必要があります。
これを修正する方法について途方に暮れています。ガイダンスは非常に適用されます。
A.
handlebars.js - アセンブルを使用して複数のデータ/json ファイルを使用する場合のマスター テンプレートの {{title}} のコンテキスト
単純な静的 Web サイトに assemble.io を使用していますが、{{title}} タグに問題があります。問題の大まかな概要は次のとおりです。
ここに私のlayout.hbsがあります:
データ用の 2 つの json ファイルがあります。
foo1.json
foo2.json
そして、私は2つのページを持っています:
foo1.hbs
foo2.hbs
私のgruntfile.jsスニペット:
「grunt assemble」を実行すると、ページ タイトルが表示されません。{{title}}
これは、layout.hbs を変更した{{foo1.title}}
かのようにコンテキストと関係があると思います{{foo2.title}}
が、このテンプレートを共有しているため、両方のページに同じタイトルが付けられます。
{{title}}
渡されるすべてのjsonファイルに対してinlayout.hbsのコンテキストを機能させるにはどうすればよいですか?
A.
assemble - AssembleでSwigのブロックタグは使えますか?
assemble-swig を使用して、これが私のテンプレートです。
ここに私のページがあります:
結果: ページからのデータは表示されません
テンプレートでタグを使用した場合にのみ{{body}}
、ページのすべてのコンテンツが挿入されますが、block
タグは考慮されません。
gruntjs - それぞれの組み立ての部分的な変更
アセンブルを使い始めたばかりで、現在次のコードがあります。
デフォルト.hbs:
および default.yml:
yml データのレイアウトを使用して、使用するパーシャルを定義するにはどうすればよいですか?
たとえば、yml のレイアウトが double の場合、double.hbs パーシャルをロードする必要があります。これはまったく可能ですか?それとも、私はこれにすべて間違って近づいていますか?
どんな助けでも素晴らしいでしょう!