=== Summix GetMD === Contributors: summix Tags: markdown, export, content, posts, pages Requires at least: 6.8 Tested up to: 6.9 Requires PHP: 8.0 Stable tag: 0.2.4 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Export WordPress content to clean, standardized Markdown files. == Description == GetMD is a WordPress plugin that allows you to export your posts, pages, and custom post types to Markdown format. Perfect for migrating content, creating backups, or working with static site generators. **Features:** * Export posts, pages, and media to Markdown format * Advanced content filtering by post type * Flexible export options (single file or multiple files) * Export history tracking and management * Preserve formatting (bold, italic, lists, code blocks) * Convert WordPress content to clean, readable Markdown * Export directly to ZIP archive * Database health monitoring * Automatic cleanup of old exports * Simple and intuitive interface * Fast and efficient processing **Use Cases:** * Migrating to static site generators (Hugo, Jekyll, Gatsby) * Creating portable backups of your content * Preparing content for external editing * Archiving posts in a universal format == Privacy & Security == **Security is a top priority.** This plugin implements comprehensive security measures following WordPress best practices: **Download Protection (4-Layer Security):** * **Nonce Verification**: All download requests are protected with WordPress nonces to prevent CSRF attacks. Nonces are generated per-export and verified before serving files. * **Capability Check**: Only users with the 'export' capability (Administrators and Editors by default) can download exports. * **Ownership Verification**: Users can only download their own exports (unless they have administrator privileges). * **Path Validation**: All file paths are validated to prevent path traversal attacks. Files must be within the WordPress uploads directory. **Additional Security Measures:** * All user inputs are sanitized (using `absint()`, `sanitize_text_field()`, etc.) * All outputs are escaped (using `esc_html()`, `esc_attr()`, `esc_url()`, etc.) * All database queries use prepared statements to prevent SQL injection * REST API endpoints require authentication and proper capabilities * No external data transmission - all exports stay on your server **Privacy:** * This plugin does not collect, store, or transmit any personal data externally * Export files are stored locally in your WordPress uploads directory * No analytics, tracking, or external service connections * Full GDPR compliance For detailed security documentation, see: `SECURITY.md` in the plugin directory or visit our GitHub repository. == Installation == 1. Upload the `summix-getmd` folder to the `/wp-content/plugins/` directory 2. Activate the plugin through the 'Plugins' menu in WordPress 3. Navigate to Tools → GetMD by Summix to start exporting == Building from Source == This plugin includes compiled JavaScript and CSS assets. The source code for these assets is included in the `src/` directory to comply with WordPress.org plugin guidelines. **Prerequisites:** * Node.js 20.10.0 or higher * npm 10.0.0 or higher **Build Instructions:** 1. Navigate to the plugin directory: `cd wp-content/plugins/summix-getmd` 2. Install build dependencies: `npm install` 3. Build production assets: `npm run build` 4. Compiled assets will be output to: * `assets/js/admin.js` (JavaScript bundle) * `assets/css/admin.css` (CSS bundle) **Source Code Location:** * React/TypeScript source files: `src/` directory * Build configuration: `vite.config.ts`, `tsconfig.json`, `package.json` * Frontend stack: React 18.2+, TypeScript 5.2+, Vite 5.0+, Tailwind CSS 3.4+ == Frequently Asked Questions == = What content types can I export? = You can export posts, pages, and media attachments. The plugin includes flexible filtering options to select specific content types for export. = What Markdown flavor does this plugin use? = The plugin exports to CommonMark format, which is widely compatible with most Markdown processors. = Are images included in the export? = Image references are preserved in the Markdown output. Future versions will include options for downloading images. = Can I export my entire site at once? = Yes! You can export all content at once, or use the content filter system to narrow down your export to specific post types. The plugin exports everything to a convenient ZIP archive. == Screenshots == 1. Main export interface with content filters and export options 2. Settings tab showing database health and default configurations 3. Export history view displaying completed exports with download and delete actions 4. Export interface with active filter applied showing filtered content == Changelog == = 0.2.1 = * Default to all public post types when no filter specified * Editors and admins can now export all post statuses by default * Improved filter UI with inline add filter button * Enhanced export state management * Various bug fixes and improvements = 0.2.0 = * **BREAKING**: Plugin rebranded from "Summix Markdown Export" to "GetMD" * New plugin slug: summix-getmd (previously getmd) * Updated text domain, function prefixes, and namespaces * Database tables automatically migrated to new naming convention * All existing export configurations preserved during upgrade = 0.1.3 = * Enhanced security documentation with inline code comments * Added comprehensive SECURITY.md file documenting all security measures * Added Privacy & Security section to README explaining 4-layer download protection * Clarified nonce verification, capability checks, ownership validation, and path traversal prevention * Improved documentation for WordPress.org security review transparency * All security features were already implemented in 0.1.0 - this release only enhances documentation = 0.1.2 = * Added WordPress.org plugin screenshots * Achieved 100% WordPress Coding Standards compliance * Added internationalization support (POT translation file) * Enhanced security with WPINC guards * Added distribution build script for WordPress.org submission * Optimized vendor dependencies for production = 0.1.1 = * Added database health monitoring system * Added export history tracking * Added automatic cleanup functionality * Enhanced error handling and user feedback * Added REST API endpoints for database operations * Improved database table creation with verification = 0.1.0 = * Initial release * Basic Markdown export functionality * Export posts and pages * Content filtering by post type * Multiple export format options (single/multiple files) * Export to ZIP archive == Upgrade Notice == = 0.2.1 = Enhanced default filters and permissions for better out-of-box experience. = 0.2.0 = Major rebranding release. Deactivate old plugin and activate new one to upgrade. Data is preserved. = 0.1.3 = Enhanced security documentation for WordPress.org review. No functional changes - all security features were already implemented. = 0.1.2 = WordPress.org submission ready with enhanced security, coding standards compliance, and internationalization support. = 0.1.1 = Adds database health monitoring, export history tracking, and improved error handling. = 0.1.0 = Initial release of GetMD. == Credits == Developed by Summix (https://summix.io)