Gulp を使用して静的サイトを作成しようとしています。以前のバージョンで書いた概念を翻訳し、それを Gulp を使用して実装する方法という興味深い問題にぶつかりました。
他のファイルを動的にインクルードするファイルがある場合の概念の 1 つです。
---
title: Table of Contents
include:
key: book
value: book-1
---
Introduction.
次に、他のファイルにそのキーがあります。
---
title: Chapter 1
book: book-1
---
It was a dark and stormy night...
... と:
---
title: Chapter 2
book: book-1
---
望ましい最終結果は次のとおりです。
---
title: Table of Contents
include:
key: book
value: book-1
files:
- path: chapters/chapter-01.markdown
title: Chapter 1
book: book-1
- path: chapters/chapter-02.markdown
title: Chapter 2
book: book-1
---
基本的に、ファイルをスキャンし、data
要素を一連の要素としてページに挿入します。含めるカテゴリやタグのすべてを事前に把握しているわけではないため (30 ~ 40 の Git リポジトリをマージしています)、カテゴリごとに 1 つのタスクを作成したくありません。
私が望んでいるのは次のようなものです:
return gulp.src("src/**/*.markdown")
.pipe(magicHappens())
.pipe(gulp.dest("build"));
問題は、ストリームがどのように機能するかのようです。各ファイルは 1 つのパイプから次のパイプへと渡されるため、2 つのメソッドを連鎖させることはできません。要素を挿入するinclude.files
には、すべての入力ファイル (サブディレクトリにもありません) を解析して、どのファイルが含まれているかを確認してから終了する必要があります。
「ストリームを分割」し、最初のものを解析してデータを取得し、2番目のものを最初のものの最後にチェーンし、2番目のものを使用してメソッドから結果を渡す必要があるようです。それを行う方法が完全にはわかりません。いくつかの指針や提案が欲しいです。私のグーグルフーは、私が再編成した良い提案やヒントさえも思いつきませんでした。ありがとうございました。