What is included in a collection?
For any given collection, only items found in the [current target] will be added to the collection by Assemble.
For example, if we wish to render a list of all of the pages in the pages collection, we will only see the pages in the "current target".
If you want to list all of the pages in a target that have a certain tag, such as Test, you could would "wrap" the {{#each tags}}...{{/each}} block around the {{#each pages}}...{{/each}}
              block. Something like this:
{{#each tags}}
  {{#is tag "Test"}}
  <h1>{{tag}}</h1>
  <ul>
    {{#each pages}}
      <li>{{data.title}}</li>
    {{/each}}
  </ul>
  {{/is}}
{{/each}}However, if you also want to sort the pages by say, date, you would instead use {{#withSort pages}}...{{/withSort}} along with a second parameter, in this case date:
{{#each tags}}
  {{#is tag "Test"}}
  <h1>{{tag}}</h1>
  <ul>
    {{#withSort pages data.date}}
      <li>{{data.title}}</li>
    {{/withSort}}
  </ul>
  {{/is}}
{{/each}}Note that you may only use dot notation for sorting, names like a['my.page'] will be interpreted as a.my.page and thus will not work.
Now, if we also want to sort the pages by say, date, we would instead use {{#withSort pages}}...{{/withSort}} along with the second parameter that we wish to sort by, in this case date:
{{#each tags}}
  {{#is tag "foo"}}
  <h1>{{tag}}</h1>
  <ul>
    {{#withSort pages data.date}}
      <li>{{data.title}}</li>
    {{/withSort}}
  </ul>
  {{/is}}
{{/each}}Note that you may only use dot notation for sorting, names like a['my.page'] will be interpreted as a.my.page and thus will not work.
            
Collections options can be configured to sort:
ascending (or alias asc)descending (or alias desc)data contextassemble: {
  options: {
    collections: [
      {
        // the name of the collection 
        title: 'tags',
        // the order in which to sort 
        sortorder: 'desc' 
      }
    ]
  }
}"Pages" collections can also be sorted:
assemble: {
  options: {
    pages: [
      {data: {title: 'Post #1' }, content: '{{md "blog/post1.md"}}' },
      {data: {title: 'Post #2' }, content: '{{md "blog/post2.md"}}' },
    ],
    collections: [
      {
        title: 'pages',
        sortorder: 'desc' 
      }
    ]
  }
}See the template for this page →
Find an error? Let us know →