]> _ Git - cubist_cms-back.git/commitdiff
#2893
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 16 Jul 2019 15:55:05 +0000 (17:55 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 16 Jul 2019 15:55:05 +0000 (17:55 +0200)
composer.json
src/CubistBackpackServiceProvider.php
src/app/Markdown/Heading/Extension.php [new file with mode: 0644]
src/app/Markdown/Heading/Renderer.php [new file with mode: 0644]

index dc92ab3d3c0df6eb200a1919a5adb6dbc24291c4..797429a45618e83fdc404c2d689eaee69da62523 100644 (file)
@@ -54,7 +54,6 @@
             ],
             "aliases": {
                 "CubistMenu": "Cubist\\Backpack\\app\\Magic\\Menu\\Facade",
-                "Markdown": "GrahamCampbell\\Markdown\\Facades\\Markdown",
                 "Debugbar": "Barryvdh\\Debugbar\\Facade"
             }
         }
index dce9a764c0a323dcc0c180d332ef9e53bea0c0c7..7269d76db3f16c6f01c2f985b2e8919cd8c68061 100644 (file)
@@ -49,15 +49,6 @@ class CubistBackpackServiceProvider extends ServiceProvider
      */
     public function register()
     {
-
-//        $this->app->bind('templates', function ($app) {
-//            return new Template($app);
-//        });
-//
-//        // register their aliases
-//        $loader = \Illuminate\Foundation\AliasLoader::getInstance();
-//        $loader->alias('Template', \Backpack\Settings\app\Models\Template::class);
-
         $this->commands([InstallCommand::class, GenerateCommand::class, MigrateCommand::class]);
     }
 }
diff --git a/src/app/Markdown/Heading/Extension.php b/src/app/Markdown/Heading/Extension.php
new file mode 100644 (file)
index 0000000..b70e245
--- /dev/null
@@ -0,0 +1,16 @@
+<?php
+
+namespace Cubist\Backpack\app\Markdown\Heading;
+
+
+use League\CommonMark\Block\Element\Heading;
+use League\CommonMark\ConfigurableEnvironmentInterface;
+use League\CommonMark\Extension\ExtensionInterface;
+
+class Extension implements ExtensionInterface
+{
+    public function register(ConfigurableEnvironmentInterface $environment)
+    {
+        $environment->addBlockRenderer(Heading::class, new Renderer(), 10);
+    }
+}
diff --git a/src/app/Markdown/Heading/Renderer.php b/src/app/Markdown/Heading/Renderer.php
new file mode 100644 (file)
index 0000000..d062224
--- /dev/null
@@ -0,0 +1,26 @@
+<?php
+
+namespace Cubist\Backpack\app\Markdown\Heading;
+
+use League\CommonMark\Block\Element\AbstractBlock;
+use League\CommonMark\Block\Element\Heading;
+use League\CommonMark\Block\Renderer\BlockRendererInterface;
+use League\CommonMark\ElementRendererInterface;
+use League\CommonMark\HtmlElement;
+
+
+class Renderer implements BlockRendererInterface
+{
+    public function render(AbstractBlock $block, ElementRendererInterface $htmlRenderer, bool $inTightList = false)
+    {
+        if (!($block instanceof Heading)) {
+            throw new \InvalidArgumentException('Incompatible block type: ' . \get_class($block));
+        }
+
+        $tag = 'h' . min(config('markdown_heading_max', 6), $block->getLevel() + config('markdown.heading_offset', 0));
+
+        $attrs = $block->getData('attributes', []);
+
+        return new HtmlElement($tag, $attrs, $htmlRenderer->renderInlines($block->children()));
+    }
+}