{"id":324366,"date":"2026-06-21T07:45:30","date_gmt":"2026-06-21T07:45:30","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/era-markdown-importer\/"},"modified":"2026-06-21T08:27:14","modified_gmt":"2026-06-21T08:27:14","slug":"era-markdown-importer","status":"publish","type":"plugin","link":"https:\/\/zh-hk.wordpress.org\/plugins\/era-markdown-importer\/","author":23513247,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.0","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"ERA Markdown Importer","header_author":"ERA AI","header_description":"Import Markdown files (.md, .txt) as standard WordPress Posts or Pages.","assets_banners_color":"","last_updated":"2026-06-21 08:27:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":35,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"eraai","date":"2026-06-21 08:27:14"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3580432,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3580432,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[148076,6606,4608,158753,261138],"plugin_category":[59],"plugin_contributors":[268173],"plugin_business_model":[],"class_list":["post-324366","plugin","type-plugin","status-publish","hentry","plugin_tags-gutenberg","plugin_tags-importer","plugin_tags-markdown","plugin_tags-markdown-importer","plugin_tags-obsidian","plugin_category-utilities-and-tools","plugin_contributors-eraai","plugin_committers-eraai"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/era-markdown-importer\/assets\/icon-128x128.png?rev=3580432","icon_2x":"https:\/\/ps.w.org\/era-markdown-importer\/assets\/icon-256x256.png?rev=3580432","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>ERA Markdown Importer is a lightweight, secure, and developer-friendly tool designed to streamline your content creation workflow. If you write your articles in Markdown-based applications like Obsidian, Notion, VS Code, or Typora, this plugin completely eliminates the need for manual copy-pasting, manual formatting, and layout adjustments.<\/p>\n\n<p>The plugin converts standard Markdown elements (headings, paragraphs, lists, blockquotes, tables, and code blocks) into native, editable Gutenberg Blocks instantly.<\/p>\n\n<h3>Core Features<\/h3>\n\n<ul>\n<li><strong>Drag-and-Drop Uploader:<\/strong> Beautiful, minimalist administration interface inspired by modern design principles (shadcn\/ui style).<\/li>\n<li><strong>Gutenberg Blocks Conversion:<\/strong> Automatically generates native Gutenberg block comments (such as <code>wp:paragraph<\/code>, etc.) instead of inserting raw HTML, ensuring clean and native editing inside the block editor.<\/li>\n<li><strong>YAML Front-Matter Support:<\/strong> Automatically parses settings like title, status (draft\/publish), post type, categories, and tags directly from your file header.<\/li>\n<li><strong>Table Spacing Auto-Fix:<\/strong> Automatically pre-processes Markdown tables to ensure they parse and align correctly in the WordPress table block.<\/li>\n<li><strong>Enhanced Security Hardening:<\/strong> \n\n<ul>\n<li>Enabled Parsedown <strong>Safe Mode<\/strong> to automatically escape and strip raw HTML tags, inline scripts, and unsafe protocols (e.g. <code>javascript:<\/code> links).<\/li>\n<li>Explicit sanitization of custom and extracted post titles via <code>sanitize_text_field()<\/code>.<\/li>\n<li>Enforced 500KB maximum file size limits to prevent server memory exhaustion (DoS).<\/li>\n<li>Enforced strict nonces, capability checks, and file validation.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>era-markdown-importer<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or upload the ZIP file through the WordPress admin panel.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Access the tool under <strong>Tools &gt; Markdown Importer<\/strong> in your WordPress sidebar.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20support%20custom%20post%20types%3F\"><h3>Does this plugin support custom post types?<\/h3><\/dt>\n<dd><p>Yes, you can choose to import files as standard Posts, Pages, or any public Custom Post Type registered on your site.<\/p><\/dd>\n<dt id=\"does%20it%20support%20yaml%20front%20matter%3F\"><h3>Does it support YAML Front Matter?<\/h3><\/dt>\n<dd><p>Yes, it automatically parses YAML headers at the beginning of the file to map the post title, status, categories, and tags.<\/p><\/dd>\n<dt id=\"is%20it%20gutenberg%20compatible%3F\"><h3>Is it Gutenberg compatible?<\/h3><\/dt>\n<dd><p>Yes, it converts Markdown elements into native, editable block editor blocks.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li><strong>Compliance &amp; Security:<\/strong> Removed debug logging logic and resolved a potential mock backdoor in developer mode.<\/li>\n<li><strong>Uninstall Routine:<\/strong> Integrated database cleanup for custom plugin options.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li><strong>Security Hardening:<\/strong> Activated Parsedown Safe Mode to prevent Stored XSS and HTML injection.<\/li>\n<li><strong>Input Sanitization:<\/strong> Added explicit title sanitization using <code>sanitize_text_field()<\/code>.<\/li>\n<li><strong>Resource Optimization:<\/strong> Reduced maximum file size limit from 2MB to 500KB to prevent memory exhaustion.<\/li>\n<li><strong>UI\/UX Updates:<\/strong> Reflected the 500KB limit in the admin UI drag-and-drop zone.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release. Core drag-and-drop uploader, Parsedown parser, and HTML-to-Gutenberg block converter.<\/li>\n<\/ul>","raw_excerpt":"Import Markdown (.md, .txt) files as standard WordPress posts or pages, automatically converted into native Gutenberg blocks.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/324366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=324366"}],"author":[{"embeddable":true,"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/eraai"}],"wp:attachment":[{"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=324366"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=324366"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=324366"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=324366"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=324366"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/zh-hk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=324366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}