141 lines
6.9 KiB
HTML
141 lines
6.9 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]-->
|
|
</head>
|
|
<body>
|
|
<!-- 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">
|
|
<ul class="nav navbar-nav ">
|
|
<li>
|
|
<form class="navbar-form navbar-left" role="search" action="/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">Submit</button>
|
|
</form>
|
|
</li>
|
|
</ul>
|
|
<ul class="nav navbar-nav navbar-right" id="main-nav">
|
|
{% if g.user.is_authenticated() %}
|
|
{% if g.user.role %}
|
|
<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>
|
|
<li><a href="{{url_for('logout', next=request.path)}}"><span class="glyphicon glyphicon-log-out"></span> Logout</a></li>
|
|
{% else %}
|
|
<li><a href="{{url_for('login', next=request.path)}}"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
|
|
{% if g.allow_registration %}
|
|
<li><a href="{{url_for('register')}}"><span class="glyphicon glyphicon-user"></span> Register</a></li>
|
|
{% endif %}
|
|
{% 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">
|
|
<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>
|
|
<li><a href="{{url_for('hot_books')}}"><span class="glyphicon glyphicon-fire"></span> Hot Books</a></li>
|
|
<li><a href="{{url_for('discover')}}"><span class="glyphicon glyphicon-random"></span> Discover</a></li>
|
|
<li><a href="{{url_for('category_list')}}"><span class="glyphicon glyphicon-inbox"></span> Categories</a></li>
|
|
<li><a href="{{url_for('author_list')}}"><span class="glyphicon glyphicon-user"></span> Authors</a></li>
|
|
|
|
{% if g.user.is_authenticated() %}
|
|
<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 %}
|
|
<li class="create-shelf"><a href="{{url_for('create_shelf')}}">Create a Shelf</a></li>
|
|
{% endif %}
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
<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>
|
|
<!-- 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>
|
|
</body>
|
|
</html>
|