Skip to content

Commit

Permalink
Escape characters that will break blade parsing
Browse files Browse the repository at this point in the history
  • Loading branch information
edgrosvenor committed Jun 21, 2024
1 parent 44fcd4b commit d8f6c99
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/Actions/EnableLiveCode.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ protected function enableLiveCode($line)
if ($this->live) {
$line->content = str_replace('</pre>', '', $line->content);
$line->content = str_replace('</code>', '', $line->content);
$line->content = str_replace('@@', '@', $line->content);
$line->content = str_replace('@{{', '{{', $line->content);
$this->live = false;

return $line;
Expand Down
27 changes: 27 additions & 0 deletions src/Actions/EscapeBladeBreakingCharacters.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?php

namespace ArtisanBuild\Docsidian\Actions;

use ArtisanBuild\Docsidian\DocumentationSite;
use Closure;

class EscapeBladeBreakingCharacters
{
public function __invoke(DocumentationSite $site, Closure $next)
{
$site->blade_files->each(
fn ($file) => $file->lines = $file->lines->map(fn ($line) => $this->addLiteral($line)));

return $next($site);
}

protected function addLiteral($line)
{
$line->content = str_replace('@', '@@', $line->content);
$line->content = str_replace('{{', '@{{', $line->content);


return $line;

}
}
2 changes: 2 additions & 0 deletions src/Commands/GenerateCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
use ArtisanBuild\Docsidian\Actions\EnsureAllHeadingsHaveAnId;
use ArtisanBuild\Docsidian\Actions\GenerateOnPageNavigation;
use ArtisanBuild\Docsidian\Actions\HandleWikiStyleImages;
use ArtisanBuild\Docsidian\Actions\EscapeBladeBreakingCharacters;
use ArtisanBuild\Docsidian\Actions\RemoveEmptyParagraphs;
use ArtisanBuild\Docsidian\Actions\SetBlockVisibility;
use ArtisanBuild\Docsidian\Actions\SetPageVisibility;
Expand Down Expand Up @@ -46,6 +47,7 @@ public function handle(): int

Pipeline::send(new DocumentationSite($site))
->through([
EscapeBladeBreakingCharacters::class,
BuildNavigation::class,
SetPageVisibility::class,
SetBlockVisibility::class,
Expand Down

0 comments on commit d8f6c99

Please sign in to comment.