=== Markdown Renderer for GitHub === Contributors: wakalab Donate link: https://wakalab.dev/ Tags: markdown, github, gfm, syntax-highlighting, mermaid Requires at least: 6.0 Tested up to: 6.9 Requires PHP: 8.1 Stable tag: 1.7.2 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Transform your WordPress content with beautiful GitHub Flavored Markdown rendering, syntax highlighting, and interactive diagrams. == Description == Markdown Renderer for GitHub transforms your WordPress content with beautiful GitHub Flavored Markdown (GFM) rendering. Perfect for technical blogs, documentation sites, and any content that needs professional code presentation. **Key Features:** 🎨 **Beautiful Syntax Highlighting** * Powered by Shiki - the same syntax highlighter used by VS Code * Support for 100+ programming languages * Multiple beautiful themes (GitHub Light/Dark, VS Code themes, and more) * Automatic language detection 📊 **Mermaid Diagram Support** * Create flowcharts, sequence diagrams, and more * Professional diagram rendering * Interactive zoom functionality * Error handling with user-friendly messages ✨ **GitHub Flavored Markdown** * Tables, task lists, strikethrough * Automatic URL linking * Footnotes support * 100% compatible with GitHub markdown 📋 **Copy Button Feature** * One-click code copying * GitHub-style user experience * Full accessibility support * Mobile-friendly design ⚡ **Performance Optimized** * Asset lazy loading * Minimal performance impact * CDN-friendly architecture * Optimized for WordPress 🌍 **Developer Friendly** * Clean, semantic HTML output * Extensive hooks and filters * Translation ready (i18n) * WordPress coding standards **Perfect for:** * Technical blogs and tutorials * Documentation websites * Code portfolios * Educational content * API documentation * Developer resources == Installation == 1. Upload the plugin files to the `/wp-content/plugins/markdown-renderer-for-github` directory, or install the plugin through the WordPress plugins screen directly. 2. Activate the plugin through the 'Plugins' screen in WordPress. 3. Start using the Markdown block in the Gutenberg editor, or wrap your content with `[gfm-renderer]` shortcode. == Frequently Asked Questions == = What is GitHub Flavored Markdown? = GitHub Flavored Markdown (GFM) is an extension of standard Markdown that includes features like tables, task lists, syntax highlighting, and automatic URL linking. It's the same format used on GitHub.com. = Which programming languages are supported for syntax highlighting? = GitHub Flavored Markdown Renderer supports 100+ programming languages including JavaScript, Python, PHP, Java, C++, HTML, CSS, SQL, and many more. The highlighting is powered by Shiki, the same engine used by VS Code. = Can I create diagrams with this plugin? = Yes! You can create beautiful diagrams using Mermaid syntax, including: * Flowcharts * Sequence diagrams * Class diagrams * State diagrams * Gantt charts * And more = Is the plugin mobile-friendly? = Absolutely! All features including syntax highlighting, diagrams, and the copy button work perfectly on mobile devices. = Does this affect my site's performance? = GitHub Flavored Markdown Renderer is designed for minimal performance impact with smart asset lazy loading and optimized code. Assets are only loaded when needed, and the plugin adds less than 100KB to your site. = Can I customize the appearance? = Yes, the plugin provides CSS variables and hooks for customization. You can easily match your theme's design. = Is it translation ready? = Yes, the plugin is fully internationalized and translation ready. Japanese translation is included. = How do I add Markdown content? = You can use the dedicated "Markdown" block in the Gutenberg editor, or wrap your content with the `[gfm-renderer]` shortcode in classic editor. = Do I need coding knowledge to use this plugin? = Not at all! The plugin works with standard Markdown syntax that's easy to learn. The Gutenberg block provides a user-friendly interface with live preview. = Will this work with my theme? = Yes, GitHub Flavored Markdown Renderer is designed to work with any properly coded WordPress theme. The styling is designed to integrate seamlessly with your site's design. == Screenshots == 1. **Gutenberg Block Integration** - Easy-to-use Markdown block in the WordPress block editor with live preview 2. **Beautiful Syntax Highlighting** - Professional code presentation with copy button functionality and 100+ language support 3. **Interactive Mermaid Diagrams** - Create flowcharts, sequence diagrams, and more with zoom functionality 4. **GitHub-Style Tables & Formatting** - Perfect rendering of tables, task lists, and other GFM features 5. **Mobile-Responsive Design** - All features work seamlessly across desktop, tablet, and mobile devices 6. **Admin Settings** - Simple configuration options for themes and performance optimization == Changelog == = 1.7.0 = * Added commit-language setting for English commit messages * Added i18n workflow for translate.wordpress.org * Fixed Mermaid User Journey diagram not rendering in editor * WordPress 6.8+ iframe compatibility and CI optimization = 1.6.0 = * Converted Japanese comments to English for WordPress.org compliance = 1.5.0 = * Added Codecov coverage upload to CI/CD pipeline * Integrated JavaScript UI with WordPress translation system * Added Mermaid State Diagram support with multiple syntax patterns * Optimized GitHub Actions for faster PR checks * Fixed E2E test script and PHPUnit configuration issues * Enabled Mermaid classDef styling in editor preview = 1.4.0 = * Added Schema.org JSON-LD structured markup generation * Optimized conditional loading of KaTeX math library * Enabled full-width display for GFM rendered content * Added PHP 8.3/8.4 support to CI/CD pipeline * Added internationalization support for Gutenberg block editor * Fixed Mermaid classDef styling and multiple diagram types rendering * Reorganized documentation and enhanced technical docs = 1.3.9 = * Fixed Mermaid diagram sizing stability * Simplified release flow with changelog auto-generation = 1.3.8 = * Release process improvements = 1.3.7 = * Completely removed Plugin Update Checker (now using WordPress.org standard update system) * Added CI environment detection and strict mode to test scripts = 1.3.6 = * Removed Plugin Update Checker * Added CI environment detection = 1.3.5 = * Removed Plugin Update Checker * Test script improvements = 1.3.2 = * Removed Plugin Update Checker * CI environment detection = 1.3.1 = * Removed Plugin Update Checker * Test script improvements = 1.3.0 = * Completely removed Plugin Update Checker (now using WordPress.org standard update system) * Added CI environment detection and strict mode to test scripts = 1.2.0 = * Completely removed Plugin Update Checker (now using WordPress.org standard update system) * Refactored dependency check logic in test scripts = 1.1.2 = * Fixed Markdown blocks not displaying on posting screen * Version synchronization with WordPress.org repository * SVN deployment consistency improvements = 1.1.1 = * Version synchronization with WordPress.org repository * SVN deployment consistency improvements * Project root organization = 1.1.0 = * Added copy button support for light theme backgrounds * Improved copy button visibility in dark themes * Fixed Mermaid diagrams not being centered properly = 1.0.0 = * Initial release * GitHub Flavored Markdown (GFM) rendering support * Syntax highlighting for 100+ programming languages * Interactive Mermaid diagrams with 9 diagram types * One-click copy functionality for code blocks * WordPress Gutenberg block editor integration == Upgrade Notice == = 1.7.0 = Added i18n workflow for translate.wordpress.org and fixed Mermaid User Journey rendering in editor. = 1.6.0 = Improved WordPress.org compliance and internationalization support. All users are recommended to upgrade. = 1.5.0 = New Mermaid State Diagram support and JavaScript UI translation integration. = 1.4.0 = Schema.org structured data support and improved rendering performance. = 1.0.0 = First official release with GitHub Flavored Markdown rendering. == Technical Requirements == * WordPress 6.0 or higher * PHP 8.1 or higher * Modern browser with JavaScript enabled * Recommended: 128MB+ PHP memory limit == Support == 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. == Source Code == 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 **Source Code Access:** * **GitHub Repository**: https://github.com/wakalab/markdown-renderer-for-github * **License**: GPL v2 or later * **Development Branch**: main **Build Instructions:** 1. Install Node.js 18+ 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 == Third Party Services == This plugin operates entirely self-contained and does **NOT** use any external third-party services. **Complete Local Operation:** * All JavaScript libraries are bundled locally within the plugin * Shiki syntax highlighter - served from your WordPress installation (no CDN) * Mermaid diagram renderer - served from your WordPress installation (no CDN) * No external API calls or network requests are made **Privacy & Security Benefits:** * No data is transmitted to external servers * No tracking, analytics, or data collection * No external dependencies that could compromise your site * GDPR compliant by design * Works offline and in closed networks All functionality is fully self-contained within your WordPress installation with no external service dependencies. == Privacy == This plugin does not collect any personal data. All processing is done locally on your server. == Credits == * Syntax highlighting: [Shiki](https://shiki.style/) * Diagram rendering: [Mermaid](https://mermaid.js.org/) * Markdown parsing: [markdown-it](https://markdown-it.github.io/) == Developer Information == 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](https://github.com/wakalab/markdown-renderer-for-github/tree/main/docs) = Available Hooks and Filters = **Actions:** * `gfmr_metadata_saved` - Fired when code block metadata is saved * Parameters: `$post_id` (int), `$metadata` (array) * Use case: Sync metadata with external services, logging **Filters:** * `gfmr_metadata_get_metadata` - Filter retrieved metadata before use * Parameters: `$metadata` (array), `$post_id` (int) * Use case: Custom language detection, metadata modification * `gfmr_schema_data` - Filter Schema.org JSON-LD data before output * Parameters: `$schema` (array), `$post` (WP_Post) * Use case: Add custom schema properties, author profiles = PHP Constants = * `GFMR_PLUGIN_FILE` - Plugin main file path * `GFMR_SLUG` - Plugin slug ('markdown-renderer-for-github') * `GFMR_URI` - Plugin URL * `GFMR_PATH` - Plugin directory path * `GFMR_PLUGIN_PATH` - Plugin directory name (relative) * `GFMR_PLUGIN_BASENAME` - Plugin basename * `GFMR_ASSETS_PATH` - Assets directory URL = JavaScript Global Objects = * `wpGfmConfig` - Plugin configuration object * `wpGfmRenderer` - Core rendering API (processCodeBlocks, renderContent, initialize) * `wpGfmHighlighter` - Highlighter wrapper instance * `wpGfmShikiHighlighter` - Actual Shiki highlighter instance * `wpGfmUnifiedHighlight(code, lang, options)` - Unified highlight function * `wpGfmSwitchTheme(newTheme)` - Theme switching function ('light', 'dark', 'system') * `wpGfmRenderDiagram(content, element, options)` - Diagram rendering function = Settings Option = Option 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) = Plugin Development = 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: [GitHub Developer Documentation](https://github.com/wakalab/markdown-renderer-for-github/tree/main/docs)