From: James Geiger Date: Tue, 22 Dec 2020 05:20:13 +0000 (-0600) Subject: Create Open Graph meta tags for book/page/chapter/shelf X-Git-Tag: v21.08~1^2~35^2~3 X-Git-Url: http://source.bookstackapp.com/bookstack/commitdiff_plain/e458411f91e122438275ad3ae37c9ceec13c31f8 Create Open Graph meta tags for book/page/chapter/shelf --- diff --git a/app/Entities/Models/Page.php b/app/Entities/Models/Page.php index 52c64f048..076850e63 100644 --- a/app/Entities/Models/Page.php +++ b/app/Entities/Models/Page.php @@ -126,4 +126,18 @@ class Page extends BookChild $refreshed->html = (new PageContent($refreshed))->render(); return $refreshed; } + + public function getCoverImage(): string + { + $dom = new \DomDocument(); + $dom->loadHTML($this->html); + $images = $dom->getElementsByTagName('img'); + + try { + $cover = $images->length > 0 ? $images[0]->getAttribute('src') : $this->book->getBookCover(); + } catch (Exception $err) { + $cover = $this->book->getBookCover(); + } + return $cover; + } } diff --git a/resources/views/base.blade.php b/resources/views/base.blade.php index a5404a365..e85029573 100644 --- a/resources/views/base.blade.php +++ b/resources/views/base.blade.php @@ -11,6 +11,13 @@ + + + + + @stack('social-meta') + + diff --git a/resources/views/books/show.blade.php b/resources/views/books/show.blade.php index def198bdd..72fa9f777 100644 --- a/resources/views/books/show.blade.php +++ b/resources/views/books/show.blade.php @@ -6,6 +6,11 @@ option:entity-search:entity-type="book" @stop +@push('social-meta') + + +@endpush + @section('body')
diff --git a/resources/views/chapters/show.blade.php b/resources/views/chapters/show.blade.php index db02ebcc4..47fd42fe2 100644 --- a/resources/views/chapters/show.blade.php +++ b/resources/views/chapters/show.blade.php @@ -6,6 +6,11 @@ option:entity-search:entity-type="chapter" @stop +@push('social-meta') + + +@endpush + @section('body')