]> BookStack Code Mirror - bookstack/blob - resources/views/layouts/base.blade.php
Initial Draft
[bookstack] / resources / views / layouts / base.blade.php
1 <!DOCTYPE html>
2 <html lang="{{ config('app.lang') }}"
3       dir="{{ config('app.rtl') ? 'rtl' : 'ltr' }}"
4       class="{{ setting()->getForCurrentUser('dark-mode-enabled') ? 'dark-mode ' : '' }}">
5 <head>
6     <title>{{ isset($pageTitle) ? $pageTitle . ' | ' : '' }}{{ setting('app-name') }}</title>
7
8     <!-- Meta -->
9     <meta charset="utf-8">
10     <meta name="viewport" content="width=device-width">
11     <meta name="token" content="{{ csrf_token() }}">
12     <meta name="base-url" content="{{ url('/') }}">
13     <meta name="theme-color" content="{{ setting('app-color') }}"/>
14
15     <!-- Social Cards Meta -->
16     <meta property="og:title" content="{{ isset($pageTitle) ? $pageTitle . ' | ' : '' }}{{ setting('app-name') }}">
17     <meta property="og:url" content="{{ url()->current() }}">
18     @stack('social-meta')
19
20     <!-- Styles and Fonts -->
21     <link rel="stylesheet" href="{{ versioned_asset('dist/styles.css') }}">
22     <link rel="stylesheet" media="print" href="{{ versioned_asset('dist/print-styles.css') }}">
23
24     <!-- Icons -->
25     <link rel="icon" type="image/png" sizes="256x256" href="{{ setting('app-icon') ?: url('/icon.png') }}">
26     <link rel="icon" type="image/png" sizes="180x180" href="{{ setting('app-icon-180') ?: url('/icon-180.png') }}">
27     <link rel="apple-touch-icon" sizes="180x180" href="{{ setting('app-icon-180') ?: url('/icon-180.png') }}">
28     <link rel="icon" type="image/png" sizes="128x128" href="{{ setting('app-icon-128') ?: url('/icon-128.png') }}">
29     <link rel="icon" type="image/png" sizes="64x64" href="{{ setting('app-icon-64') ?: url('/icon-64.png') }}">
30     <link rel="icon" type="image/png" sizes="32x32" href="{{ setting('app-icon-32') ?: url('/icon-32.png') }}">
31
32     <!-- PWA -->
33     <link rel="manifest" href="{{ url('/manifest.json') }}" />
34     <meta name="mobile-web-app-capable" content="yes" /> 
35
36     @yield('head')
37
38     <!-- Custom Styles & Head Content -->
39     @include('common.custom-styles')
40     @include('common.custom-head')
41
42     @stack('head')
43
44     <!-- Translations for JS -->
45     @stack('translations')
46 </head>
47 <body
48     @if(setting()->getForCurrentUser('ui-shortcuts-enabled', false))
49         component="shortcuts"
50         option:shortcuts:key-map="{{ \BookStack\Settings\UserShortcutMap::fromUserPreferences()->toJson() }}"
51     @endif
52       class="@stack('body-class')">
53
54     @include('layouts.parts.base-body-start')
55     @include('common.skip-to-content')
56     @include('common.notifications')
57     @include('common.header')
58
59     <div id="content" components="@yield('content-components')" class="block">
60         @yield('content')
61     </div>
62
63     @include('common.footer')
64
65     <div component="back-to-top" class="back-to-top print-hidden">
66         <div class="inner">
67             @icon('chevron-up') <span>{{ trans('common.back_to_top') }}</span>
68         </div>
69     </div>
70
71     @yield('bottom')
72     <script src="{{ versioned_asset('dist/app.js') }}" nonce="{{ $cspNonce }}"></script>
73     @yield('scripts')
74
75     @include('layouts.parts.base-body-end')
76 </body>
77 </html>