diff --git a/src/Markdown.php b/src/Markdown.php
index 3b44679..b17bd00 100644
--- a/src/Markdown.php
+++ b/src/Markdown.php
@@ -44,11 +44,15 @@ public function __construct(string $content = '')
/**
* @return array [description]
*/
- public function frontMatter(): array
+ public function frontMatter(string $content = ''): array
{
+ if (strlen($content) === 0) {
+ $content = $this->content;
+ }
+
$frontMatterExtension = new FrontMatterExtension();
return $frontMatterExtension->getFrontMatterParser()->parse(
- $this->content . "\n"
+ $content . "\n"
)->getFrontMatter();
}
@@ -77,14 +81,6 @@ public function convertToHtml(string $content = ''): RenderedContentInterface
return $converter->convertToHtml($this->content());
}
- /**
- * @deprecated Use `convert()` instead.
- */
- public function convertedContent(string $content = ''): string
- {
- return $this->convert($content);
- }
-
public function convert(string $content = ''): string
{
$html = $this->convertToHtml($content)->getContent();
@@ -106,6 +102,14 @@ public function __toString(): string
return $this->convert();
}
+ /**
+ * @deprecated Use `convert()` instead.
+ */
+ public function convertedContent(string $content = ''): string
+ {
+ return $this->convert($content);
+ }
+
/**
* @return array [description]
*/
diff --git a/tests/MarkdownBaselineTest.php b/tests/MarkdownBaselineTest.php
index 708789e..965212d 100644
--- a/tests/MarkdownBaselineTest.php
+++ b/tests/MarkdownBaselineTest.php
@@ -2,6 +2,37 @@
use Eightfold\Markdown\Markdown;
+test('Markdown is reusable', function() {
+ $markdownConverter = Markdown::create()->config([
+ 'html_input' => 'allow',
+ 'allow_unsafe_links' => false
+ ])->minified();
+
+ expect(
+ $markdownConverter->convert()
+ )->toBe('');
+
+ expect(
+ $markdownConverter->convert('Hello, World!')
+ )->toBe(<<Hello, World!
+ html
+ );
+
+ expect(
+ $markdownConverter->frontMatter(<<toBe([
+ 'title' => 'Some title',
+ 'icon' => '/path/to/icon alt text'
+ ]);
+});
+
test('Markdown has multiple ways to approach rendering content', function() {
expect(
(string) Markdown::create('# Shortest form')