*/ protected $casts = [ 'id' => 'integer', 'title' => 'string', 'slug' => 'string', 'content_markdown' => 'string', 'content_html' => 'string', ]; public function getLink(): string { return url_to('page', $this->attributes['slug']); } public function setContentMarkdown(string $contentMarkdown): static { $config = [ 'allow_unsafe_links' => false, ]; $environment = new Environment($config); $environment->addExtension(new CommonMarkCoreExtension()); $environment->addExtension(new AutolinkExtension()); $environment->addExtension(new SmartPunctExtension()); $environment->addExtension(new DisallowedRawHtmlExtension()); $converter = new MarkdownConverter($environment); $this->attributes['content_markdown'] = $contentMarkdown; $this->attributes['content_html'] = $converter->convert($contentMarkdown); return $this; } }