A lightweight Symfony bundle to integrate a Markdown editor (EasyMDE) into your forms using a reusable FormType.
The bundle packages the required JS/CSS assets and provides a simple configuration and rendering mechanism.
FormType.assets:install.Require the bundle via Composer:
composer require bnine/mdeditorbundle
Then install the assets:
php bin/console assets:install
Make sure Symfony copies the bundle's public assets to public/bundles/bninemdeditor.
In your base Twig layout (e.g. base.html.twig), add:
<script src="{{ asset('bundles/bninemdeditor/bninemdeditor.js') }}"></script>
<?php
namespace Bnine\MdEditorBundle\Form;
use Bnine\MdEditorBundle\Dto\Markdown;
use Bnine\MdEditorBundle\Form\Type\MarkdownType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class DtoType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('markdown', MarkdownType::class)
->add('submit', SubmitType::class, [
'label' => 'Prévisualiser',
]);
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => Markdown::class,
]);
}
}
MIT
Arnaud Fornerot
https://github.com/afornerot
How can I help you explore Laravel packages today?