mirror of
https://github.com/janeczku/calibre-web
synced 2024-12-26 01:50:31 +00:00
bbf6d9b026
Bugfix for feeds - removed categories related and up - load new books now working - category random now working login page is free of non accessible elements boolean custom column is vivible in UI books with only with certain languages can be shown book shelfs can be deleted from UI Anonymous user view is more resticted Added browse of series in sidebar Dependencys in vendor folder are updated to newer versions (licencs files are now present) Bugfix editing Authors names Made upload on windows working
182 lines
9.3 KiB
HTML
182 lines
9.3 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>calibre web | {{title}}</title>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
|
|
<!-- Bootstrap -->
|
|
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
|
|
<link href="{{ url_for('static', filename='css/bootstrap.min.css') }}" rel="stylesheet" media="screen">
|
|
<link href="{{ url_for('static', filename='css/style.css') }}" rel="stylesheet" media="screen">
|
|
|
|
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
|
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
|
<!--[if lt IE 9]>
|
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
|
<![endif]-->
|
|
|
|
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
|
|
<script src="https://code.jquery.com/jquery.js"></script>
|
|
<!-- Include all compiled plugins (below), or include individual files as needed -->
|
|
<script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script>
|
|
<script src="{{ url_for('static', filename='js/underscore.min.js') }}"></script>
|
|
<script src="{{ url_for('static', filename='js/intention.js') }}"></script>
|
|
<script src="{{ url_for('static', filename='js/context.js') }}"></script>
|
|
<script src="{{ url_for('static', filename='js/plugins.js') }}"></script>
|
|
<script src="{{ url_for('static', filename='js/main.js') }}"></script>
|
|
{% block header %}{% endblock %}
|
|
</head>
|
|
<body>
|
|
<script>
|
|
$(document).ready(function(){
|
|
$("#btn-upload").change(function() {
|
|
$("#form-upload").submit();
|
|
});
|
|
});
|
|
</script>
|
|
<!-- Static navbar -->
|
|
<div class="navbar navbar-default navbar-static-top" role="navigation">
|
|
<div class="container-fluid">
|
|
<div class="navbar-header">
|
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
|
<span class="sr-only">{{_('Toggle navigation')}}</span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
<a class="navbar-brand" href="{{url_for('index')}}">Calibre Web</a>
|
|
</div>
|
|
<div class="navbar-collapse collapse">
|
|
{% if g.user.is_authenticated or g.user.is_anonymous() %}
|
|
<ul class="nav navbar-nav ">
|
|
<li>
|
|
<form class="navbar-form navbar-left" role="search" action="{{url_for('search')}}" method="GET">
|
|
<div class="form-group">
|
|
<input type="text" class="form-control" name="query" placeholder="{{_('Search')}}">
|
|
</div>
|
|
<button type="submit" class="btn btn-default">{{_('Go!')}}</button>
|
|
</form>
|
|
</li>
|
|
<li><a href="{{url_for('advanced_search')}}"><span class="glyphicon glyphicon-search"></span> {{_('Advanced Search')}}</a></li>
|
|
</ul>
|
|
{% endif %}
|
|
<ul class="nav navbar-nav navbar-right" id="main-nav">
|
|
{% if g.user.is_authenticated or g.user.is_anonymous() %}
|
|
{% if g.user.role_upload() or g.user.role_admin()%}
|
|
{% if g.allow_upload %}
|
|
<li>
|
|
<form id="form-upload" class="navbar-form" action="{{ url_for('upload') }}" method="post" enctype="multipart/form-data">
|
|
<div class="form-group">
|
|
<span class="btn btn-default btn-file">{{_('Upload')}} <input id="btn-upload" name="btn-upload" type="file"></span>
|
|
</div>
|
|
</form>
|
|
</li>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% if g.user.role_admin() %}
|
|
<li><a href="{{url_for('user_list')}}"><span class="glyphicon glyphicon-dashboard"></span> {{_('Admin')}}</a></li>
|
|
{% endif %}
|
|
<li><a href="{{url_for('profile')}}"><span class="glyphicon glyphicon-user"></span> {{g.user.nickname}}</a></li>
|
|
{% if not g.user.is_anonymous() %}
|
|
<li><a href="{{url_for('logout', next='%s%s' % (request.script_root, request.path))}}"><span class="glyphicon glyphicon-log-out"></span> {{_('Logout')}}</a></li>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% if g.allow_registration and not g.user.is_authenticated %}
|
|
<li><a href="{{url_for('login', next='%s%s' % (request.script_root, request.path))}}"><span class="glyphicon glyphicon-log-in"></span> {{_('Login')}}</a></li>
|
|
<li><a href="{{url_for('register')}}"><span class="glyphicon glyphicon-user"></span> {{_('Register')}}</a></li>
|
|
{% endif %}
|
|
</ul>
|
|
</div><!--/.nav-collapse -->
|
|
</div>
|
|
</div>
|
|
{% for message in get_flashed_messages(with_categories=True) %}
|
|
{%if message[0] == "error" %}
|
|
<div class="row-fluid" style="margin-top: -20px; text-align: center;">
|
|
<div class="alert alert-danger">{{ message[1] }}</div>
|
|
</div>
|
|
{%endif%}
|
|
{%if message[0] == "info" %}
|
|
<div class="row-fluid" style="margin-top: -20px; text-align: center;">
|
|
<div class="alert alert-info">{{ message[1] }}</div>
|
|
</div>
|
|
{%endif%}
|
|
{%if message[0] == "success" %}
|
|
<div class="row-fluid" style="margin-top: -20px; text-align: center;">
|
|
<div class="alert alert-success">{{ message[1] }}</div>
|
|
</div>
|
|
{%endif%}
|
|
{% endfor %}
|
|
<div class="container-fluid">
|
|
<div class="row-fluid">
|
|
{% if g.user.is_authenticated or g.user.is_anonymous() %}
|
|
<div class="col-sm-2">
|
|
<nav class="navigation">
|
|
<ul class="list-unstyled" id="scnd-nav" intent in-standard-append="nav.navigation" in-mobile-after="#main-nav" in-mobile-class="nav navbar-nav">
|
|
<li class="nav-head hidden-xs">{{_('Browse')}}</li>
|
|
<li><a href="{{url_for('index')}}"><span class="glyphicon glyphicon-book"></span> {{_('New Books')}}</a></li>
|
|
{% if g.user.show_hot_books() %}
|
|
<li><a href="{{url_for('hot_books')}}"><span class="glyphicon glyphicon-fire"></span> {{_('Hot Books')}}</a></li>
|
|
{%endif%}
|
|
{% if g.user.show_random_books() %}
|
|
<li><a href="{{url_for('discover')}}"><span class="glyphicon glyphicon-random"></span> {{_('Discover')}}</a></li>
|
|
{%endif%}
|
|
{% if g.user.show_category() %}
|
|
<li><a href="{{url_for('category_list')}}"><span class="glyphicon glyphicon-inbox"></span> {{_('Categories')}}</a></li>
|
|
{%endif%}
|
|
{% if g.user.show_series() %}
|
|
<li><a href="{{url_for('series_list')}}"><span class="glyphicon glyphicon-bookmark"></span> {{_('Series')}}</a></li>
|
|
{%endif%}
|
|
<li><a href="{{url_for('author_list')}}"><span class="glyphicon glyphicon-user"></span> {{_('Authors')}}</a></li>
|
|
{% if g.user.filter_language() == 'all' and g.user.show_language() %}
|
|
<li><a href="{{url_for('language_overview')}}"><span class="glyphicon glyphicon-flag"></span> {{_('Languages')}} </a></li>
|
|
{%endif%}
|
|
{% if g.user.is_authenticated or g.user.is_anonymous() %}
|
|
<li class="nav-head hidden-xs">{{_('Public Shelves')}}</li>
|
|
{% for shelf in g.public_shelfes %}
|
|
<li><a href="{{url_for('show_shelf', shelf_id=shelf.id)}}"><span class="glyphicon glyphicon-list"></span> {{shelf.name}}</a></li>
|
|
{% endfor %}
|
|
<li class="nav-head hidden-xs">{{_('Your Shelves')}}</li>
|
|
{% for shelf in g.user.shelf %}
|
|
<li><a href="{{url_for('show_shelf', shelf_id=shelf.id)}}"><span class="glyphicon glyphicon-list"></span> {{shelf.name}}</a></li>
|
|
{% endfor %}
|
|
{% if not g.user.is_anonymous() %}
|
|
<li class="create-shelf"><a href="{{url_for('create_shelf')}}">{{_('Create a Shelf')}}</a></li>
|
|
{% endif %}
|
|
{% endif %}
|
|
<li><a href="{{url_for('stats')}}"><span class="glyphicon glyphicon-info-sign"></span> {{_('About')}}</a></li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
{% endif %}
|
|
<div class="col-sm-10">
|
|
{% block body %}{% endblock %}
|
|
{% if pagination %}
|
|
<div class="pagination">
|
|
{%- for page in pagination.iter_pages() %}
|
|
{% if page %}
|
|
{% if page != pagination.page %}
|
|
<a href="{{ url_for_other_page(page) }}">{{ page }}</a>
|
|
{% else %}
|
|
<strong>{{ page }}</strong>
|
|
{% endif %}
|
|
{% else %}
|
|
<span class="ellipsis">…</span>
|
|
{% endif %}
|
|
{%- endfor %}
|
|
{% if pagination.has_next %}
|
|
<a class="next" href="{{ url_for_other_page(pagination.page + 1)
|
|
}}">Next »</a>
|
|
{% endif %}
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% block js %}{% endblock %}
|
|
</body>
|
|
</html>
|