mirror of
https://github.com/janeczku/calibre-web
synced 2024-12-26 18:10:30 +00:00
d0fd1a4601
Fix for new users created Fix for options to the calibre-converter Only the first 300 chars are logged for the emailbody (spamming of logfile is prevented) Added class to "Random" header
95 lines
3.6 KiB
HTML
Executable File
95 lines
3.6 KiB
HTML
Executable File
{% extends "layout.html" %}
|
|
{% block body %}
|
|
{% if g.user.show_detail_random() %}
|
|
<div class="discover">
|
|
<h2 class="random-books">{{_('Discover (Random Books)')}}</h2>
|
|
<div class="row">
|
|
|
|
{% for entry in random %}
|
|
<div class="col-sm-3 col-lg-2 col-xs-6 book" id="books_rand">
|
|
<div class="cover">
|
|
<a href="{{ url_for('show_book', book_id=entry.id) }}" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">
|
|
{% if entry.has_cover %}
|
|
<img src="{{ url_for('get_cover', cover_path=entry.path.replace('\\','/')) }}" alt="{{ entry.title }}" />
|
|
{% else %}
|
|
<img src="{{ url_for('static', filename='generic_cover.jpg') }}" alt="{{ entry.title }}" />
|
|
{% endif %}
|
|
</a>
|
|
</div>
|
|
<div class="meta">
|
|
<a href="{{ url_for('show_book', book_id=entry.id) }}" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">
|
|
<p class="title">{{entry.title|shortentitle}}</p>
|
|
</a>
|
|
<p class="author">
|
|
{% for author in entry.authors %}
|
|
<a href="{{url_for('author', book_id=author.id) }}">{{author.name.replace('|',',')|shortentitle(30)}}</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 %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
<div class="discover load-more">
|
|
<h2>{{title}}</h2>
|
|
<div class="row">
|
|
{% if entries[0] %}
|
|
{% for entry in entries %}
|
|
<div class="col-sm-3 col-lg-2 col-xs-6 book" id="books">
|
|
<div class="cover">
|
|
<a href="{{ url_for('show_book', book_id=entry.id) }}" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">
|
|
{% if entry.has_cover %}
|
|
<img src="{{ url_for('get_cover', cover_path=entry.path.replace('\\','/')) }}" alt="{{ entry.title }}"/>
|
|
{% else %}
|
|
<img src="{{ url_for('static', filename='generic_cover.jpg') }}" alt="{{ entry.title }}" />
|
|
{% endif %}
|
|
</a>
|
|
</div>
|
|
<div class="meta">
|
|
<a href="{{ url_for('show_book', book_id=entry.id) }}" data-toggle="modal" data-target="#bookDetailsModal" data-remote="false">
|
|
<p class="title">{{entry.title|shortentitle}}</p>
|
|
</a>
|
|
<p class="author">
|
|
{% for author in entry.authors %}
|
|
<a href="{{url_for('author', book_id=author.id) }}">{{author.name.replace('|',',')|shortentitle(30)}}</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>
|
|
{% endblock %}
|