問題タブ [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.
html - Grunt プリコンパイル インライン マークダウン
私は、インラインマークダウンをうなり声でプリコンパイルする方法を探していました。マークダウンを選択したのは、単純な書式設定のプレーン テキストを大量に扱っているためですが、JSON (または同様のもの) に完全に反対するわけではないからです。
ここに例があります:私が探しているもの:
さらに良いのは次のようなものです:
マークダウンからテンプレートを作成するつもりはありません。単にテキストを含める方法であり、「grunt build」(または、yeoman の場合は「grunt server」) を使用して html にレンダリング/コンパイルされます。
上記の例は、次のようなものにコンパイルされることを意味します...
各 html ページは異なるため、テンプレートを作成することはできません。コピーを (マークダウン ファイルとして) 受け取っているので、html にマークダウンを「含め」て、それを grunt コンパイルすることができれば素晴らしいと思いました。
解決策を求めてstackoverflowを調べましたが、何も見つかりませんでした(おそらく、検索が間違っています)
また、次のことも調べました。
github.com/evilstreak/markdown-js - 閉じますが、「オンザフライ」で動作しているように見えますが、これは私の目的には不要です。
github.com/chjj/marked - 上記と同じ
github.com/treasonx/grunt-markdown
markdown
-ファイルをhtml
ファイルにコンパイルするだけのようですassemble.io/docs/Markdown.html - アセンブルに本当に期待していましたが、実装方法がわかりませんでした
github.com/wycats/handlebars.js - ハンドルバーはまさに私がインクルードできるようにしたい方法ですが、HTML ファイル内
markdown
を読み取り、それを grunt でレンダリング (事前コンパイル) するにはどうすればよいですか。handlebars
gruntjs - アセンブルで生成されたページのパス
次のようなgrunt-assemble grunt タスク構成に苦労しています。
assemble.io のプロジェクト テンプレートのスキャフォールディングは次のようになります。
私の願いは、次のようなものを手に入れることです:
しかし、代わりに次のようなものが得られます。
私はいくつかの (実際にはたくさんの) 組み合わせを (オプションと同様に と を使って) 試しましたが、flatten
行き詰まりexpand
ましcwd
た。
flatten
has for results を使用して、index.html
ファイルが互いに上書きされるようにします。
そのため、実際にレンダリングを.tmpディレクトリに行ってから、ファイルをビルドディレクトリに移動します。私はその解決策が好きではありませpage.assets
ん.../../..
handlebars.js - アセンブルを使用して動的/プリコンパイル済みハンドルバー テンプレートを混在させる
Grunt と Assemble を使用してサイトにプリコンパイル済みのテンプレートを作成していますが、クライアント側のストレージに保存されている情報に基づいていくつかのセクションを動的に作成する必要があります。テンプレートのセクションをプリコンパイルから除外する方法はありますか?
assemble - JavaScript ファイルを動的に含める
テンプレートにjsファイルを含める直感的な方法は何だろうと思っていました。js ファイルは にsrc/js
あり、テンプレートは にsrc/template/default.hbs
あり、インデックス ファイルはにありますsrc/index.hbs
。src/js/**/*.js
からそれらを表示するために反復できる方法はありsrc/template/default.hbs
ますか?
javascript - 「次の投稿」へのリンクを提供する方法
私が遊んでいるブログプロジェクトには、「投稿」があります。私のGruntfileからのアセンブルブロックは次のとおりです。
各投稿は、次のように YFM のダッシュを付けてマークダウンで表されます。
今、私default.hbs
の中には、標準的なものがあります。簡単な {{inspect page}} を実行して、便利な変数を確認しました。この問題に役立つ情報がいくつかあります。
カスタム ハンドルバー ヘルパーを作成することでこれを処理する方法を考えることができますが、これらの変数が存在することを考えると、この機能は既にどこかに存在しているようです...見つけられません。私が考えている解決策は、不釣り合いに複雑に思えます。
本当にありがとう!
assemble - データファイルとページのマッチング
アセンブル/ボイラープレート サイトをテスト ベッドとして使用しました。http://assemble.io/docs/Data.htmlの例に従って、test.hbs という名前のページと test.yml という名前のデータ ファイルを作成しました。
yaml ファイルには以下が含まれます。
grunt assemble を実行すると、test.html ページが宛先ディレクトリにアセンブルされます。test.hbs にタグ {{title}} が含まれている場合、タイトルはデータ ファイルから追加されませんが、{{test.title}} のタグはデータ ファイルからタイトルを追加します。
ドキュメントページhttp://assemble.io/docs/options-data.htmlに次のように記載されています。
「外部」データ ファイルを使用する場合 (YAML フロント マターに対して)、データ ファイルの名前が関連付けられたテンプレートと同じ場合、Assemble は 2 つのファイルを自動的に関連付けます。
また、レイアウトで {{title}} タグを使用する必要があります。これは、ページの上部で外部データ ファイルではなく YFM を使用する場合に機能します。
外部データ ファイルがページにどのように関連付けられているかを誤解していますか、それとも何か不足していますか?