$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;
+ }
}
<meta name="base-url" content="{{ url('/') }}">
<meta charset="utf-8">
+ <!-- Social Cards Meta -->
+
+ <meta property="og:title" content="{{ isset($pageTitle) ? $pageTitle . ' | ' : '' }}{{ setting('app-name') }}">
+ <meta property="og:url" content="{{ url()->current() }}">
+ @stack('social-meta')
+
+
<!-- Styles and Fonts -->
<link rel="stylesheet" href="{{ versioned_asset('dist/styles.css') }}">
<link rel="stylesheet" media="print" href="{{ versioned_asset('dist/print-styles.css') }}">
option:entity-search:entity-type="book"
@stop
+@push('social-meta')
+ <meta property="og:description" content="{{ Str::words($book->description, 50, '...') }}">
+ <meta property="og:image" content="{{ $book->getBookCover() }}">
+@endpush
+
@section('body')
<div class="mb-s">
option:entity-search:entity-type="chapter"
@stop
+@push('social-meta')
+ <meta property="og:description" content="{{ Str::words($chapter->description, 50, '...') }}">
+ <meta property="og:image" content="{{ $chapter->book->getBookCover() }}">
+@endpush
+
@section('body')
<div class="mb-m print-hidden">
@extends('tri-layout')
+@push('social-meta')
+ <meta property="og:description" content="{{ Str::words($page->html, 50, '...') }}">
+ <meta property="og:image" content="{{ $page->getCoverImage() }}">
+@endpush
+
@section('body')
<div class="mb-m print-hidden">
@extends('tri-layout')
+@push('social-meta')
+ <meta property="og:description" content="{{ Str::words($shelf->description, 50, '...') }}">
+ <meta property="og:image" content="{{ $shelf->getBookCover() }}">
+@endpush
+
@section('body')
<div class="mb-s">