mirror of
https://github.com/janeczku/calibre-web
synced 2024-12-28 19:10:31 +00:00
406d1c76c9
Refactored and bugfixing show_cover Refactored import of helper in web.py Fix for displaying /me (gettext) throwing error 500 Fix get search results throwing error 500 Fix routing books_list for python2.7 Fix for "me" and "settings" pages Update sidebarview and list view
133 lines
6.0 KiB
HTML
133 lines
6.0 KiB
HTML
{% extends "layout.html" %}
|
|
{% block body %}
|
|
<h2>{{title}}</h2>
|
|
|
|
{% if author is not none %}
|
|
<section class="author-bio">
|
|
{%if author.image_url is not none %}
|
|
<img src="{{author.image_url}}" alt="{{author.name|safe}}" class="author-photo pull-left">
|
|
{% endif %}
|
|
|
|
{%if author.about is not none %}
|
|
<p>{{author.about|safe}}</p>
|
|
{% endif %}
|
|
|
|
- {{_("via")}} <a href="{{author.link}}" class="author-link" target="_blank" rel="noopener">Goodreads</a>
|
|
</section>
|
|
|
|
<div class="clearfix"></div>
|
|
{% endif %}
|
|
|
|
<div class="discover load-more">
|
|
{% if author is not none %}
|
|
<h3>{{_("In Library")}}</h3>
|
|
{% endif %}
|
|
<div class="filterheader hidden-xs hidden-sm">
|
|
<a id="new" class="btn btn-primary" href="{{url_for('web.books_list', data='author', sort='new')}}"><span class="glyphicon glyphicon-sort-by-order"></span></a>
|
|
<a id="old" class="btn btn-primary" href="{{url_for('web.books_list', data='author', sort='old')}}"><span class="glyphicon glyphicon-sort-by-order-alt"></span></a>
|
|
<a id="asc" class="btn btn-primary" href="{{url_for('web.books_list', data='author', sort='abc')}}"><span class="glyphicon glyphicon-font"></span><span class="glyphicon glyphicon-sort-by-alphabet"></span></a>
|
|
<a id="desc" class="btn btn-primary" href="{{url_for('web.books_list', data='author', sort='zyx')}}"><span class="glyphicon glyphicon-font"></span><span class="glyphicon glyphicon-sort-by-alphabet-alt"></span></a>
|
|
<a id="pub_new" class="btn btn-primary" href="{{url_for('web.books_list', data='author', sort='pubnew')}}"><span class="glyphicon glyphicon-calendar"></span><span class="glyphicon glyphicon-sort-by-order"></span></a>
|
|
<a id="pub_old" class="btn btn-primary" href="{{url_for('web.books_list', data='author', sort='pubold')}}"><span class="glyphicon glyphicon-calendar"></span><span class="glyphicon glyphicon-sort-by-order-alt"></span></a>
|
|
<div class="btn-group character" role="group">
|
|
<a id="no_shelf" class="btn btn-primary" href="{{url_for('web.books_list', data='author', sort='pubold')}}"><span class="glyphicon glyphicon-list"></span><b>?</b></a>
|
|
<div id="all" class="btn btn-primary">{{_('All')}}</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
{% if entries[0] %}
|
|
{% for entry in entries %}
|
|
<div id="books" class="col-sm-3 col-lg-2 col-xs-6 book">
|
|
<div class="cover">
|
|
<a href="{{ url_for('web.show_book', book_id=entry.id) }}">
|
|
<img src="{{ url_for('web.get_cover', book_id=entry.id) }}" />
|
|
</a>
|
|
</div>
|
|
<div class="meta">
|
|
<a href="{{ url_for('web.show_book', book_id=entry.id) }}">
|
|
<p class="title">{{entry.title|shortentitle}}</p>
|
|
</a>
|
|
<p class="author">
|
|
{% for author in entry.authors %}
|
|
{% if loop.index > g.config_authors_max and g.config_authors_max != 0 %}
|
|
{% if not loop.first %}
|
|
<span class="author-hidden-divider">&</span>
|
|
{% endif %}
|
|
<a class="author-name author-hidden" href="{{url_for('web.books_list', data='author', sort='new', book_id=author.id) }}">{{author.name.replace('|',',')|shortentitle(30)}}</a>
|
|
{% if loop.last %}
|
|
<a href="#" class="author-expand" data-authors-max="{{g.config_authors_max}}" data-collapse-caption="({{_('reduce')}})">(...)</a>
|
|
{% endif %}
|
|
{% else %}
|
|
{% if not loop.first %}
|
|
<span>&</span>
|
|
{% endif %}
|
|
<a class="author-name" href="{{url_for('web.books_list', data='author', sort='new', book_id=author.id) }}">{{author.name.replace('|',',')|shortentitle(30)}}</a>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</p>
|
|
{% if entry.ratings.__len__() > 0 %}
|
|
<div class="rating">
|
|
{% for number in range((entry.ratings[0].rating/2)|int(2)) %}
|
|
<span class="glyphicon glyphicon-star good"></span>
|
|
{% if loop.last and loop.index < 5 %}
|
|
{% for numer in range(5 - loop.index) %}
|
|
<span class="glyphicon glyphicon-star"></span>
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
{% if other_books %}
|
|
<div class="discover">
|
|
<h3>{{_("More by")}} {{ author.name.replace('|',',')|safe }}</h3>
|
|
<div class="row">
|
|
{% for entry in other_books %}
|
|
<div class="col-sm-3 col-lg-2 col-xs-6 book">
|
|
<div class="cover">
|
|
<a href="https://www.goodreads.com/book/show/{{ entry.gid['#text'] }}" target="_blank" rel="noopener">
|
|
<img src="{{ entry.image_url }}" />
|
|
</a>
|
|
</div>
|
|
<div class="meta">
|
|
<p class="title">{{entry.title|shortentitle}}</p>
|
|
<p class="author">
|
|
{% for author in entry.authors %}
|
|
{% if loop.index > g.config_authors_max and g.config_authors_max != 0 %}
|
|
<a class="author-name author-hidden" href="https://www.goodreads.com/author/show/{{ author.gid }}" target="_blank" rel="noopener">{{author.name.replace('|',',')}}</a>
|
|
{% if loop.last %}
|
|
<a href="#" class="author-expand" data-authors-max="{{g.config_authors_max}}" data-collapse-caption="({{_('reduce')}})">(...)</a>
|
|
{% endif %}
|
|
{% else %}
|
|
<a class="author-name" href="https://www.goodreads.com/author/show/{{ author.gid }}" target="_blank" rel="noopener">{{author.name.replace('|',',')}}</a>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</p>
|
|
<div class="rating">
|
|
{% for number in range((entry.average_rating)|float|round|int(2)) %}
|
|
<span class="glyphicon glyphicon-star good"></span>
|
|
{% if loop.last and loop.index < 5 %}
|
|
{% for numer in range(5 - loop.index) %}
|
|
<span class="glyphicon glyphicon-star"></span>
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
|
|
<a href="{{author.link}}" class="author-link" target="_blank" rel="noopener">
|
|
<img src="{{ url_for('static', filename='img/goodreads.svg') }}" alt="Goodreads">
|
|
</a>
|
|
</div>
|
|
{% endif %}
|
|
{% endblock %}
|