<!DOCTYPE html>
-<html>
+<html class="@yield('body-class')">
<head>
- <title>BookStack</title>
+ <title>{{ isset($pageTitle) ? $pageTitle . ' | ' : '' }}{{ setting('app-name') }}</title>
- <!-- Meta-->
+ <!-- Meta -->
<meta name="viewport" content="width=device-width">
<meta name="token" content="{{ csrf_token() }}">
+ <meta name="base-url" content="{{ baseUrl('/') }}">
+ <meta charset="utf-8">
<!-- Styles and Fonts -->
- <link rel="stylesheet" href="/css/app.css">
- <link href='//fonts.googleapis.com/css?family=Roboto:400,400italic,500,500italic,700,700italic,300italic,100,300' rel='stylesheet' type='text/css'>
- <link rel="stylesheet" href="/bower/material-design-iconic-font/dist/css/material-design-iconic-font.min.css">
+ <link rel="stylesheet" href="{{ versioned_asset('css/styles.css') }}">
+ <link rel="stylesheet" media="print" href="{{ versioned_asset('css/print-styles.css') }}">
+ <link rel="stylesheet" href="{{ baseUrl('/libs/material-design-iconic-font/css/material-design-iconic-font.min.css') }}">
<!-- Scripts -->
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
- <script src="/bower/bootstrap/dist/js/bootstrap.js"></script>
- <script src="/bower/jquery-sortable/source/js/jquery-sortable.js"></script>
- <script src="/bower/dropzone/dist/min/dropzone.min.js"></script>
- <script src="/bower/vue/dist/vue.min.js"></script>
- <script>
- $.fn.smoothScrollTo = function() {
- if(this.length === 0) return;
- $('body').animate({
- scrollTop: this.offset().top - 60 // Adjust to change final scroll position top margin
- }, 800); // Adjust to change animations speed (ms)
- return this;
- };
- $.expr[":"].contains = $.expr.createPseudo(function(arg) {
- return function( elem ) {
- return $(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
- };
- });
- </script>
+ <script src="{{ baseUrl('/libs/jquery/jquery.min.js?version=2.1.4') }}"></script>
+ <script src="{{ baseUrl('/libs/jquery/jquery-ui.min.js?version=1.11.4') }}"></script>
+ <script src="{{ baseUrl('/translations.js') }}"></script>
@yield('head')
-</head>
-<body>
- @if(Session::has('success'))
- <div class="notification anim pos">
- <i class="zmdi zmdi-mood"></i> <span>{{ Session::get('success') }}</span>
- </div>
- @endif
+ @include('partials/custom-styles')
- @if(Session::has('error'))
- <div class="notification anim neg">
- <i class="zmdi zmdi-alert-circle"></i> <span>{{ Session::get('error') }}</span>
- </div>
+ <!-- Custom user content -->
+ @if(setting('app-custom-head'))
+ {!! setting('app-custom-head') !!}
@endif
+</head>
+<body class="@yield('body-class')" ng-app="bookStack">
+
+ @include('partials/notifications')
<header id="header">
<div class="container">
<div class="row">
- <div class="col-md-4">
- <a href="/" class="logo">{{ Setting::get('app-name', 'BookStack') }}</a>
+ <div class="col-lg-4 col-sm-4" ng-non-bindable>
+ <a href="{{ baseUrl('/') }}" class="logo">
+ @if(setting('app-logo', '') !== 'none')
+ <img class="logo-image" src="{{ setting('app-logo', '') === '' ? baseUrl('/logo.png') : baseUrl(setting('app-logo', '')) }}" alt="Logo">
+ @endif
+ @if (setting('app-name-header'))
+ <span class="logo-text">{{ setting('app-name') }}</span>
+ @endif
+ </a>
</div>
- <div class="col-md-3">
- <div class="search-box text-center" style="display: none">
- <form action="/pages/search/all" id="search-form" method="GET" style="display: none;">
- <input type="text" placeholder="Search all pages..." name="term" id="search-input">
- </form>
- </div>
- <img class="avatar" src="{{Auth::user()->getAvatar(30)}}" alt="{{ Auth::user()->name }}">
- <span class="user-name">
- {{ Auth::user()->name }}
- </span>
+ <div class="col-lg-4 col-sm-3 text-center">
+ <form action="{{ baseUrl('/search/all') }}" method="GET" class="search-box">
+ <input id="header-search-box-input" type="text" name="term" tabindex="2" value="{{ isset($searchTerm) ? $searchTerm : '' }}">
+ <button id="header-search-box-button" type="submit" class="text-button"><i class="zmdi zmdi-search"></i></button>
+ </form>
</div>
- <div class="col-md-5">
- <div class="float right links">
- <a href="/search"><i class="zmdi zmdi-search"></i></a>
- <a href="/books"><i class="zmdi zmdi-book"></i>Books</a>
- <a href="/users"><i class="zmdi zmdi-accounts"></i>Users</a>
- <a href="/logout"><i class="zmdi zmdi-run zmdi-hc-flip-horizontal"></i>Logout</a>
+ <div class="col-lg-4 col-sm-5">
+ <div class="float right">
+ <div class="links text-center">
+ <a href="{{ baseUrl('/books') }}"><i class="zmdi zmdi-book"></i>{{ trans('entities.books') }}</a>
+ @if(isset($currentUser) && userCan('settings-manage'))
+ <a href="{{ baseUrl('/settings') }}"><i class="zmdi zmdi-settings"></i>{{ trans('settings.settings') }}</a>
+ @endif
+ @if(!isset($signedIn) || !$signedIn)
+ <a href="{{ baseUrl('/login') }}"><i class="zmdi zmdi-sign-in"></i>{{ trans('auth.log_in') }}</a>
+ @endif
+ </div>
+ @if(isset($signedIn) && $signedIn)
+ @include('partials._header-dropdown', ['currentUser' => $currentUser])
+ @endif
+
</div>
</div>
</div>
</div>
- {{--@if(isset($book) && isset($current) && !isset($books))--}}
- {{--<div class="book-tree">--}}
- {{--@include('pages/sidebar-tree-list', ['book' => $book])--}}
- {{--</div>--}}
- {{--@endif--}}
- @yield('sidebar')
</header>
- <section id="content">
+ <section id="content" class="block">
@yield('content')
</section>
+ <div id="back-to-top">
+ <div class="inner">
+ <i class="zmdi zmdi-chevron-up"></i> <span>{{ trans('common.back_to_top') }}</span>
+ </div>
+ </div>
@yield('bottom')
- <script>
- $('.notification').click(function() {
- $(this).fadeOut(100);
- });
- </script>
+<script src="{{ versioned_asset('js/common.js') }}"></script>
+@yield('scripts')
</body>
</html>