jackfumanchu / markdown-live-bundle
Symfony bundle providing a Markdown form field with live preview, powered by Symfony UX Live Components. Works in EasyAdmin and standard Symfony forms.
Package info
github.com/jackfumanchu/markdown-live-bundle
Type:symfony-bundle
pkg:composer/jackfumanchu/markdown-live-bundle
Requires
- php: >=8.2
- easycorp/easyadmin-bundle: ^4.0 || ^5.0
- league/commonmark: ^2.0
- symfony/framework-bundle: ^7.0 || ^8.0
- symfony/ux-live-component: ^2.0
- symfony/ux-twig-component: ^2.0
- twig/markdown-extra: ^3.0
This package is auto-updated.
Last update: 2026-05-14 04:30:23 UTC
README
A Symfony bundle that provides a Markdown form field with live preview, powered by Symfony UX Live Components. Works both in EasyAdmin and in standard Symfony forms.
Requirements
- PHP 8.2+
- Symfony 7.0+ or 8.0+
- Symfony UX Live Components 2.0+
- EasyAdmin 4.0+ or 5.0+ (only if you want to use the EasyAdmin field)
Installation
composer require jackfumanchu/markdown-live-bundle
Then add the stimulus-textarea-autogrow package to your importmap:
php bin/console importmap:require stimulus-textarea-autogrow
The bundle throws a clear error at cache warmup if this package is missing.
Usage
In EasyAdmin
Use MarkdownField in your CRUD controllers:
use JackFuManchu\MarkdownLiveBundle\Field\MarkdownField; public function configureFields(string $pageName): iterable { yield MarkdownField::new('content'); }
In standard Symfony forms
- Add the form theme to your Twig configuration:
# config/packages/twig.yaml twig: form_themes: - '@JackFuManchuMarkdownLive/form/markdown_live_theme.html.twig'
Or apply it per-template:
{% form_theme form '@JackFuManchuMarkdownLive/form/markdown_live_theme.html.twig' %}
- Use
MarkdownTypein your form classes:
use JackFuManchu\MarkdownLiveBundle\Form\Type\MarkdownType; $builder->add('content', MarkdownType::class);
Options
MarkdownType supports the following options:
| Option | Type | Default | Description |
|---|---|---|---|
preview |
bool |
true |
Show the live Markdown preview panel |
debounce |
int |
300 |
Debounce delay in milliseconds |