2 <html lang="{{ config('app.lang') }}"
3 dir="{{ config('app.rtl') ? 'rtl' : 'ltr' }}"
4 class="{{ setting()->getForCurrentUser('dark-mode-enabled') ? 'dark-mode ' : '' }}">
6 <title>{{ isset($pageTitle) ? $pageTitle . ' | ' : '' }}{{ setting('app-name') }}</title>
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') }}"/>
15 <!-- Social Cards Meta -->
16 <meta property="og:title" content="{{ isset($pageTitle) ? $pageTitle . ' | ' : '' }}{{ setting('app-name') }}">
17 <meta property="og:url" content="{{ url()->current() }}">
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') }}">
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') }}">
34 <!-- Custom Styles & Head Content -->
35 @include('common.custom-styles')
36 @include('common.custom-head')
40 <!-- Translations for JS -->
41 @stack('translations')
44 @if(setting()->getForCurrentUser('ui-shortcuts-enabled', false))
46 option:shortcuts:key-map="{{ \BookStack\Settings\UserShortcutMap::fromUserPreferences()->toJson() }}"
48 class="@stack('body-class')">
50 @include('layouts.parts.base-body-start')
51 @include('common.skip-to-content')
52 @include('common.notifications')
53 @include('common.header')
55 <div id="content" components="@yield('content-components')" class="block">
59 @include('common.footer')
61 <div component="back-to-top" class="back-to-top print-hidden">
63 @icon('chevron-up') <span>{{ trans('common.back_to_top') }}</span>
68 <script src="{{ versioned_asset('dist/app.js') }}" nonce="{{ $cspNonce }}"></script>
71 @include('layouts.parts.base-body-end')