{"id":38705,"date":"2015-09-10T07:32:54","date_gmt":"2015-09-10T07:32:54","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/markdown-shortcode\/"},"modified":"2025-09-21T21:19:21","modified_gmt":"2025-09-21T21:19:21","slug":"markdown-shortcode","status":"publish","type":"plugin","link":"https:\/\/zh-sg.wordpress.org\/plugins\/markdown-shortcode\/","author":13865810,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"0.2.3","stable_tag":"trunk","tested":"6.7.5","requires":"","requires_php":"","requires_plugins":null,"header_name":"Markdown Shortcode","header_author":"Johannes Hoppe","header_description":"","assets_banners_color":"f3f3f3","last_updated":"2025-09-21 21:19:21","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"http:\/\/haushoppe-its.de","rating":5,"author_block_rating":0,"active_installs":70,"downloads":3117,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.3":{"tag":"0.2.3","author":"JHoppe","date":"2025-09-21 21:19:21"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":"3"},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":1242839,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":1242839,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":1242839,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":1242839,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.3"],"block_files":[],"assets_screenshots":{"screenshot-2.png":{"filename":"screenshot-2.png","revision":3365425,"resolution":"2","location":"plugin"},"screenshot-1.png":{"filename":"screenshot-1.png","revision":3365425,"resolution":"1","location":"plugin"}},"screenshots":{"1":"Blog post written in markdown.","2":"Same blog post on front end."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[32776,4608,42183,80],"plugin_category":[43],"plugin_contributors":[91177],"plugin_business_model":[],"class_list":["post-38705","plugin","type-plugin","status-publish","hentry","plugin_tags-highlight-js","plugin_tags-markdown","plugin_tags-parsedown","plugin_tags-shortcode","plugin_category-customization","plugin_contributors-jhoppe","plugin_committers-jhoppe"],"banners":{"banner":"https:\/\/ps.w.org\/markdown-shortcode\/assets\/banner-772x250.png?rev=1242839","banner_2x":"https:\/\/ps.w.org\/markdown-shortcode\/assets\/banner-1544x500.png?rev=1242839","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/markdown-shortcode\/assets\/icon-128x128.png?rev=1242839","icon_2x":"https:\/\/ps.w.org\/markdown-shortcode\/assets\/icon-256x256.png?rev=1242839","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/markdown-shortcode\/trunk\/screenshot-1.png?rev=3365425","caption":"Blog post written in markdown."},{"src":"https:\/\/ps.w.org\/markdown-shortcode\/trunk\/screenshot-2.png?rev=3365425","caption":"Same blog post on front end."}],"raw_content":"<!--section=description-->\n<p>Damn simple [markdown]#via shortcode[\/markdown] for wordpress.\nThis plugin uses <a href=\"http:\/\/parsedown.org\/\">parsedown<\/a> and <a href=\"http:\/\/highlightjs.org\">highlight.js<\/a>. Zero configuration.<\/p>\n\n<p>Write this into the editor:<\/p>\n\n<pre><code>[markdown]  \n#h1\n<\/code><\/pre>\n\n<h3>h2<\/h3>\n\n<pre><code>text  \n____source code (two ore more underscores will be replaced by empty spaces)  \n____source code (two ore more underscores will be replaced by empty spaces)  \n\n    `javascript\nsource code\n    `\n[\/markdown]\n<\/code><\/pre>\n\n<p>and the shortcode content will be parsed with parsedown. Syntax highlighting will appear for the source codes.<\/p>\n\n<p>This plugin is available at <a href=\"https:\/\/github.com\/JohannesHoppe\/markdown-shortcode\">github<\/a>, too.\nPlease <strong>report issues at github<\/strong>, pull requests are welcome, too!<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>markdown-shortcode<\/code> directory to the <code>\/wp-content\/plugins<\/code> directory.<\/li>\n<li>Activate the plugin through the plugins menu in WordPress.<\/li>\n<li>Use it by wrapping text in the shortcode<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='will%20it%20work%20in%20the%20visual%20editor%3F'><h3>Will it work in the Visual Editor?<\/h3><\/dt>\n<dd><p>Yes. You can switch between Visual and Text(HTML) mode. The plugin converts html entities back to the original characters.<\/p><\/dd>\n<dt id='the%20wysiwyg%20editor%20%28tinymce%29%20is%20removing%20empty%20spaces%21'><h3>The WYSIWYG editor (TinyMCE) is removing empty spaces!<\/h3><\/dt>\n<dd><p>Indeed, TinyMCE is well-known for destroying markup. Replace empty spaces with underscores __ .\nUnderscores will be converted to empty spaces right before markdown conversion.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.3<\/h4>\n\n<ul>\n<li>Security fix: Added wp_kses_post() sanitization to prevent XSS vulnerability (CVE-2025-10180)<\/li>\n<li>Fixed stored XSS vulnerability where contributors could inject malicious scripts through markdown content<\/li>\n<\/ul>\n\n<h4>0.1<\/h4>\n\n<ul>\n<li>see https:\/\/github.com\/JohannesHoppe\/markdown-shortcode\/releases for a list of all releases<\/li>\n<\/ul>","raw_excerpt":"Damn simple markdown for wordpress via shortcode, uses parsedown (parsedown.org) and highlight.js (highlightjs.org).","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/38705","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=38705"}],"author":[{"embeddable":true,"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jhoppe"}],"wp:attachment":[{"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=38705"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=38705"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=38705"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=38705"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=38705"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/zh-sg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=38705"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}