

<strong>Block Editor</strong> - Add and edit Markdown in the block editor with live syntax highlighting
Markdown Renderer for GitHub brings GitHub Flavored Markdown (GFM) rendering to WordPress for technical blogs, documentation sites, tutorials, code portfolios, and developer resources. Add Markdown in the block editor or with the [gfmr_markdown] shortcode, then render code, tables, task lists, diagrams, and charts on the front end.
The free plugin includes:
:rocket:> [!NOTE], [!TIP], [!IMPORTANT], [!WARNING], and [!CAUTION] calloutschart fenced code blocksmath fenced code blocks, $$...$$, $...$, and [latex] shortcodesPro is a separate, standalone plugin (it bundles all Free features) that may provide advanced workflow features such as enhanced code-block options, custom themes, higher-level AI orchestration, and priority support. Core Markdown, syntax highlighting, Mermaid, Chart.js, PlantUML, and the basic settings are included in the free plugin.
Detailed user guidance is available inside the plugin settings screen after activation. This keeps the manual, FAQ, troubleshooting, support guidance, and non-secret system information close to the WordPress admin workflow without requiring a separate documentation website.
On WordPress 6.9 and later, this plugin registers Abilities API abilities so AI coding agents such as Claude Code and Codex can work with it conversationally instead of through manual settings screens. An agent can read the current configuration, look up what each setting does and which values it accepts, and apply changes on request; the standalone Pro plugin extends this with previewing rendered Markdown and drafting posts directly, always saved as a draft. Every ability requires the same manage_options capability as the settings screen, and turning on a destructive setting needs an explicit confirmation from the request, so an agent cannot silently change security-sensitive behavior. Abilities are exposed through the standard WordPress REST API and, when a compatible MCP bridge is active, through the Model Context Protocol as well. On WordPress 6.8, this plugin’s core Markdown rendering works the same as always and the agent abilities are simply not registered.
Why server compression matters:
The syntax-highlighting and diagram libraries are large when uncompressed (Shiki ~2.35 MB, Mermaid ~3.2 MB) but shrink dramatically when delivered with gzip or Brotli (Shiki ~302 KB, Mermaid ~908 KB). For the best front-end performance, ensure your web server compresses static JavaScript (for example mod_deflate/mod_brotli on Apache, or the gzip/brotli directives on nginx). Most managed hosts and CDNs enable this by default. The plugin adds a Tools → Site Health check that reports whether these bundles are actually being served compressed.
For support, please visit the WordPress.org support forum for this plugin. Our team actively monitors and responds to support requests.
Before posting a support request:
* Check the FAQ section above for common questions
* Ensure you’re using the latest version of the plugin
* Include your WordPress and PHP versions in your support request
Feature Requests:
We welcome feature suggestions! Please post them in the support forum with detailed descriptions of your use case.
This plugin uses build tools for development efficiency.
Compressed File Source Code:
* build/index.js: WordPress Block Editor integration code
* Source: blocks/markdown/src/ folder
* Build: npm run build
* assets/libs/shiki/shiki.min.js: Shiki syntax highlighter (self-contained bundle, no CDN)
* Source: scripts/vendor/shiki-entry.mjs
* Build: npm run vendor:shiki
Source Code Access:
* GitHub Repository: https://github.com/my-biz-dev/markdown-renderer-for-github
* License: GPL v2 or later
* Development Branch: main
Build Instructions:
1. Install Node.js 22 LTS (see .nvmrc)
2. Install dependencies with npm install
3. Build with npm run build
4. Run tests with npm run test
Developer Resources:
* Development Environment Setup: See CLAUDE.md and docs/DEVELOPMENT.md
* Contributing: See CONTRIBUTING.md
* Build Process Details: See BUILD.md
By default this plugin runs entirely on your own server. The core rendering libraries are bundled locally and make no external requests:
Optional features that contact an external server (opt-in, off by default):
Two features can send diagram source to an external rendering server. Both are inactive until you explicitly enable, configure a server URL, and accept the in-plugin privacy notice:
To keep diagram source private you can point either feature at a server you self-host. When both options are left in their default (disabled) state, no diagram data or any other content leaves your site.
Pro license validation (only if you activate a Pro license key):
This Free plugin ships the shared license-gating code used by the separate Pro plugin. If you install the Pro plugin and enter a license key, activating, deactivating, or periodically re-validating that key sends the license key (no diagram or post content) to the license server:
Without the Pro plugin and an activated license key, no request is made to this endpoint.
Privacy & Security Benefits (default configuration):
* No tracking, analytics, or data collection
* No data is transmitted to external servers unless you opt in to PlantUML or server-side Mermaid rendering, or activate a Pro license key
* Works offline and in closed networks with the default settings
This plugin does not collect any personal data, and with the default settings all processing happens locally on your server. If you opt in to PlantUML or server-side (Kroki) Mermaid rendering, the source text of those diagrams is sent to the rendering server you configure – choose a server you trust, or self-host one, for sensitive content. If you activate a Pro license key, the key is sent to the Lemon Squeezy license server to validate it.
This section provides essential information for developers who want to extend or customize the plugin.
For complete API documentation, architecture diagrams, and customization examples, see:
Developer Documentation on GitHub
Actions:
gfmr_metadata_saved – Fired when code block metadata is saved
$post_id (int), $metadata (array)Filters:
gfmr_metadata_get_metadata – Filter retrieved metadata before use
$metadata (array), $post_id (int)gfmr_schema_data – Filter Schema.org JSON-LD data before output
$schema (array), $post (WP_Post)GFMR_PLUGIN_FILE – Plugin main file pathGFMR_SLUG – Plugin slug (‘markdown-renderer-for-github’)GFMR_URI – Plugin URLGFMR_PATH – Plugin directory pathGFMR_PLUGIN_PATH – Plugin directory name (relative)GFMR_PLUGIN_BASENAME – Plugin basenameGFMR_ASSETS_PATH – Assets directory URLwpGfmConfig – Plugin configuration localized from PHP (theme, translations, feature flags)wpGfmThemeResolver – Resolves the active Shiki theme (light/dark/system) for syntax highlightingwpGfmCopyButton – Adds the “copy code” button to rendered code blockswpGfmMath – Loads KaTeX and renders LaTeX math expressionswpGfmMermaidRenderer – Renders Mermaid diagram blockswpGfmShikiHighlighter – The active Shiki highlighter instanceOption name: gfmr_theme_settings
Available keys:
theme – Theme setting (‘light’, ‘dark’, ‘system’)schema_enabled – Enable Schema.org JSON-LD output (bool)schema_auto_detect_type – Auto-detect article type (bool)schema_include_author – Include author in schema (bool)schema_include_publisher – Include publisher in schema (bool)uninstall_remove_data – Remove plugin data on uninstall (bool, default false)This plugin follows WordPress coding standards and provides clean, semantic HTML output.
Detailed Documentation:
For complete documentation including full API reference with code examples, architecture diagrams (Mermaid), step-by-step customization guides, and CSS class reference, visit: