About This Plugin
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
Screenshots
The Copy as Markdown button rendered on the frontend with copy, download, and view options.
Display settings - configure which post types show the button and exclusion rules.
Style settings - customise button size, colours, corner radius, and live preview.
Content settings - control the content selector, title prepending, and element exclusions.
Usage settings - shortcode reference, Gutenberg block, and .md.txt endpoint options.