$def with (doc, decorations=None, cta=True, availability=None, extra=None, attrs=None, rating=None, reading_log=None) $code: max_rendered_authors = 9 doc_type = ( 'infogami_work' if doc.get('type', {}).get('key') == '/type/work' else 'infogami_edition' if doc.get('type', {}).get('key') == '/type/edition' else 'solr_work' ) book_url = doc.url() if doc_type.startswith('infogami_') else doc.key book_provider = get_book_provider(doc) if book_provider and doc_type.endswith('_work'): work_edition_url = book_url + '?edition=' + urlquote(book_provider.get_best_identifier_slug(doc)) else: work_edition_url = book_url edition_work = None if doc_type == 'infogami_edition' and 'works' in doc: edition_work = doc['works'][0] full_title = doc.title + (': ' + doc.subtitle if doc.get('subtitle') else '')
  • $ cover = get_cover_url(doc) or "/images/icons/avatar_book-sm.png" $_('Cover of: %(title)s', title=full_title)

    $if doc.get('publish_date'): ($(doc['publish_date']))

    $if doc.get('first_publish_year'): $_('First published in %(year)s', year=doc.first_publish_year) $if doc.get('edition_count'): $ungettext('1 edition', '%(count)d editions', doc.edition_count, count=doc.edition_count) $if doc.get('languages'): $:ungettext('in 1 language', 'in %(count)d languages', len(doc.languages), count=len(doc.languages), langs=commify_list([get_language_name('/languages/' + lang) for lang in doc.languages])) $if doc.get('ia'): — $_('%s previewable', len(doc.get('ia'))) $if len(doc.get('ia')) > 1: $for x, i in enumerate(doc.get('ia')[1:10]): Cover of edition $i $if extra: $:extra
    $if decorations: $# should show reading log status widget if there is one in decorations, or read, or return, or leave waitlist
    $:decorations
    $if cta: $ doc['availability'] = doc.get('availability', {}) or availability or {} $:macros.LoanStatus(doc, work_key=doc.key)
    $if reading_log: $:reading_log $if rating: $:rating