]> BookStack Code Mirror - bookstack/blob - resources/views/pages/show.blade.php
93387384dbfa51e57c820e1d200c4fbccec45b8a
[bookstack] / resources / views / pages / show.blade.php
1 @extends('base')
2
3 @section('content')
4
5     <div class="faded-small">
6         <div class="container">
7             <div class="row">
8                 <div class="col-md-6 faded">
9                     <div class="breadcrumbs">
10                         <a href="{{$book->getUrl()}}"><i class="zmdi zmdi-book"></i>{{ $book->name }}</a>
11                         @if($page->hasChapter())
12                             <span class="sep">&raquo;</span>
13                             <a href="{{ $page->chapter->getUrl() }}">
14                                 <i class="zmdi zmdi-collection-bookmark"></i>
15                                 {{$page->chapter->name}}
16                             </a>
17                         @endif
18                     </div>
19                 </div>
20                 <div class="col-md-6 faded">
21                     <div class="action-buttons">
22                         @if($currentUser->can('page-update'))
23                             <a href="{{$page->getUrl() . '/revisions'}}" class="text-primary"><i class="zmdi zmdi-replay"></i>Revisions</a>
24                             <a href="{{$page->getUrl() . '/edit'}}" class="text-primary" ><i class="zmdi zmdi-edit"></i>Edit</a>
25                         @endif
26                         @if($currentUser->can('page-delete'))
27                             <a href="{{$page->getUrl() . '/delete'}}" class="text-neg"><i class="zmdi zmdi-delete"></i>Delete</a>
28                         @endif
29                     </div>
30                 </div>
31             </div>
32         </div>
33     </div>
34
35
36     <div class="side-nav faded">
37         <h4>Page Navigation</h4>
38         <ul class="page-nav-list">
39         </ul>
40     </div>
41
42
43     <div class="page-content">
44         @include('pages/page-display')
45         <hr>
46         <p class="text-muted small">
47             Created {{$page->created_at->diffForHumans()}} @if($page->createdBy) by {{$page->createdBy->name}} @endif
48             <br>
49             Last Updated {{$page->updated_at->diffForHumans()}} @if($page->createdBy) by {{$page->updatedBy->name}} @endif
50         </p>
51     </div>
52
53
54     <script>
55         $(document).ready(function() {
56
57             // Set up document navigation
58             var pageNav = $('.page-nav-list');
59             var pageContent = $('.page-content');
60             var headers = pageContent.find('h1, h2, h3, h4, h5, h6');
61             if(headers.length > 5) {
62                 headers.each(function() {
63                     var header = $(this);
64                     var tag = header.prop('tagName');
65                     var listElem = $('<li></li>').addClass('nav-'+tag);
66                     var link = $('<a></a>').text(header.text().trim()).attr('href', '#');
67                     listElem.append(link);
68                     pageNav.append(listElem);
69                     link.click(function(e) {
70                         e.preventDefault();
71                         header.smoothScrollTo();
72                     })
73                 });
74                 $('.side-nav').fadeIn();
75             } else {
76                 $('.side-nav').hide();
77             }
78
79
80             // Set up link hooks
81             var pageId = {{$page->id}};
82             headers.each(function() {
83                 var text = $(this).text().trim();
84                 var link = '/link/' + pageId + '#' + encodeURIComponent(text);
85                 var linkHook = $('<a class="link-hook"><i class="zmdi zmdi-link"></i></a>')
86                         .attr({"data-content": link, href: link, target: '_blank'});
87                 linkHook.click(function(e) {
88                     e.preventDefault();
89                     goToText(text);
90                 });
91                 $(this).append(linkHook);
92             });
93
94             function goToText(text) {
95                 $('.page-content').find(':contains("'+text+'")').smoothScrollTo();
96             }
97
98             if(window.location.hash) {
99                 var text = window.location.hash.replace(/\%20/g, ' ').substr(1);
100                 goToText(text);
101             }
102
103             //$('[data-toggle="popover"]').popover()
104         });
105     </script>
106
107     <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.7/styles/solarized_light.min.css">
108     <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.7/highlight.min.js"></script>
109     <script>
110         window.onload = function() {
111             var aCodes = document.getElementsByTagName('pre');
112             for (var i=0; i < aCodes.length; i++) {
113                 hljs.highlightBlock(aCodes[i]);
114             }
115         };
116     </script>
117 @stop