PHPackages                             imatic-it/imatic-formatting - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. imatic-it/imatic-formatting

ActiveMantisbt-plugin[Utility &amp; Helpers](/categories/utility)

imatic-it/imatic-formatting
===========================

v0.0.5(5y ago)1598↓76.5%2[1 issues](https://github.com/Imatic-IT/imatic-mantis-formatting/issues)GPL-2.0-or-laterPHPPHP ^7.4CI failing

Since Sep 14Pushed 1mo ago2 watchersCompare

[ Source](https://github.com/Imatic-IT/imatic-mantis-formatting)[ Packagist](https://packagist.org/packages/imatic-it/imatic-formatting)[ RSS](/packages/imatic-it-imatic-formatting/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (2)Versions (7)Used By (0)

[![License: GPL-2.0-or-later](https://camo.githubusercontent.com/43a510dd0989747b1c3997cb691eaef0adc0f48c2ba392da31b012ef9030bf23/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d47504c2d2d322e302d2d6f722d2d6c617465722d626c75652e737667)](https://spdx.org/licenses/GPL-2.0-or-later.html)

Imatic formatting
=================

[](#imatic-formatting)

Purpose
-------

[](#purpose)

Converts markdown into html.

Installation
------------

[](#installation)

```
composer config --unset platform.php
composer require imatic-it/imatic-formatting

```

Code highlighting
-----------------

[](#code-highlighting)

Following url was used to fetch code highlighting code: [https://prismjs.com/download.html#themes=prism&amp;languages=markup+css+clike+javascript+bash+clojure+markup-templating+php+sql](https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+bash+clojure+markup-templating+php+sql)

It can be disabled with:

```
$g_plugin_ImaticFormatting_include_prism = false;
```

ToastUI Editor (WYSIWYG)
------------------------

[](#toastui-editor-wysiwyg)

This plugin integrates ToastUI Editor to provide a modern WYSIWYG and Markdown editor for text areas in MantisBT.

You can enable or configure the editor in your plugin config. Example:

```
public function config(): array
{
    return [
        'include_prism' => true,
        'toastui_editor' => [
            'enabled' => true,
            'textAreas'=> [
                'description',
                'additional_info',
                'additional_information',
                'bugnote_text'
            ],
            'options' => [
                'initialEditType' => 'markdown', // 'markdown' or 'wysiwyg'
                'previewStyle' => 'tab', // 'tab' or 'vertical'
                'height' => false, // Use false for default height
                'useDefaultHTMLSanitizer' => true,
                'useCommandShortcut' => true,
                'useDefaultHTMLSanitizerOptions' => [
                    'allowAttributes' => ['class', 'style'],
                    'allowTags' => ['a', 'b', 'i', 'strong', 'em', 'p', 'br', 'ul', 'ol', 'li', 'code', 'pre'],
                ],
            ],
        ]
    ];
}
```

### Features

[](#features)

- Markdown and WYSIWYG editing mode
- Live preview (tab or vertical split)
- Custom HTML sanitization with [DOMPurify](https://github.com/cure53/DOMPurify)
- Optional keyboard shortcuts
- Automatic synchronization with MantisBT text areas

User mentions (autocomplete)
----------------------------

[](#user-mentions-autocomplete)

When typing `@` in any supported text area, the plugin shows an autocomplete dropdown of assignable users in the current project so you can quickly insert `@username` mentions. The user list is derived from MantisBT's assignee selector (`select[name="handler_id"]`), so only users that can be set as a handler in the current project context are offered — special pseudo-entries such as `[Myself]` and `[Reporter]` are filtered out.

Supported text areas (both plain and ToastUI/WYSIWYG mode):

- `#summary`
- `#description`
- `#steps_to_reproduce`
- `#additional_info`, `#additional_information`
- `#bugnote_text`

The autocomplete UI is powered by [Tribute.js](https://github.com/zurb/tribute) (bundled, no runtime CDN).

Mention rendering and notifications are handled by MantisBT core: after the markdown converter runs, the plugin pipes the output through `mention_format_text()`, which turns `@username` into a clickable link and (when `$g_enable_user_mention` is enabled in MantisBT config) sends the standard mention notification to that user. See the [MantisBT User Mention configuration](https://www.mantisbt.org/docs/master/en-US/Admin_Guide/html-desktop/admin.preferences.usermention.html) for the notification settings.

Preview Test Pages
------------------

[](#preview-test-pages)

The plugin provides **test pages** where you can see how your Markdown and HTML formatting will be rendered before using it in actual issues.

1. Navigate to the **Plugin Configuration Page**: `Manage -> Manage Plugins -> Imatic Formatting`
2. Click on **"Test Issue Formatting Preview"** or open directly: [/plugin.php?page=ImaticFormatting/test-issue-previews.php](./plugin.php?page=ImaticFormatting/test-issue-previews.php)
3. You will find several preview sections:

    - 📧 **HTML Rendered Preview** – see how HTML emails will render
    - 📝 **Plain Text Preview** – view the plain text formatting
    - ⚠️ **Broken Format Preview** – simulate text without plugin formatting
    - 🔗 **Link Rendering &amp; Query Parameters** – test links including query strings and `&` characters
    - 🖋️ **Markdown Preview** – test all Markdown elements including headings, lists, blockquotes, code blocks, tables, images, links, and horizontal rules

This is useful for verifying your formatting rules, link handling, WYSIWYG editor integration, and Markdown rendering be

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance40

Moderate activity, may be stable

Popularity18

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 82.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~29 days

Total

5

Last Release

2003d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/537cff5935db8cf1f5bb53d876b26ef4fe5c2a9346aaaa8d8ea9221790d3ff03?d=identicon)[stepan.koci](/maintainers/stepan.koci)

![](https://www.gravatar.com/avatar/1d85ebb03e2f90ae3c4c68bb2d1ead6f80f6382bd432d301aafd8d6ecc70b659?d=identicon)[nenadalm](/maintainers/nenadalm)

---

Top Contributors

[![matejbrodziansky](https://avatars.githubusercontent.com/u/86591206?v=4)](https://github.com/matejbrodziansky "matejbrodziansky (19 commits)")[![janpekar](https://avatars.githubusercontent.com/u/884258?v=4)](https://github.com/janpekar "janpekar (2 commits)")[![animaartificialis](https://avatars.githubusercontent.com/u/282189503?v=4)](https://github.com/animaartificialis "animaartificialis (1 commits)")[![nenadalm](https://avatars.githubusercontent.com/u/1227933?v=4)](https://github.com/nenadalm "nenadalm (1 commits)")

### Embed Badge

![Health badge](/badges/imatic-it-imatic-formatting/health.svg)

```
[![Health](https://phpackages.com/badges/imatic-it-imatic-formatting/health.svg)](https://phpackages.com/packages/imatic-it-imatic-formatting)
```

###  Alternatives

[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.5k10](/packages/helsingborg-stad-municipio)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[mediawiki/maps

Adds various mapping features to MediaWiki

84152.3k3](/packages/mediawiki-maps)[starcitizentools/citizen-skin

A beautiful, usable, responsive MediaWiki skin with in-depth extension support. Originally developed for the Star Citizen Wiki.

3376.6k](/packages/starcitizentools-citizen-skin)[civicrm/civicrm-drupal-8

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

19251.4k3](/packages/civicrm-civicrm-drupal-8)[altis/core

Core module for Altis

19228.0k3](/packages/altis-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
