mirror of
https://github.com/janeczku/calibre-web
synced 2024-12-25 09:30:31 +00:00
53c687251e
Uses Goodread's list of author's books, filtering out the books that are already in the user's library. Requires the Goodreads dependency and API information.
111 lines
3.4 KiB
HTML
111 lines
3.4 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="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('show_book', book_id=entry.id) }}">
|
|
{% if entry.has_cover %}
|
|
<img src="{{ url_for('get_cover', cover_path=entry.path.replace('\\','/')) }}" />
|
|
{% else %}
|
|
<img src="{{ url_for('static', filename='generic_cover.jpg') }}" />
|
|
{% endif %}
|
|
</a>
|
|
</div>
|
|
<div class="meta">
|
|
<p class="title">{{entry.title|shortentitle}}</p>
|
|
<p class="author">
|
|
{% for author in entry.authors %}
|
|
<a href="{{url_for('author', book_id=author.id) }}">{{author.name}}</a>
|
|
{% if not loop.last %}
|
|
&
|
|
{% 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|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 %}
|
|
<a href="https://www.goodreads.com/author/show/{{ author.gid }}" target="_blank" rel="noopener">
|
|
{{author.name}}
|
|
</a>
|
|
{% if not loop.last %}
|
|
&
|
|
{% 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 %}
|