36 Followers
33 Following
smckinney

Steve McKinney

Currently reading

The Autumn Republic
Brian McClellan
Steve Jobs
Walter Isaacson

Customizing Shelf Sort Order

By default, visitors to your Shelf page will initially see your books sorted by the date they were added, with the most recently added books first.  Want to change the initial sort order for your shelf page, for instance to show your most recently read books first?  Here's how:

 

1. Navigate to your template customization page (Settings -> Blog -> Customize).

 

2. Edit the template html for your Blog page, and add the following to the end of the <head> element, right above the </head> tag:

 

<meta name="select:defaultShelfSortBy:Shelf Sort By" content="Date Read:dater|Date Added:date|Author:author|Title:title|Rating:rating" />

<meta name="select:defaultShelfSortOrder:Shelf Sort Order" content="Descending:desc|Ascending:asc" />

 

3. Save your changes.

 

4. Return to the template customization page, and scroll to the bottom of the settings pane.  You should see two new settings, 'Shelf Sort By' and 'Shelf Sort Order'.  Choose the sort order options your prefer, for instance 'Date Read' and 'Descending' and save the settings.

 

5. Edit the template html for your Blog page, locate the following:

 

{% if blog.isSiteShelf %}
<h3 class="menu-entry">
<a class="set-bradius3" href="{{ navigation.shelf }}">{{ "Shelf"|l }}</a>
</h3>
{% endif %}

and edit it to read:

 

{% if blog.isSiteShelf %}
<h3 class="menu-entry">
<a class="set-bradius3" href="{{ navigation.shelf }}?by={{ customize.defaultShelfSortBy }}&order={{ customize.defaultShelfSortOrder }}">{{ "Shelf"|l }}</a>
</h3>
{% endif %}

6. Save your changes.

 

7. Repeat steps 5 and 6 for your Timeline, Followings/Followers and Page pages.

 

8. Edit the template html for your Shelf page, locate the following:

 

{% if blog.isSiteShelf %}
<h3 class="menu-entry">
<a class="set-bradius3 menu-active" href="{{ navigation.shelf }}">{{ "Shelf"|l }}</a>
</h3>
{% endif %}

and edit it to read:

 

{% if blog.isSiteShelf %}
<h3 class="menu-entry">
<a class="set-bradius3 menu-active" href="{{ navigation.shelf }}?by={{ customize.defaultShelfSortBy }}&order={{ customize.defaultShelfSortOrder }}">{{ "Shelf"|l }}</a>
</h3>
{% endif %}

9. Save your changes.

 

And you're done!  Visitors to your shelf page will see your books initially sorted in the order you've chosen.  If you want to change the order, you can now do so via the 'Shelf Sort By' and 'Shelf Sort Order' settings on your template customization page.