Installation
System Requirements
- Node.js 18.0.0 or higher
- npm, pnpm, or yarn
- WordPress 5.6+ with REST API enabled
Install Globally
Install md2wp as a global CLI tool:
bash
npm install -g @md2wp/clibash
pnpm add -g @md2wp/clibash
yarn global add @md2wp/cliVerify the installation:
bash
md2wp --version
# Should output: 0.1.0 (or current version)Check available commands:
bash
md2wp --helpInstall as Project Dependency
If you want to use md2wp in a specific project:
bash
npm install --save-dev @md2wp/clibash
pnpm add -D @md2wp/clibash
yarn add -D @md2wp/cliThen use via npm scripts:
json
{
"scripts": {
"publish-post": "md2wp publish",
"publish-draft": "md2wp publish --draft"
}
}Use as a Library
Install the core library for programmatic use:
bash
npm install @md2wp/coreExample usage:
typescript
import {
WordPressClient,
parseMarkdownFile,
transformToGutenberg,
} from '@md2wp/core';
// Create WordPress client
const client = new WordPressClient({
siteUrl: 'https://yoursite.com',
username: 'yourname',
password: 'your-app-password',
});
// Parse markdown
const parsed = await parseMarkdownFile('./post.md');
// Transform to Gutenberg
const content = transformToGutenberg(parsed.content);
// Create post
const post = await client.createPost({
title: parsed.frontmatter.title,
content: content,
status: 'draft',
});
console.log('Published:', post.link);Development Setup
If you want to contribute or develop md2wp:
Clone Repository
bash
git clone https://github.com/TeamNickHart/md2wp.git
cd md2wpInstall Dependencies
bash
# Install pnpm if you don't have it
npm install -g pnpm
# Install dependencies
pnpm installBuild All Packages
bash
pnpm buildLink CLI Locally
To use your local build globally:
bash
pnpm link:cliNow md2wp command will use your local development version.
Unlink When Done
bash
pnpm unlink:cliUpdating
Global Installation
bash
npm update -g @md2wp/clibash
pnpm update -g @md2wp/clibash
yarn global upgrade @md2wp/cliProject Dependency
bash
npm update @md2wp/clibash
pnpm update @md2wp/clibash
yarn upgrade @md2wp/cliUninstalling
Global Installation
bash
npm uninstall -g @md2wp/clibash
pnpm remove -g @md2wp/clibash
yarn global remove @md2wp/cliProject Dependency
bash
npm uninstall @md2wp/clibash
pnpm remove @md2wp/clibash
yarn remove @md2wp/cliTroubleshooting Installation
Permission Errors (EACCES)
On macOS/Linux, you might see permission errors with global installs:
bash
# Option 1: Use a version manager (recommended)
# Install nvm: https://github.com/nvm-sh/nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install 20
nvm use 20
# Then install md2wp normally
npm install -g @md2wp/cli
# Option 2: Fix npm permissions
# https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globallyCommand Not Found
If md2wp command isn't found after installation:
bash
# Check npm global bin directory
npm config get prefix
# Add to your PATH (add to ~/.zshrc or ~/.bashrc)
export PATH="$PATH:$(npm config get prefix)/bin"Version Mismatch
If you have multiple Node.js versions:
bash
# Check Node.js version
node --version # Should be 18.0.0 or higher
# Check which md2wp is being used
which md2wp
# Check md2wp version
md2wp --version