rkeet / zf-form-markdown
Provides Form Element 'Markdown', to be used within Zend Framework 3 with Zend Form.
Installs: 6
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/rkeet/zf-form-markdown
Requires
- php: ^7.2 || ^7.3
- erusev/parsedown: ^1.7
- rwoverdijk/assetmanager: ^1.8
- zendframework/zend-form: ^2.14
- zendframework/zend-servicemanager: ^2.7.8 || ^3.4
README
Provides the ability to use markdown as a type of input element.
Setup
Require module
To install the latest release, using Composer, run:
composer require rkeet/zf-form-markdown
Enable modules
To enable this module, enable both this module and AssetManager. In modules.config.php
add the following:
'AssetManager',
'Keet\Markdown',
Usage in Form / Fieldset
Element provides an HTML <textarea> element and paired <div> element to render
a preview of whatever is entered in text area.
use Keet\Markdown\Form\Element\Markdown;
...
$this->add(
[
'name' => 'body',
'type' => Markdown::class,
'options' => [
'label' => 'Body',
],
'attributes' => [
'rows' => 4,
],
]
);
Module requirements:
- Zend Form to extend
- Parsedown for PHP side parsing to HTML
- ShowdownJS for client side parsing to HTML for preview
- AssetManager to inject JS with ViewHelper
Features
- Provides Service (
MarkdownService) for handling markdown conversion server-side - Provides a ZF Form Element (
Markdown) for Form input- Provides Showdown to client when using
MarkdownForm Element
- Provides Showdown to client when using
TODO's
- Create better preview - possibly:
- option: inject some overridable default styling
- option: side-by-side preview instead of above/below
- option: minimum (overridable) styling to always have a visible preview container
- Figure out incompatibilities between Parsedown and ShowdownJS