{% extends "base.html" %} {% from "_help.html" import info %} {% from "_icon_btn.html" import icon_button %} {% block title %}Library — Paperful{% endblock %} {% block content %} {% macro collection_line(node) %} {{ node.name }} {{ node.item_count }} {{ node.missing_pdf }} {% endmacro %} {% macro collection_nodes(nodes) %} {% for node in nodes %} {% if node.children %}
{{ collection_line(node) }}
{{ collection_nodes(node.children) }}
{% else %}
{{ collection_line(node) }}
{% endif %} {% endfor %} {% endmacro %}

Library

{{ library_label }} collections. The target icon sets the collection chip in the header — Wanted, Discover, Ask, Index, and Briefs all follow that chip. Missing PDF is how many items in that collection still have no stored file.

{% if error %}
{{ error }}
{% endif %}

Collections

{% if collections_checked_at %}Counted {{ collections_checked_at|int }}{% endif %} {{ info("Item and missing-PDF counts are cached for ten minutes because counting a large library is slow. Refresh after you change the library in Zotero.") }}

Click a name to expand nested collections. Item counts include subcollections. Set scope on the collection you actually want to work on, not only the parent folder; you land on Wanted for that collection.

{% if collection_tree %}
{{ collection_nodes(collection_tree) }}
{% else %}

No collections loaded.

{% endif %}
{% if prefs.collection and library_pagination.total %}

Items in {{ prefs.collection }}

{{ library_pagination.range_start }}–{{ library_pagination.range_end }} of {{ library_pagination.total }} {% if library_pagination.prev_url %} Previous {% endif %} Page {{ library_pagination.page }} / {{ library_pagination.page_count }} {% if library_pagination.next_url %} Next {% endif %}

Items currently in the collection chip. PDF yes means the library already has a stored file. Open Detail for the summary, if one exists.

{% for row in items %} {% endfor %}
Items in {{ prefs.collection }}
TitleYearPDFSummaryDetail
{{ row.title }} {{ row.year or '' }} {% if row.has_pdf %}yes{% else %}no{% endif %} {% if row.has_summary %}yes{% else %}—{% endif %} {{ icon_button('Detail', 'detail', drawer='lib-' ~ row.key) }}
{% elif prefs.collection %}

No items loaded for this collection.

{% else %}

Set a collection chip to list items here.

{% endif %} {% endblock %}