JetFormBuilder MarkupMarkdown Integration
A WordPress plugin that integrates JetFormBuilder with MarkupMarkdown, replacing TinyMCE WYSIWYG fields with a powerful markdown editor.
by Muneeb Gawri · github.com/muneebgawri/jetformbuilder-markupmarkdown-integration · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/muneebgawri/jetformbuilder-markupmarkdown-integration/archive/refs/heads/main.zipA WordPress plugin that integrates JetFormBuilder with MarkupMarkdown, replacing TinyMCE WYSIWYG fields with a powerful markdown editor.
Description
This plugin seamlessly integrates JetFormBuilder forms with the MarkupMarkdown plugin, providing users with a modern markdown editing experience instead of the traditional TinyMCE editor. It converts WYSIWYG fields to markdown editors and adds a dedicated Markdown field type to JetFormBuilder.
Features
- WYSIWYG Replacement: Automatically converts JetFormBuilder WYSIWYG fields to Markdown editors
- Custom Field Type: Adds a dedicated Markdown field type to JetFormBuilder
- EasyMDE Integration: Uses the powerful EasyMDE editor with live preview
- Dynamic Loading: Handles conditional blocks and dynamic form loading
- Form Compatibility: Maintains all JetFormBuilder validation and submission functionality
- Admin Settings: Easy configuration through WordPress admin panel
- Responsive Design: Works on desktop and mobile devices
Requirements
- WordPress 5.0 or higher
- PHP 7.4 or higher
- JetFormBuilder plugin (active)
- Markup Markdown plugin (active)
Installation
- Download the plugin zip file
- Go to WordPress Admin → Plugins → Add New → Upload Plugin
- Upload the zip file and activate the plugin
- Go to Settings → JFB MarkupMarkdown to configure the plugin
Configuration
Admin Settings
Navigate to Settings → JFB MarkupMarkdown to configure the plugin:
- Replace WYSIWYG Fields: When enabled, all JetFormBuilder WYSIWYG fields will be converted to Markdown editors
- Enable Custom Markdown Field: When enabled, a dedicated Markdown field type will be available in JetFormBuilder
Usage
- Automatic Conversion: If "Replace WYSIWYG Fields" is enabled, existing WYSIWYG fields will automatically use the Markdown editor
- Custom Field: If "Enable Custom Markdown Field" is enabled, you can add dedicated Markdown fields to your forms
- Form Building: Create or edit JetFormBuilder forms as usual - the Markdown editor will be used automatically
How It Works
WYSIWYG Field Conversion
When enabled, the plugin:
- Intercepts JetFormBuilder WYSIWYG field configuration
- Disables TinyMCE and QuickTags
- Converts the field to a textarea
- Initializes MarkupMarkdown editor on the textarea
Custom Markdown Field
The plugin adds a new field type called "Markdown Editor" that:
- Provides a dedicated textarea for markdown content
- Automatically initializes MarkupMarkdown editor
- Includes proper form validation and submission handling
Frontend Integration
The plugin:
- Detects pages with JetFormBuilder forms
- Enables MarkupMarkdown frontend support
- Loads necessary assets (CSS/JS)
- Initializes editors on form fields
- Handles dynamic form loading and conditional blocks
Technical Details
Hooks and Filters
mmd_frontend_enabled: Enables MarkupMarkdown on frontend for JetFormBuilder formsjet-form-builder/fields/wysiwyg-field/config: Modifies WYSIWYG field configurationjet-form-builder/blocks/items: Adds custom Markdown field typejet-form-builder/form-handler/after-save: Handles form submission
JavaScript Events
The plugin listens for these JetFormBuilder events:
jet-form-builder/conditional-block/block-toggle-hidden-domjet-form-builder/form-submit/afterjet-form-builder/repeater/add-itemjet-form-builder/repeater/remove-item
File Structure
jetformbuilder-markupmarkdown-integration/
├── jetformbuilder-markupmarkdown-integration.php (Main plugin file)
├── templates/
│ ├── markdown-field.php (Custom field template)
│ └── admin-page.php (Admin settings page)
├── assets/
│ ├── css/
│ │ ├── admin.css (Admin styles)
│ │ └── frontend.css (Frontend styles)
│ └── js/
│ ├── admin.js (Admin JavaScript)
│ └── frontend.js (Frontend JavaScript)
└── languages/ (Translation files)
Troubleshooting
Common Issues
- Markdown editor not loading: Ensure both JetFormBuilder and MarkupMarkdown plugins are active
- Form submission issues: Check that the plugin settings are properly configured
- Styling issues: Verify that the plugin CSS is loading correctly
Debug Mode
Add ?jfb_mmd_debug=1 to your URL to enable debug logging in the browser console.
Support
For support and bug reports, please visit the plugin repository on GitHub.
Changelog
Version 1.0.0
- Initial release
- WYSIWYG field conversion
- Custom Markdown field type
- Admin settings page
- Frontend integration
- Dynamic form handling
License
This plugin is licensed under the GPL v2 or later.
Credits
- Built for JetFormBuilder by Crocoblock
- Integrates with MarkupMarkdown plugin
- Uses EasyMDE editor for markdown editing