parseMarkup(); } /** * Returns a default value for parsedMarkup attribute. * @return string */ public function getParsedMarkupAttribute() { if (array_key_exists('parsedMarkup', $this->attributes)) { return $this->attributes['parsedMarkup']; } return $this->attributes['parsedMarkup'] = $this->parseMarkup(); } /** * Parses the content markup according to the file type. * @return string */ public function parseMarkup() { $extension = strtolower(File::extension($this->fileName)); switch ($extension) { case 'txt': $result = htmlspecialchars($this->markup); break; case 'md': $result = Markdown::parse($this->markup); break; default: $result = $this->markup; } return $result; } }