Skip to content

Commit

Permalink
Add Support for Extensions in Str::markdown Method (#680)
Browse files Browse the repository at this point in the history
* Add Support for Extensions in Str::markdown Method

* feat: Add support for extensions in Str::markdown method

* Add Number::pairs and Number:: clamp

* Add Number::pairs

* Adds tests

---------

Co-authored-by: Deeka Wong <[email protected]>
  • Loading branch information
huangdijia and huangdijia committed Jun 27, 2024
1 parent dbb7fcf commit 9bce59f
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 4 deletions.
2 changes: 1 addition & 1 deletion output/Hyperf/Stringable/Str.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public static function createUuidsNormally()
* @param string $string
* @return string
*/
public static function markdown($string, array $options = [])
public static function markdown($string, array $options = [], array $extensions = [])
{
}

Expand Down
2 changes: 1 addition & 1 deletion output/Hyperf/Stringable/Stringable.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class Stringable
*
* @return static
*/
public function markdown(array $options = [])
public function markdown(array $options = [], array $extensions = [])
{
}

Expand Down
11 changes: 10 additions & 1 deletion src/StrMixin.php
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,16 @@ public function inlineMarkdown()

public function markdown()
{
return fn ($string, array $options = []) => (string) (new GithubFlavoredMarkdownConverter($options))->convert($string);
return function ($string, array $options = [], array $extensions = []) {
$converter = new GithubFlavoredMarkdownConverter($options);
$environment = $converter->getEnvironment();

foreach ($extensions as $extension) {
$environment->addExtension($extension);
}

return (string) $converter->convert($string);
};
}

public function transliterate()
Expand Down
2 changes: 1 addition & 1 deletion src/StringableMixin.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public function inlineMarkdown()
public function markdown()
{
/* @phpstan-ignore-next-line */
return fn (array $options = []) => new static(Str::markdown($this->value, $options));
return fn (array $options = [], array $extensions = []) => new static(Str::markdown($this->value, $options, $extensions));
}

public function toHtmlString()
Expand Down

0 comments on commit 9bce59f

Please sign in to comment.