{"id":263538,"date":"2025-12-02T16:16:59","date_gmt":"2025-12-02T16:16:59","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/simple-export-to-markdown\/"},"modified":"2026-10-08T13:26:18","modified_gmt":"2026-10-08T13:26:18","slug":"simple-export-md","status":"publish","type":"plugin","link":"https:\/\/bal.wordpress.org\/plugins\/simple-export-md\/","author":11585502,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.4","stable_tag":"0.1.4","tested":"7.0.7","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Simple Export to Markdown","header_author":"Pavel Sherer","header_description":"Adds a Gutenberg panel \u201cExport to Markdown\u201d with buttons to download .md or copy Markdown to clipboard.","assets_banners_color":"cccccc","last_updated":"2026-10-08 13:26:18","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/sherer-pro\/simple-export-md","header_author_uri":"https:\/\/sherer.pro","rating":5,"author_block_rating":0,"active_installs":300,"downloads":2398,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.1":{"tag":"0.1.1","author":"Skreep","date":"2025-12-03 09:13:20","revision":3409112},"0.1.2":{"tag":"0.1.2","author":"Skreep","date":"2025-12-03 09:32:08","revision":3409159},"0.1.3":{"tag":"0.1.3","author":"Skreep","date":"2026-06-28 23:56:50","revision":3589329},"0.1.4":{"tag":"0.1.4","author":"Skreep","date":"2026-10-08 13:26:18","revision":3734702}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3408245,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3408245,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3408245,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3734703,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"meta\":{\"title\":\"Simple Export to Markdown demo\",\"description\":\"Playground demo that installs and opens the Simple Export to Markdown plugin in the post editor.\",\"author\":\"Pavel Sherer\",\"categories\":[\"plugins\",\"editor\"]},\"preferredVersions\":{\"php\":\"7.4\",\"wp\":\"7.0\"},\"login\":true,\"siteOptions\":{\"blogname\":\"Simple Export to Markdown demo\"},\"landingPage\":\"\\\/wp-admin\\\/post.php?post=1&action=edit\",\"steps\":[{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"simple-export-md\"},\"options\":{\"activate\":true}},{\"step\":\"runPHP\",\"code\":\"<?php\\nrequire_once '\\\/wordpress\\\/wp-load.php';\\n\\nwp_insert_post( array(\\n 'ID' => 1,\\n 'post_title' => 'Simple Export to Markdown demo',\\n 'post_content' => '<!-- wp:paragraph --><p>This is a demo post for the <strong>Simple Export to Markdown<\\\/strong> plugin. Open the Settings sidebar, find the Export to Markdown panel and try exporting this post.<\\\/p><!-- \\\/wp:paragraph --><!-- wp:heading --><h2>Sample content<\\\/h2><!-- \\\/wp:heading --><!-- wp:list --><ul><li>Paragraph<\\\/li><li>Heading<\\\/li><li>List<\\\/li><\\\/ul><!-- \\\/wp:list -->',\\n 'post_status'  => 'publish',\\n 'post_type' => 'post'\\n) );\\n\"}]}"}},"all_blocks":[],"tagged_versions":["0.1.1","0.1.2","0.1.3","0.1.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3408245,"resolution":"1","location":"assets","locale":"","width":992,"height":694},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3408245,"resolution":"2","location":"assets","locale":"","width":992,"height":694}},"screenshots":{"1":"Gutenberg editor with the <strong>Export to Markdown<\/strong> panel in the right sidebar.","2":"Example Markdown file with generated YAML front matter."}},"plugin_section":[],"plugin_tags":[17897,529,1332,1859,4608],"plugin_category":[46,59],"plugin_contributors":[251552],"plugin_business_model":[],"class_list":["post-263538","plugin","type-plugin","status-publish","hentry","plugin_tags-clipboard","plugin_tags-content","plugin_tags-editor","plugin_tags-export","plugin_tags-markdown","plugin_category-editor-and-writing","plugin_category-utilities-and-tools","plugin_contributors-skreep","plugin_committers-skreep"],"banners":{"banner":"https:\/\/ps.w.org\/simple-export-md\/assets\/banner-772x250.png?rev=3408245","banner_2x":"https:\/\/ps.w.org\/simple-export-md\/assets\/banner-1544x500.png?rev=3408245","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/simple-export-md\/assets\/icon.svg?rev=3408245","icon":"https:\/\/ps.w.org\/simple-export-md\/assets\/icon.svg?rev=3408245","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/simple-export-md\/assets\/screenshot-1.png?rev=3408245","caption":"Gutenberg editor with the <strong>Export to Markdown<\/strong> panel in the right sidebar."},{"src":"https:\/\/ps.w.org\/simple-export-md\/assets\/screenshot-2.png?rev=3408245","caption":"Example Markdown file with generated YAML front matter."}],"raw_content":"<!--section=description-->\n<p><strong>Simple Export to Markdown<\/strong> adds a small panel inside the WordPress block editor. With one click, editors can download the current post or page as a <code>.md<\/code> file or copy the generated Markdown to the clipboard.<\/p>\n\n<p>The plugin uses the bundled Turndown library to convert serialized Gutenberg blocks in the browser. It does not create server-side export files, make external API calls, add REST\/AJAX endpoints, or store exported content.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>Export Gutenberg content directly to Markdown.<\/li>\n<li>Download <code>.md<\/code> files or copy Markdown to the clipboard.<\/li>\n<li>Auto-generated YAML front matter for <code>title<\/code>, <code>slug<\/code>, <code>date<\/code>, <code>categories<\/code>, and <code>tags<\/code>.<\/li>\n<li>Uses the edited post state, including unsaved title, slug, date, category, tag, and block changes.<\/li>\n<li>Loads only in the block editor for users with <code>edit_posts<\/code>.<\/li>\n<li>PHP and JavaScript translations are loaded from the plugin language files.<\/li>\n<li>Simple tables export as GFM; complex tables retain sanitized HTML.<\/li>\n<li>Missing block content is reported in the panel while available content is exported.<\/li>\n<li>Incomplete category or tag loading blocks export and offers a retry action.<\/li>\n<\/ul>\n\n<h3>Requirements<\/h3>\n\n<ul>\n<li>WordPress 6.0 or newer.<\/li>\n<li>PHP 7.4 or newer.<\/li>\n<li>Active Gutenberg\/block editor.<\/li>\n<\/ul>\n\n<h3>License<\/h3>\n\n<p>This plugin is open-source software licensed under the GPLv2 or later.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>, or install it through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin through the \"Plugins\" menu in WordPress.<\/li>\n<li>Open any post or page in the block editor.<\/li>\n<li>Find the <strong>Export to Markdown<\/strong> panel in the editor sidebar.<\/li>\n<li>Click <strong>Download .md<\/strong> or <strong>Copy Markdown<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20in%20the%20classic%20editor%3F\"><h3>Does this work in the Classic Editor?<\/h3><\/dt>\n<dd><p>No. The plugin is designed for the WordPress block editor.<\/p><\/dd>\n<dt id=\"does%20it%20save%20files%20on%20the%20server%3F\"><h3>Does it save files on the server?<\/h3><\/dt>\n<dd><p>No. Conversion, download, and clipboard copy happen locally in the browser.<\/p><\/dd>\n<dt id=\"can%20it%20export%20custom%20blocks%3F\"><h3>Can it export custom blocks?<\/h3><\/dt>\n<dd><p>Custom blocks are serialized by WordPress before Turndown converts the resulting HTML to Markdown.<\/p>\n\n<p>Blocks without saved HTML, including synced pattern references, cannot be fully exported. The panel lists omitted blocks in a persistent warning. Server rendering and reference expansion are not performed, and warnings are not added to the Markdown content.<\/p><\/dd>\n<dt id=\"how%20are%20tables%20exported%3F\"><h3>How are tables exported?<\/h3><\/dt>\n<dd><p>Rectangular tables without merged cells export as GFM. If there is no header, an empty header is added and all data rows are preserved. Tables with merged cells, captions, nested tables or code blocks retain sanitized HTML.<\/p><\/dd>\n<dt id=\"why%20are%20the%20javascript%20translation%20files%20named%20with%20the%20script%20handle%3F\"><h3>Why are the JavaScript translation files named with the script handle?<\/h3><\/dt>\n<dd><p>PHP translations use <code>simple-export-md-{locale}.mo<\/code>. JavaScript translations use the <code>simple-export-md-{locale}-simple-export-md.json<\/code> pattern so translations work for both the source and minified editor scripts.<\/p><\/dd>\n<dt id=\"how%20should%20release%20builds%20be%20verified%3F\"><h3>How should release builds be verified?<\/h3><\/dt>\n<dd><p>Run <code>npm ci<\/code>, <code>npm run build<\/code>, <code>npm test<\/code>, <code>npm audit --audit-level=low<\/code>, and <code>php -l simple-export-md.php<\/code>. The minified editor script should only be committed as the Terser output from <code>npm run build<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.4<\/h4>\n\n<ul>\n<li>Preserve table structure with GFM or sanitized HTML.<\/li>\n<li>Load all selected categories and tags, detect incomplete metadata, and support retry.<\/li>\n<li>Warn about omitted block content without modifying exported Markdown.<\/li>\n<li>Improve download cleanup, filenames, persistent error notices and editor isolation.<\/li>\n<li>Add browser and PHP regression checks and refresh translations.<\/li>\n<\/ul>\n\n<h4>0.1.3<\/h4>\n\n<ul>\n<li>Hardened editor asset loading.<\/li>\n<li>Fixed JavaScript translation file names.<\/li>\n<li>Improved Markdown export reliability and filename sanitization.<\/li>\n<\/ul>","raw_excerpt":"Adds a Gutenberg editor panel to export post or page content to Markdown format.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/263538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=263538"}],"author":[{"embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/skreep"}],"wp:attachment":[{"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=263538"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=263538"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=263538"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=263538"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=263538"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=263538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}