0

Docpad では、次のコード (Query-Engine ヘルパーとecoを使用) は、ディレクトリ ツリーからファイル名のリストを取得し、それらの URL を配列に追加します。

<% images = []; %>
<% for file in @getFilesAtPath({relativeOutDirPath: 'images/'}).toJSON() : %>
    <% images.push(file.url) %>
<% end %>

クエリをファイルのサブセット、たとえば PNG のみに制限するにはどうすればよいですか?

4

1 に答える 1

1

他の質問に対する私の回答で述べたように、Docpadのクエリツールでどのメソッドを呼び出すことができますか?

クエリによって返されたオブジェクトには、表示できない追加の既定のメタデータが含まれています。ここhttp://docpad.org/docs/meta-dataでわかるように、メタデータの 1 つは「拡張子」です。したがって、次のような条件でクエリを実行できます。

extension:'png'

したがって、コードは次のようになります (検索条件を設定できるようにする findAll 部分に注意してください)。

<% images = []; %>
<% for file in @getFilesAtPath({relativeOutDirPath: 'images/'}).findAll(extension:'png').toJSON() : %>
    <% images.push(file.url) %>
<% end %>

または、すべてのファイルを返し、さまざまな拡張子でさまざまなアクションをトリガーする場合は、次のことができます。

<% images = []; %>
<% for file in @getFilesAtPath(relativeOutDirPath: 'images/').toJSON() : %>
    <% if file.extension is 'png' : %>
        <% images.push(file.url) %>
    <% end %>
<% end %>
于 2014-09-21T17:13:24.217 に答える