=== HBmarkdown For Editors ===
Contributors: helpperseo
Tags: markdown, classic editor, block editor, import, converter
Requires at least: 5.8
Tested up to: 6.7
Requires PHP: 7.4
Stable tag: 3.1.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Import a Markdown (.md) file directly into the Classic or Block Editor. One click converts it to formatted WordPress content instantly.

== Description ==

**HBmarkdown For Editors** lets you upload any Markdown (.md) file directly into a WordPress post or page and converts it into properly formatted content — no copy-pasting, no third-party services, no fuss.

Works with both the **Classic Editor (TinyMCE)** and the **Block Editor (Gutenberg)**.

= How it works =

In the Classic Editor, an **Import Markdown** button appears right next to the Add Media button. Click it, pick your .md file (or drag and drop), and the content is converted and inserted instantly.

In the Block Editor, an Import Markdown panel is available in the sidebar.

= Key Features =

* **Next to Add Media** — the Classic Editor button lives exactly where you expect it, in the media button row
* **Modal file importer** — sleek popup with drag-and-drop support and live status feedback
* **Auto post title** — if your Markdown file has a `title:` or `Title:` field in its frontmatter, the post title is filled in automatically
* **Block-aware conversion** — outputs native Gutenberg block markup (wp:paragraph, wp:heading, wp:table, etc.) when Gutenberg is active
* **Pure PHP parser** — zero external dependencies, no Composer, no npm, no build step; runs on any shared host
* **Full Markdown support** — headings (ATX + Setext), bold, italic, strikethrough, inline and fenced code blocks, ordered/unordered lists, GFM tables, blockquotes, images, links, horizontal rules
* **Role-based access** — choose which user roles can import Markdown via the settings page
* **Configurable file size limit** — set the maximum .md file size in KB
* **Zero front-end footprint** — assets are only loaded on post/page edit screens

= Supported Markdown Syntax =

* ATX headings (`# H1` through `###### H6`) and Setext headings
* **Bold**, *italic*, ~~strikethrough~~
* Inline code and fenced code blocks (with language hint)
* Ordered and unordered lists (nested supported)
* GFM tables
* Blockquotes
* Images (`![alt](url)`)
* Hyperlinks (`[text](url)`)
* Horizontal rules (`—`)
* YAML frontmatter `title:` field (auto-applied to post title)

= Privacy =

HBmarkdown does not collect, transmit, or store any personal data. Uploaded .md files are processed entirely in server memory and discarded immediately after conversion. No data is sent to external servers.

== Installation ==

1. Download the plugin zip file.
2. In your WordPress admin, go to **Plugins > Add New > Upload Plugin**.
3. Choose the zip file and click **Install Now**.
4. Click **Activate Plugin**.
5. Go to **Settings > HBmarkdown** to configure options (optional — defaults work out of the box).
6. Open any post or page. In the Classic Editor you will see the **Import Markdown** button next to Add Media. In the Block Editor, find the panel in the right sidebar.

= Manual Installation =

1. Unzip and upload the `hbmarkdown` folder to `/wp-content/plugins/`.
2. Activate via the Plugins screen.

== Frequently Asked Questions ==

= Does it work with the Classic Editor plugin? =
Yes. If you have the Classic Editor plugin installed and activated, HBmarkdown detects it and the Import Markdown button appears in the TinyMCE media button row.

= Does it work with Gutenberg (Block Editor)? =
Yes. When the Block Editor is active, HBmarkdown converts your Markdown to native WordPress block markup and inserts it as proper Gutenberg blocks.

= Does the .md file get uploaded to my Media Library? =
No. The file is read in memory, converted, and immediately discarded. Nothing is saved to disk or the media library.

= Can I control who can import Markdown? =
Yes. Go to **Settings > HBmarkdown > Access Control** and tick the roles you want to allow.

= What happens if my post already has content? =
You will see a confirmation prompt before the existing content is replaced.

= What is YAML frontmatter title detection? =
If your .md file starts with a frontmatter block like this:

    —
    title: My Post Title
    —

HBmarkdown will automatically fill in the post title field with "My Post Title" when you import the file.

= Does it support multisite? =
The plugin has no multisite-specific code but should work on standard multisite installs. Each site activates it independently.

= Is it compatible with page builders? =
Page builders that replace the standard editor (Elementor, Divi, etc.) do not use TinyMCE or Gutenberg, so the import button will not appear on those edit screens. It works on any screen that uses the standard WordPress Classic or Block Editor.

== Screenshots ==

1. The Import Markdown button positioned next to the Add Media button in the Classic Editor.
2. The modal import dialog with drag-and-drop support and status feedback.
3. The Block Editor sidebar panel for Markdown import.
4. The admin settings page — conversion options, file size, and role access control.

== Changelog ==

= 3.1.1 =
* Readme updated for WordPress.org submission.
* Minor version bump; no functional changes from 3.1.0.

= 3.1.0 =
* New: Import Markdown button now appears next to the Add Media button in the Classic Editor.
* New: Clicking the button opens a sleek modal dialog for file selection or drag-and-drop import.
* New: Auto-title extraction — if the Markdown file contains a `title:` or `Title:` frontmatter field, the post title is populated automatically. Works in both Classic and Block editors.
* Fix: Admin settings page had no visible styling due to missing CSS variable definitions — resolved by correctly loading the base stylesheet as a dependency.

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 3.1.1 =
Recommended update. Includes the 3.1.0 improvements: new modal import button next to Add Media, auto post title from frontmatter, and admin settings page styling fix.
