@ -5,12 +5,13 @@
< div class = "col-sm-3 col-lg-3 col-xs-5" >
< div class = "col-sm-3 col-lg-3 col-xs-5" >
< div class = "cover" >
< div class = "cover" >
<!-- Always use full - sized image for the detail page -->
<!-- Always use full - sized image for the detail page -->
< img id = "detailcover" title = "{{entry.title}}" src = "{{url_for('web.get_cover', book_id=entry.id, resolution='og', c=entry|last_modified)}}" / >
< img id = "detailcover" title = "{{ entry.title }}"
src="{{ url_for('web.get_cover', book_id=entry.id, resolution='og', c=entry|last_modified) }}"/>
< / div >
< / div >
< / div >
< / div >
< div class = "col-sm-9 col-lg-9 book-meta" >
< div class = "col-sm-9 col-lg-9 book-meta" >
< div class = "btn-toolbar" role = "toolbar" >
< div class = "btn-toolbar" role = "toolbar" >
< div class = "btn-group" role = "group" aria-label = "Download, send to e Reader, reading">
< div class = "btn-group" role = "group" aria-label = "Download, send to E- Reader, reading">
{% if current_user.role_download() %}
{% if current_user.role_download() %}
{% if entry.data|length %}
{% if entry.data|length %}
< div class = "btn-group" role = "group" >
< div class = "btn-group" role = "group" >
@ -19,18 +20,24 @@
{{ _('Download') }} :
{{ _('Download') }} :
< / button >
< / button >
{% for format in entry.data %}
{% for format in entry.data %}
< a href = "{{ url_for('web.download_link', book_id=entry.id, book_format=format.format|lower, anyname=entry.id|string+'.'+format.format|lower) }}" id = "btnGroupDrop1{{format.format|lower}}" class = "btn btn-primary" role = "button" >
< a href = "{{ url_for('web.download_link', book_id=entry.id, book_format=format.format|lower, anyname=entry.id|string+'.'+format.format|lower) }}"
< span class = "glyphicon glyphicon-download" > < / span > {{format.format}} ({{ format.uncompressed_size|filesizeformat }})
id="btnGroupDrop1{{ format.format|lower }}" class="btn btn-primary"
role="button">
< span class = "glyphicon glyphicon-download" > < / span > {{ format.format }}
({{ format.uncompressed_size|filesizeformat }})
< / a >
< / a >
{% endfor %}
{% endfor %}
{% else %}
{% else %}
< button id = "btnGroupDrop1" type = "button" class = "btn btn-primary dropdown-toggle" data-toggle = "dropdown" aria-haspopup = "true" aria-expanded = "false" >
< button id = "btnGroupDrop1" type = "button" class = "btn btn-primary dropdown-toggle"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
< span class = "glyphicon glyphicon-download" > < / span > {{ _('Download') }}
< span class = "glyphicon glyphicon-download" > < / span > {{ _('Download') }}
< span class = "caret" > < / span >
< span class = "caret" > < / span >
< / button >
< / button >
< ul class = "dropdown-menu" aria-labelledby = "btnGroupDrop1" >
< ul class = "dropdown-menu" aria-labelledby = "btnGroupDrop1" >
{% for format in entry.data %}
{% for format in entry.data %}
< li > < a href = "{{ url_for('web.download_link', book_id=entry.id, book_format=format.format|lower, anyname=entry.id|string+'.'+format.format|lower) }}" > {{format.format}} ({{ format.uncompressed_size|filesizeformat }})< / a > < / li >
< li >
< a href = "{{ url_for('web.download_link', book_id=entry.id, book_format=format.format|lower, anyname=entry.id|string+'.'+format.format|lower) }}" > {{ format.format }}
({{ format.uncompressed_size|filesizeformat }})< / a > < / li >
{% endfor %}
{% endfor %}
< / ul >
< / ul >
{% endif %}
{% endif %}
@ -40,16 +47,23 @@
{% if current_user.kindle_mail and entry.email_share_list %}
{% if current_user.kindle_mail and entry.email_share_list %}
< input type = "hidden" name = "csrf_token" value = "{{ csrf_token() }}" >
< input type = "hidden" name = "csrf_token" value = "{{ csrf_token() }}" >
{% if entry.email_share_list.__len__() == 1 %}
{% if entry.email_share_list.__len__() == 1 %}
< div id = "sendbtn" data-action = "{{url_for('web.send_to_ereader', book_id=entry.id, book_format=entry.email_share_list[0]['format'], convert=entry.email_share_list[0]['convert'])}}" data-text = "{{_('Send to eReader')}}" class = "btn btn-primary postAction" role = "button" > < span class = "glyphicon glyphicon-send" > < / span > {{entry.email_share_list[0]['text']}}< / div >
< div class = "btn-group" role = "group" >
< button id = "sendbtn" class = "btn btn-primary sendbtn-form" data-href = "{{url_for('web.send_to_ereader', book_id=entry.id, book_format=entry.email_share_list[0]['format'], convert=entry.email_share_list[0]['convert'])}}" >
< span class = "glyphicon glyphicon-send" > < / span > {{entry.email_share_list[0]['text']}}
< / button >
< / div >
{% else %}
{% else %}
< div class = "btn-group" role = "group" >
< div class = "btn-group" role = "group" >
< button id = "sendbtn2" type = "button" class = "btn btn-primary dropdown-toggle" data-toggle = "dropdown" aria-haspopup = "true" aria-expanded = "false" >
< button id = "sendbtn2" type = "button" class = "btn btn-primary dropdown-toggle"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
< span class = "glyphicon glyphicon-send" > < / span > {{ _('Send to eReader') }}
< span class = "glyphicon glyphicon-send" > < / span > {{ _('Send to eReader') }}
< span class = "caret" > < / span >
< span class = "caret" > < / span >
< / button >
< / button >
< ul class = "dropdown-menu" aria-labelledby = "send-to-ereader" >
< ul class = "dropdown-menu" aria-labelledby = "send-to-ereader" >
{% for format in entry.email_share_list %}
{% for format in entry.email_share_list %}
< li > < a class = "postAction" data-action = "{{url_for('web.send_to_ereader', book_id=entry.id, book_format=format['format'], convert=format['convert'])}}" > {{format['text']}}< / a > < / li >
< li >
< a class = "sendbtn-form" data-href = "{{url_for('web.send_to_ereader', book_id=entry.id, book_format=format['format'], convert=format['convert'])}}" > {{ format['text'] }}< / a >
< / li >
{% endfor %}
{% endfor %}
< / ul >
< / ul >
< / div >
< / div >
@ -58,17 +72,24 @@
{% if entry.reader_list and current_user.role_viewer() %}
{% if entry.reader_list and current_user.role_viewer() %}
< div class = "btn-group" role = "group" >
< div class = "btn-group" role = "group" >
{% if entry.reader_list|length > 1 %}
{% if entry.reader_list|length > 1 %}
< button id = "read-in-browser" type = "button" class = "btn btn-primary dropdown-toggle" data-toggle = "dropdown" aria-haspopup = "true" aria-expanded = "false" >
< button id = "read-in-browser" type = "button" class = "btn btn-primary dropdown-toggle"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
< span class = "glyphicon glyphicon-book" > < / span > {{ _('Read in Browser') }}
< span class = "glyphicon glyphicon-book" > < / span > {{ _('Read in Browser') }}
< span class = "caret" > < / span >
< span class = "caret" > < / span >
< / button >
< / button >
< ul class = "dropdown-menu" aria-labelledby = "read-in-browser" >
< ul class = "dropdown-menu" aria-labelledby = "read-in-browser" >
{% for format in entry.reader_list %}
{% for format in entry.reader_list %}
< li > < a target = "_blank" href = "{{ url_for('web.read_book', book_id=entry.id, book_format=format) }}" > {{format}}< / a > < / li >
< li > < a target = "_blank"
href="{{ url_for('web.read_book', book_id=entry.id, book_format=format) }}">{{ format }}< / a >
< / li >
{% endfor %}
{% endfor %}
< / ul >
< / ul >
{% else %}
{% else %}
< a target = "_blank" href = "{{url_for('web.read_book', book_id=entry.id, book_format=entry.reader_list[0])}}" id = "readbtn" class = "btn btn-primary" role = "button" > < span class = "glyphicon glyphicon-book" > < / span > {{_('Read in Browser')}} - {{entry.reader_list[0]}}< / a >
< a target = "_blank"
href="{{ url_for('web.read_book', book_id=entry.id, book_format=entry.reader_list[0]) }}"
id="readbtn" class="btn btn-primary" role="button">< span
class="glyphicon glyphicon-book">< / span > {{ _('Read in Browser') }}
- {{ entry.reader_list[0] }}< / a >
{% endif %}
{% endif %}
< / div >
< / div >
{% endif %}
{% endif %}
@ -81,14 +102,17 @@
< / button >
< / button >
< ul class = "dropdown-menu" aria-labelledby = "listen-in-browser" >
< ul class = "dropdown-menu" aria-labelledby = "listen-in-browser" >
{% for format in entry.reader_list %}
{% for format in entry.reader_list %}
< li > < a target = "_blank" href = "{{ url_for('web.read_book', book_id=entry.id, book_format=format) }}" > {{format}}< / a > < / li >
< li > < a target = "_blank" href = "{{ url_for('web.read_book', book_id=entry.id, book_format=format) }}" > {{ format }}< / a >
< / li >
{% endfor %}
{% endfor %}
< / ul >
< / ul >
< ul class = "dropdown-menu" aria-labelledby = "listen-in-browser" >
< ul class = "dropdown-menu" aria-labelledby = "listen-in-browser" >
{% for format in entry.data %}
{% for format in entry.data %}
{% if format.format|lower in entry.audio_entries %}
{% if format.format|lower in entry.audio_entries %}
< li > < a target = "_blank" href = "{{ url_for('web.read_book', book_id=entry.id, book_format=format.format|lower) }}" > {{format.format|lower }}< / a > < / li >
< li > < a target = "_blank"
href="{{ url_for('web.read_book', book_id=entry.id, book_format=format.format|lower) }}">{{ format.format|lower }}< / a >
< / li >
{% endif %}
{% endif %}
{% endfor %}
{% endfor %}
< / ul >
< / ul >
@ -130,7 +154,8 @@
{% if entry.languages.__len__() > 0 %}
{% if entry.languages.__len__() > 0 %}
< div class = "languages" >
< div class = "languages" >
< p >
< p >
< span class = "label label-default" > {{_('Language')}}: {% for language in entry.languages %}{{language.language_name}}{% if not loop.last %}, {% endif %}{% endfor %}< / span >
< span class = "label label-default" > {{ _('Language') }}: {% for language in entry.languages %}
{{ language.language_name }}{% if not loop.last %}, {% endif %}{% endfor %}< / span >
< / p >
< / p >
< / div >
< / div >
{% endif %}
{% endif %}
@ -140,7 +165,8 @@
< p >
< p >
< span class = "glyphicon glyphicon-link" > < / span >
< span class = "glyphicon glyphicon-link" > < / span >
{% for identifier in entry.identifiers %}
{% for identifier in entry.identifiers %}
< a href = "{{identifier}}" target = "_blank" class = "btn btn-xs btn-success" role = "button" > {{identifier.format_type()}}< / a >
< a href = "{{ identifier }}" target = "_blank" class = "btn btn-xs btn-success"
role="button">{{ identifier.format_type() }}< / a >
{% endfor %}
{% endfor %}
< / p >
< / p >
< / div >
< / div >
@ -153,7 +179,8 @@
< span class = "glyphicon glyphicon-tags" > < / span >
< span class = "glyphicon glyphicon-tags" > < / span >
{% for tag in entry.tags %}
{% for tag in entry.tags %}
< a href = "{{ url_for('web.books_list', data='category', sort_param='stored', book_id=tag.id) }}" class = "btn btn-xs btn-info" role = "button" > {{tag.name}}< / a >
< a href = "{{ url_for('web.books_list', data='category', sort_param='stored', book_id=tag.id) }}"
class="btn btn-xs btn-info" role="button">{{ tag.name }}< / a >
{% endfor %}
{% endfor %}
< / p >
< / p >
@ -217,20 +244,26 @@
< div class = "custom_columns" >
< div class = "custom_columns" >
< p >
< p >
< form id = "have_read_form" action = "{{ url_for('web.toggle_read', book_id=entry.id)}}" method = "POST" >
< form id = "have_read_form" action = "{{ url_for('web.toggle_read', book_id=entry.id) }}"
method="POST">
< input type = "hidden" name = "csrf_token" value = "{{ csrf_token() }}" >
< input type = "hidden" name = "csrf_token" value = "{{ csrf_token() }}" >
< label class = "block-label" >
< label class = "block-label" >
< input id = "have_read_cb" data-checked = "{{_('Mark As Unread')}}" data-unchecked = "{{_('Mark As Read')}}" type = "checkbox" { % if entry . read_status % } checked { % endif % } >
< input id = "have_read_cb" data-checked = "{{ _('Mark As Unread') }}"
data-unchecked="{{ _('Mark As Read') }}" type="checkbox"
{% if entry.read_status %}checked{% endif %}>
< span > {{ _('Read') }}< / span >
< span > {{ _('Read') }}< / span >
< / label >
< / label >
< / form >
< / form >
< / p >
< / p >
{% if current_user.check_visibility(32768) %}
{% if current_user.check_visibility(32768) %}
< p >
< p >
< form id = "archived_form" action = "{{ url_for('web.toggle_archived', book_id=entry.id)}}" method = "POST" >
< form id = "archived_form" action = "{{ url_for('web.toggle_archived', book_id=entry.id) }}"
method="POST">
< input type = "hidden" name = "csrf_token" value = "{{ csrf_token() }}" >
< input type = "hidden" name = "csrf_token" value = "{{ csrf_token() }}" >
< label class = "block-label" >
< label class = "block-label" >
< input id = "archived_cb" data-checked = "{{_('Restore from archive')}}" data-unchecked = "{{_('Add to archive')}}" type = "checkbox" { % if entry . is_archived % } checked { % endif % } >
< input id = "archived_cb" data-checked = "{{ _('Restore from archive') }}"
data-unchecked="{{ _('Add to archive') }}" type="checkbox"
{% if entry.is_archived %}checked{% endif %}>
< span > {{ _('Archived') }}< / span >
< span > {{ _('Archived') }}< / span >
< / label >
< / label >
< / form >
< / form >
@ -254,7 +287,9 @@
{% if current_user.shelf.all() or g.shelves_access %}
{% if current_user.shelf.all() or g.shelves_access %}
< div id = "shelf-actions" class = "btn-toolbar" role = "toolbar" >
< div id = "shelf-actions" class = "btn-toolbar" role = "toolbar" >
< div class = "btn-group" role = "group" aria-label = "Add to shelves" >
< div class = "btn-group" role = "group" aria-label = "Add to shelves" >
< button id = "add-to-shelf" type = "button" class = "btn btn-primary btn-sm dropdown-toggle" data-toggle = "dropdown" aria-haspopup = "true" aria-expanded = "false" >
< button id = "add-to-shelf" type = "button"
class="btn btn-primary btn-sm dropdown-toggle" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
< span class = "glyphicon glyphicon-list" > < / span > {{ _('Add to shelf') }}
< span class = "glyphicon glyphicon-list" > < / span > {{ _('Add to shelf') }}
< span class = "caret" > < / span >
< span class = "caret" > < / span >
< / button >
< / button >
@ -266,20 +301,23 @@
data-remove-href="{{ url_for('shelf.remove_from_shelf', book_id=entry.id, shelf_id=shelf.id) }}"
data-remove-href="{{ url_for('shelf.remove_from_shelf', book_id=entry.id, shelf_id=shelf.id) }}"
data-shelf-action="add"
data-shelf-action="add"
>
>
{{shelf.name}}{% if shelf.is_public == 1 %} {{_('(Public)')}}{% endif %}
{{ shelf.name }}{% if shelf.is_public == 1 %}
{{ _('(Public)') }}{% endif %}
< / a >
< / a >
< / li >
< / li >
{% endif %}
{% endif %}
{% endfor %}
{% endfor %}
< / ul >
< / ul >
< / div >
< / div >
< div id = "remove-from-shelves" class = "btn-group" role = "group" aria-label = "Remove from shelves" >
< div id = "remove-from-shelves" class = "btn-group" role = "group"
aria-label="Remove from shelves">
{% if books_shelfs %}
{% if books_shelfs %}
{% for shelf in g.shelves_access %}
{% for shelf in g.shelves_access %}
{% if shelf.id in books_shelfs %}
{% if shelf.id in books_shelfs %}
< a data-href = "{{ url_for('shelf.remove_from_shelf', book_id=entry.id, shelf_id=shelf.id) }}"
< a data-href = "{{ url_for('shelf.remove_from_shelf', book_id=entry.id, shelf_id=shelf.id) }}"
data-add-href="{{ url_for('shelf.add_to_shelf', book_id=entry.id, shelf_id=shelf.id) }}"
data-add-href="{{ url_for('shelf.add_to_shelf', book_id=entry.id, shelf_id=shelf.id) }}"
class="btn btn-sm btn-default" role="button" data-shelf-action="remove"
class="btn btn-sm btn-default" role="button"
data-shelf-action="remove"
>
>
< span { % if not shelf . is_public or current_user . role_edit_shelfs ( ) % }
< span { % if not shelf . is_public or current_user . role_edit_shelfs ( ) % }
class="glyphicon glyphicon-remove"
class="glyphicon glyphicon-remove"
@ -297,12 +335,13 @@
{% if current_user.role_edit() %}
{% if current_user.role_edit() %}
< div class = "btn-toolbar" role = "toolbar" >
< div class = "btn-toolbar" role = "toolbar" >
< div class = "btn-group" role = "group" aria-label = "Edit/Delete book" >
< div class = "btn-group" role = "group" aria-label = "Edit/Delete book" >
< a href = "{{ url_for('edit-book.show_edit_book', book_id=entry.id) }}" class = "btn btn-sm btn-primary" id = "edit_book" role = "button" > < span class = "glyphicon glyphicon-edit" > < / span > {{_('Edit Metadata')}}< / a >
< a href = "{{ url_for('edit-book.show_edit_book', book_id=entry.id) }}"
class="btn btn-sm btn-primary" id="edit_book" role="button">< span
class="glyphicon glyphicon-edit">< / span > {{ _('Edit Metadata') }}< / a >
< / div >
< / div >
< / div >
< / div >
{% endif %}
{% endif %}
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
@ -317,10 +356,15 @@
< / li >
< / li >
< / script >
< / script >
< script type = "text/template" id = "template-shelf-remove" >
< script type = "text/template" id = "template-shelf-remove" >
< a data-href = "<%= remove %>" data-add-href = "<%= add %>" class = "btn btn-sm btn-default" data-shelf-action = "remove" >
< a data-href = "<%= remove %>" data-add-href = "<%= add %>" class = "btn btn-sm btn-default"
data-shelf-action="remove">
< span class = "glyphicon glyphicon-remove" > < / span > < %= content %>
< span class = "glyphicon glyphicon-remove" > < / span > < %= content %>
< / a >
< / a >
< / script >
< / script >
< script src = "{{ url_for('static', filename='js/details.js') }}" > < / script >
< script src = "{{ url_for('static', filename='js/details.js') }}" > < / script >
< script src = "{{ url_for('static', filename='js/fullscreen.js') }}" > < / script >
< script src = "{{ url_for('static', filename='js/fullscreen.js') }}" > < / script >
< script type = "text/javascript" >
< / script >
{% endblock %}
{% endblock %}