/help/faq/collections
Type: /type/i18n_page
body: value: **This page is a work in progress!** 

Collections are another way of showcasing books on a theme or subject. While <a href="https://openlibrary.org/lists">lists</a> allow you to add a book from the book's page, <a href="https://openlibrary.org/collections/">collections</a> are created by writing a small bit of code in a new collection-specific page. You must be a librarian to create a collection.

## 1. Check your permissions

**Creating a collection is currently a librarian-only feature,** so your user account will need to have the correct librarian permissions. To find out if you have them, first log into the Open Library site. Then visit the <a href="https://openlibrary.org/collections">Collections page</a> and click on the 'Edit' button. If you can edit the page, click 'cancel' at the bottom. Your account has permissions and you can go on to step two. 

However, if you get a "permissions denied" message, your account doesn't have librarian permissions. To become a librarian, check out our pages about <a href="https://openlibrary.org/volunteer">volunteering</a> and <a href="https://openlibrary.org/librarians">librarianship</a>. 

If you're already contributing and ought to have librarian permissions, please reach out on Slack!  

## 2. Create the new collection page

You'll need to decide on a collection name. For example, Newbery Medal Winners. 

The collection page will also need the collection name in its url. You can use underscores and hyphens, but no spaces. For example, any of these would work: newbery-medal-winners, Newbery-Medal-Winners, Newbery_Medal_Winners. 

Create the new collection page by entering `https://openlibrary.org/collections/[COLLECTION-NAME]?m=edit` in your browser address bar, where `[COLLECTION-NAME]` should be replaced with the hyphenated or underscored name. Choose wisely. You may change the name on the collection page after it’s been created, but you can't change the url.

Some example page urls and names are: 

&bull; https://openlibrary.org/collections/newbery-medal (Newbery Medal Winners) 
&bull; https://openlibrary.org/collections/january (January) 
&bull; https://openlibrary.org/collections/LGBTQ (LGBTQ) 
&bull; https://openlibrary.org/collections/Rainbow_Magic (Rainbow Magic) 
&bull; https://openlibrary.org/collections/Marley-Dias-1000BlackGirlBooks-Library (Marley Dias Library #1000BlackGirlBooks)

## 3. Editing collection pages

Once a collection page has been created, you can edit the page in one of two ways. 

1. On the page, click the `Edit` box in the upper right-hand corner of the white content area. 
2. Or you can add `?m=edit` to the end of the url itself. 

## 3. Link the collection

A new collection should be linked from the <a href="https://openlibrary.org/collections/">Collections</a> page so visitors can find it. You'll need the url and a title. 

On the Collections page, click the `edit` link in the upper right-hand corner of the white content area. Scroll down to the section for your new collection. Add a new line using the url you used 

### 3. Write a brief introduction

Use [markdown](https://openlibrary.org/help/markdown) to add content to the page.

## 4. Add carousels

Reference:

1. <a href="https://github.com/internetarchive/openlibrary/blob/85bc3e69150f4e19edd8e3e6c$# * query (str) -- Any arbitrary Open Library search query, e.g. subject:"Textbooks"8720169dd4dcb7b/openlibrary/macros/QueryCarousel.html#L1">openlibrary/macros/QueryCarousel.html#L1</a>

```
$# Takes following parameters
$# * query (str) -- Any arbitrary Open Library search query, e.g. subject:"Textbooks"
$# * title (str) -- A title to show above the carousel (links to /search?q=query)
$# * sort (str) -- optional sort param defined within work_search.py `work_search`
$# * key (str) -- unique name of the carousel in analytics
$# * limit (int) -- initial number of books to pull
$# * search (bool) -- whether to include search within collection
```

To build a carousel using work IDs, follow this example:

`{{QueryCarousel(title="[TITLE OF CAROUSEL]", query="key:(/works/OL...W OR /works/OL...W OR /works/OL...W OR /works/OL...W OR /works/OL...W)")}}`
[Example page](https://openlibrary.org/collections/read-the-movie).

**Pro tip:**

   A shortcut that can help get a list of the IDs quickly from a list of **works** is:

    a. Go to the list page using Chrome
    b. Open the developer tools console
    c. Run this code: 

    var seeds = await fetch('https://openlibrary.org/people/[USERNAME]/lists/[LIST-ID]/seeds.json')
    .then(r => r.json());
    seeds.entries.map(e => e.url).join(' OR ');  

    d. Copy the list of IDs and paste it into your code.
The items on the list must be works, so be sure to populate the "Use this work" checkbox when adding a work to your list.
    

To build a carousel using a search query, follow these examples:

    {{QueryCarousel('title:"summer"', search=True)}}

    This will return works with the word “summer” in their titles.

    {{QueryCarousel('subject:"summer"', search=True)}}

This will return works with “summer” as a subject tag.
[Example page](https://openlibrary.org/collections/summer).

By default, carousels will only include works that are in the lending library. To include all works use `has_fulltext_only=False`

Example query:  `{{QueryCarousel(title="foo", query="key:(/works/OL73243W OR /works/OL54120W)", has_fulltext_only=False)}}`
m: edit
title: Creating Curated Collections