Description
Copy as Markdown Button lets your visitors copy any post or page content as clean, well-structured Markdown with a single click. It handles everything from headings and tables to code blocks and nested lists – no extra tools or dependencies required.
Placement & Auto-injection
- Automatically injects the button before or after the content on any combination of post types (posts, pages, and custom post types)
- Shortcode
[copy_as_markdown]for manual placement in any post, page, or widget - Gutenberg block available in the Widgets category – place it anywhere in the block editor with per-block overrides for button text, size, and content selector
- Exclude specific posts or pages from auto-injection by entering their IDs – shortcode and block placements are unaffected
Button Customisation
- Choose button size: Small, Medium, or Large
- Set custom background, text, and hover colours via colour pickers
- Adjust corner radius from 0 px (square) to 50 px (pill)
- Show or hide the copy icon alongside the button label
- Customise the button label (default: « Copy as Markdown ») and the success confirmation text (default: « Copied! »)
- Live preview in the settings panel updates instantly as you change style options
Content Control
- Optionally prepend the post title as a Markdown H1 heading
- Custom CSS selector to target a specific page element instead of the auto-detected content area
- Exclude any elements from the Markdown output using CSS selectors (one per line) – useful for stripping ads, share buttons, comment sections, and related posts
- Per-shortcode overrides for button text, size, content selector, and download button visibility
Download Button
- Optional dropdown « Download as .md » button that saves the converted Markdown as a
.mdfile directly from the browser, named after the post slug - Appears alongside the copy button in a split-button dropdown
- Can be force-enabled or force-disabled per shortcode instance using the
downloadattribute
Markdown URL Endpoint
- Enable a
.md.txtURL endpoint so any post or page can be viewed as plain-text Markdown by appending.md.txtto its URL (e.g.yoursite.com/your-post-slug.md.txt) - The server converts the post HTML to Markdown and serves it as
text/plain– useful for programmatic access, LLM ingestion, and content pipelines - Works with Elementor pages by using Elementor’s own renderer when available
- Optional « View as Markdown » link in the button dropdown opens the plain-text endpoint in a new tab
- Customisable link label for the « View as Markdown » item
HTML-to-Markdown Conversion
The converter handles a wide range of HTML elements cleanly:
- Headings (H1–H6), paragraphs, line breaks, and horizontal rules
- Bold (
**), italic (*), and strikethrough (~~) inline formatting - Hyperlinks with optional title attributes; images with alt text and titles
- Fenced code blocks with language detection from the
language-*CSS class - Inline code with backtick escaping
- Blockquotes with proper
>prefixing on every line - Ordered and unordered lists with full nested list support
- Tables converted to GitHub-Flavored Markdown pipe tables
- Figures with italicised captions
- YouTube iframe embeds converted to
[Video](url)Markdown links - Scripts, styles, navigation, and form elements are automatically stripped
Accessibility & Performance
- ARIA labels,
role="status"live region for screen-reader announcements after copy - Keyboard-navigable dropdown with
aria-expandedandrole="menu"semantics - Frontend CSS and JavaScript are only loaded on pages where the button will actually appear
Captures d’écran





Blocs
Cette extension fournit 1 bloc.
- Copy as Markdown Adds a button that copies the page content to the clipboard as Markdown.
Installation
- Upload the plugin folder to the
/wp-content/plugins/directory, or install the plugin through the WordPress Plugins screen directly. - Activate the plugin through the Plugins screen in WordPress.
- Go to Settings > Copy as Markdown to configure where and how the button appears.
FAQ
-
Use the shortcode
[copy_as_markdown]in any post, page, or widget, or add the Copy as Markdown block in the Gutenberg block editor. -
Can I copy only part of the page?
-
Yes. Use the Content Element Selector setting (or the
selectorshortcode attribute) to target a specific CSS element. Leave it blank to let the plugin auto-detect the content area. -
Can I override shortcode settings per instance?
-
Yes. The shortcode accepts
text,size,selector, anddownloadattributes. For example:[copy_as_markdown text="Export" size="large" selector=".post-body" download="true"]. -
Does it work with custom post types?
-
Yes. Any public post type is listed in the Display settings so you can enable auto-injection for it.
-
Enter the post or page ID in the Exclude Specific Pages / Posts field under the Display tab. You can find the ID in the URL when editing the post:
?post=123. -
What is the .md.txt endpoint?
-
When enabled, appending
.md.txtto any post or page URL (e.g.yoursite.com/my-post.md.txt) serves the full post content as plain-text Markdown. After enabling it, visit Settings > Permalinks once to flush rewrite rules. -
Does it work with Elementor?
-
Yes. The Markdown URL endpoint detects Elementor and uses its own renderer to capture the full built page content rather than the raw
post_content.
Avis
Contributeurs & développeurs
« Copy as Markdown Button » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.
ContributeursTraduisez « Copy as Markdown Button » dans votre langue.
Le développement vous intéresse ?
Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.
Journal
1.0.2
- Added optional Download button that saves post content as a
.mdfile directly from the browser. - Added
.md.txtURL endpoint – append.md.txtto any post/page URL to view it as plain-text Markdown. - Added « View as Markdown » dropdown link that opens the
.md.txtendpoint in a new tab. - Added YouTube iframe support – embeds are converted to
[Video](url)Markdown links. - Added Exclude by Post ID setting to suppress auto-injection on specific posts or pages.
- Improved split-button dropdown UI for copy, download, and view actions.
1.0.1
- Fixed plugin review issues.
1.0.0
- Initial release.
