Collection Catalogues

Learn how to publish a collection catalogue with Quire

Learn how to publish a collection catalogue with Quire

Along with monographs, edited volumes, and serial publications, Quire is also designed with the publication of collection catalogues in mind. Collection catalogues typically feature a series of pages focused on individual objects. Each page includes images of an object, data about it, and an essay or analysis text. To publish this style of catalogue with Quire, you’ll capture object data, create the object pages, and then, optionally, display a visual grid of the objects.

An example of a typical object entry page one might find in a collection catalogue. The entry includes an image, object data, and essay.

Creating an objects.yaml File

The first step of creating a collection catalogue in Quire is to capture all the data related to your various objects in an objects.yaml file. Similar to how Figure Images are managed with YAML, this data can then be pulled into your Markdown files through the use of an id. The primary way this information gets displayed is as a table of information that accompanies each object in the publication. This table is often referred to as a “tombstone”.

An example of the table of information that accompanies an object in a collection catalogue, typically referred to as a “tombstone“.

There are two steps required when setting up your objects.yaml file. The first step is to create an object_display_order list. This controls not only what information will appear in the tombstone, but also the order in which it appears.

object_display_order:
  - artist
  - title
  - year
  - dimensions
  - medium
  - location

Once you have determined the information you want to display, you then create an object_list. Similar to entries in a figures.yaml file, each entry in this list will reference a different object featured in your publication. The attributes that populate this list should include, but are not limited to, the attributes listed under object_display_order. For example, you may want categorize object types (painting, sculpture, drawing) for use in the filterable object grid but don’t require this information to show up in the object tombstone. In that case, you would leave type out of object_display_order but keep it in your object_list.

object_list:
  - id: cat-1
    artist:
    title:
    year:
    dimensions:
    medium:
    type:
    location:
    link: 
    figure:
      - id: 
  - id: cat-2
    artist:
    title: 
    year:
    dimensions:
    medium:
    type:
    location:
    link: 
    figure: 
      - id: 

The attributes you choose to include for your objects are completely up to you. However, there are some attribute names that are reserved for particular uses. They are id, figure, link, and thumbnail, as detailed below.

Reserved AttributeDescription
idUsed to reference objects listed in objects.yaml in individual Markdown pages.
figureOne or more images related to the object. The id values correspond with ids in your project’s figures.yaml file.
linkA URL to an external page with more/current information on the object, such as a link to an object page on a museum website.
thumbnailA path to a smaller thumbnail image of the object to be displayed on a page with layout: objects-page.

Object id

The object id is used in the page YAML of a .md file to pull in information from the corresponding objects.yaml entry. The only time the id is not required is when the object information is listed directly in the page YAML as explained in Capture Object Data on Entry Page.

  • The id can be anything as long as it starts with a letter, is all lowercase, and uses dashes instead of spaces.

Object Figure

To include one or more images on an object entry page, include a figure id in the object_list that corresponds with an entry in your figures.yaml.

object_list:
  - id: cat-1
    artist:
    title: 
    year:
    dimensions:
    medium:
    location:
    type:
    figure: 
      - id: fig-1-1
      - id: fig-1-2
      - id: fig-1-3

List multiple figure ids to associate more than one image with your object, as in the example above. This will result in a rotating carousel of images on the object entry page. You can also include videos, audio clips, or table figures. If any of the figures have a label, caption and/or credit, that information will be included as an overlay in the carousel.

If the object_list includes a link value, a “View in Collection” button is generated that links to an external URL. The text of this button can be customized with the objectLinkText attribute in your project’s content/_data/config.yaml file.

entryPage:
  objectLinkText: View in Collection

Thumbnail

If you are using Deep Zoom with IIIF and the first figure listed in the objects.yaml entry (for example, fig-1-1) is set to zoom: true in the corresponding figures.yaml entry, Quire will automatically create a thumbnail image for use in an object grid. Otherwise, you can add your own small thumbnail image by using the thumbnail attribute and including a path to that image as the value. The image should be small, approximately 300 pixels wide. When using the thumbnail attribute you must still include the figure id(s) in the object_list.

object_list:
  - id: cat-1
    artist:
    title:
    year:
    dimensions:
    medium:
    location:
    type:
    thumbnail: figures/lange-mother.jpg
    figure: 
      - id: fig-1-1
      - id: fig-1-2
      - id: fig-1-3

Create Object Pages

Like all other pages in your publication, object pages are created as .md files in your content directory. To create an object entry page, add layout: entry and the id that corresponds with your objects.yaml file. Another option is to add the object data directly to the page YAML. If you choose to the latter, do this for all objects in your project and make sure the object_list of your objects.yaml file is empty.

Object data that references objects.yaml file:

---
title:
layout: entry
order:
object:
  - id: cat-1
---

Object data in page YAML:

---
title: 
layout: entry
order:
object:
  - artist:
    year:
    dimensions:
    medium:
    location:
    type:
    figure:
      - id:
---

There are two different ways you can format your object entry pages. Adding presentation: side-by-side to the page YAML will make the figure image and tombstone appear next to each other and presentation: landscape will make the image appear above the tombstone information. You can set a default format for all your entry pages in the content/_data/config.yaml by choosing either true or false for the sideBySide attribute.

layout: entry
presentation: side-by-side
An entry page with scrolling entry text to the right side and a fixed-position image viewer to the left. All entry pages can be made to be in the side-by-side configuration by including sidebySide: true in the config.yaml file of the project.
layout: entry
presentation: landscape (default)
An entry page with entry text below and a nearly full-frame image viewer that supports zooming images, maps and videos.
  • presentation: side-by-side layouts will automatically switch to landscape mode on smaller screens.

Whatever the presentation, you can further organize the content on the page by using Quire’s {% accordion %} shortcode to wrap the individual parts of the object entry into collapsible sections. Read more in the Accordions chapter of this guide.

An entry page using a series of {% accordion %} shortcodes to give readers quicker access to different sections of the content.

Generate Object Grids

  • In order to access this feature in an older, preexisting project, it must be running on quire-11ty@1.0.0-rc.16 or higher. Run the command quire info --debug to see what version of quire-11ty your project is using. If it is an older version, you will need to start a new project by running the command quire new [project-name], or follow our instructions to update your existing project.

In a collection catalogue, there is typically a visual table of contents that unifies all the catalogue entries. In Quire, we call this an object grid. The grid includes a thumbnail of each object accompanied by object data. Each item in the grid hyperlinks to the relevant object page in the catalogue when clicked.

To create an object grid, there are three key steps. Add layout: objects-page to a designated .md file, add an object_card list to your objects.yaml file, and add an object_filters list to your objects.yaml file.

  • As of March 2024, if you use 360 images anywhere within an object entry (either as main image or within the body of the entry) the object grid feature will not work. This is a known bug and one we are working to fix as soon as possible.

Step 1: Add layout: objects-page to a Markdown file

You can add layout: objects-page to the page YAML of any .md file, whether it’s a section landing page created with an index.md file or a regular file in the root directory.

title:
order:
layout: objects-page

No other content needs to be added to this page, unless you want text to appear above the object grid.

Step 2: Add an object_card list to your objects.yaml file

The object grid is comprised of “object cards”. These cards are customizable and will typically include an image and select data about that object. An object card will be added to the object grid for any page that includes the object attribute within the page YAML.

Add object_card to your objects.yaml file along with a list of the attributes from your object_list that you want to populate the card. The object_card list not only controls what information appears on the card, but also the order in which it appears.

An image will not automatically appear on the card. You must include the thumbnail attribute in the object_card list, regardless of whether you are using a thumbnail or a figure id that has the setting zoom: true. For more information about creating a thumbnail for a non-zooming images, see the Thumbnail section above.

object_card:
  - thumbnail
  - artist
  - title
  - year

Step 3: Add an object_filters list to your objects.yaml file

Quire includes the option to make your object grid filterable based on the object attributes of your choosing. Whether you want to take advantage of this feature or not, you must add object_filters field the objects.yaml file.

If you do not want filters for your object grid, include the following line:

object_filters: false

If you do want filters for your object grid, include a list of attributes that match options found in your object_list. It is ok to use attributes that do not appear on the object card or tombstone. Above the object grid, readers will be presented with drop-down menus based on the selected attributes that can be used to filter the object cards.

object_filters:
  - location
  - medium
  - year
  - type

Advanced Options for Filtering Object Grids

There are some additional ways you can manage and organize your object data to improve the filtering experience on the object grid page.

Customize Filter Categories

You can customize the filterable categories by including field and label attributes with values that clarify the specific wording or desired appearance of your text. The field attribute should match the attribute in your object_list and the label is used to customized how this field appears in the drop down menu. While location, medium, and year in the example below will automatically appear capitalized, a value used in the label field will not unless it is written out that way.

object_filters:
  - field: "artist" 
    label: "Name" 
  - location
  - medium
  - year

Organize Filterable Data with Sort

Data for filters needs to be as refined and clean as possible, and it is important to be mindful of how your values are spelled or worded. For example, year: 1993 and year: circa 1993 will create two different filterable values. A solution for this particular issue would be to create a sort_year within your object_list. If you implement sort_year it must be applied to all object entries within the object_list.

object_list:
  - id: 
    artist:
    title: 
    year: "circa 1993"
    sort_year: "1993"
    dimensions:
    medium:
    location:
    type:
    figure: 
      - id: 
object_list:
- id: 
  artist:
  title: 
  year: "1993"
  sort_year: "1993"
  dimensions:
  medium:
  location:
  type:
  figure: 
    - id: 

Then, in the object filter, use the field/label attribute to ensure the data is being filtered by sort_year but displays as year. You can use this for other attributes such as sort_location, etc. If implementing sort_year then make sure not to also include year as a separate attribute in the object_filters list.

object_filters:
  - field: "artist" 
    label: "Name" 
  - field: "sort_year" 
    label: "Year" 
  - location
  - medium

This also applies to capitalization. If the same value is capitalized in one object entry but not in another, it will appear as two separate filterable values.

Create Multiple Filter Values

Any object you are filtering can have multiple values and each would be filterable as long as the data is formatted in the object_list correctly. In the examples below, all three materials (“graphite”, “pastel”, and “paper”) will be added to the Medium dropdown menu. Please note that the values will not be capitalized automatically.

object_list:
  - id: 
    artist:
    title: 
    year: 
    sort_year: 
    dimensions:
    medium: ["Graphite", "Pastel", "Paper"]
    location:
    type:
    figure: 
      - id: 
object_list:
  - id: 
    artist:
    title: 
    year: 
    sort_year: 
    dimensions:
    medium:
      - "Graphite"
      - "Pastel"
      - "Paper"
    location:
    type:
    figure: 
      - id: