observers

This commit is contained in:
Alexander Yakovlev 2022-08-09 07:15:55 +07:00
parent 6e958c0ed2
commit 0f2186a50c
Signed by: oreolek
GPG key ID: 8D24103F5EE2A6C0
3 changed files with 50 additions and 1 deletions

View file

@ -0,0 +1,22 @@
<?php
namespace App\Observers;
use App\Models\Page;
use League\CommonMark\CommonMarkConverter;
use Illuminate\Support\Str;
class PageObserver
{
public function saving(Page $page)
{
$markdown = new CommonMarkConverter([
'allow_unsafe_links' => true,
]);
$page->content_html = $markdown->convert($page->content);
$page->excerpt_html = Str::words($page->content_html, config('app.brief_limit'), '…');
if (class_exists('\tidy')) {
$page->excerpt_html = \tidy::repairString($page->excerpt_html);
}
}
}

View file

@ -0,0 +1,22 @@
<?php
namespace App\Observers;
use App\Models\Post;
use League\CommonMark\CommonMarkConverter;
use Illuminate\Support\Str;
class PostObserver
{
public function saving(Post $post)
{
$markdown = new CommonMarkConverter([
'allow_unsafe_links' => true,
]);
$post->content_html = $markdown->convert($post->content);
$post->excerpt_html = Str::words($post->content_html, config('app.brief_limit'), '…');
if (class_exists('\tidy')) {
$post->excerpt_html = \tidy::repairString($post->excerpt_html);
}
}
}

View file

@ -2,6 +2,10 @@
namespace App\Providers;
use App\Models\Post;
use App\Models\Page;
use App\Observers\PostObserver;
use App\Observers\PageObserver;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
@ -13,7 +17,8 @@ class AppServiceProvider extends ServiceProvider
*/
public function register()
{
//
Post::observe(PostObserver::class);
Page::observe(PageObserver::class);
}
/**