Ninja Pirate Mutants


    2.0.0 • Public • Published


    Support Node of LTS npm version Build Status Document Standard - JavaScript Style Guide

    Convert the WordPress XML file to Markdown files.


    $ npm install wpxml2md

    WordPress XML

    Can export the WordPress XML in the following way.

    1. Displays the management screen of WordPress
    2. Select the Tools - Export from the menu
    3. Select All content in Choose what to export
    4. Click to Download Export File


    Node API

    wpxml2md is promisify function.

    const wpxml2md = require('wpxml2md');
    const options = {
      report: true,
      noGFM: false,
      noMELink: true,
      withMetadata: true,
      withImageDownload: true,
      withComment: true,
      replaceLinkPrefix: {
        old: '',
        new: '/'
    wpxml2md('wordpress.xml', 'dest', options)
    .then(() => {
    } )
    .catch((err) => {


    wpxml2md(src, dest, options)

    Name Type Description
    src String Path of the XML file exported from WordPress.
    dest String Destination directory path.
    options Object Options.


    Name Type Description
    report Boolean Default is false. Display the process reports.
    noGFM Boolean Default is false. Disable the Convert the GitHub Flavored Markdown.
    noMELink Boolean Default is false. Disable the Convert the GitHub Extra link on header.
    withMetadata Boolean Default is false. Output article metadata in YAML format at the top of Markdown.
    withImageDownload Boolean Default is false. Download the linked images from articles. The file name is the same as markdown. Multiple images become serial numbers, DD is an article posted day (yyyymm"dd"). DD-1.png, DD-2.png, ...etc.
    replaceLinkPrefix Object Default is undefined. Replace the link URL prefix with the specified word.
    replaceLinkPrefix.old String Target. String Replacement.


    Usage: wpxml2md [OPTIONS]
      Convert the WordPress XML file to Markdown files.
        -h, --help            Display this text.
        -v, --version         Display the version number.
        -i, --input           Path of the XML file exported from WordPress.
        -o, --output          Path of the output directory.
        -r, --report          Output process reports.
        --no-gfm              Disable the GitHub Flavored Markdown.
        --no-melink           Disable the Markdown Extra link on header.
        --with-metadata       Enable output article metadata.
        --with-image-download Enable download and replace link syntaxes a linked images from article.
        --with-comment        Enable comment output from article.
        --replace-link-prefix Replace the link URL prefix with the specified word, format is "target=placeholder".
                              If "--replace-link" then "" will be replaced with "/".
        $ wpxml2md -i wordpress.xml -o ./dist -r
        $ wpxml2md -i wordpress.xml -o ./dist -r --with-metadata --with-image-download --with-comment --replace-link-prefix
      See also:


    This section describes the conversion by this tool. Markdown conversion engine was in reference to the design and implementation of the domchristie/to-markdown, rewrite an ES2015 and more.

    Output directories

    Converted Markdown files are output in the following directory.

    ├── pages
    │   └── YYYY
    │       └── MM
    │           └──
    └── posts
        └── YYYY
            └── MM
    • The name of the root directory is the date time that the execution of the processing
    • The result of converting the Pages will be output to the pages directory
    • The result of converting the Posts will be output to the posts directory
    • Markdown's file name is posted date time.
    • If the file or directory name is a duplicate will be added to the sequential number at the end.


    Default markdown.

    TAG Markdown
    Plain Text Plain text will keep the line breaks and blank lines. It is a specification to enable the WordPress of paragraph function.
    <p> \n\nTEXT\n\n
    <br> \n
    <h1> \n\n# TEXT\n\n, support from h1 to h6.
    <h1 id="id"> \n\n# TEXT {#id}\n\n, for Markdown Extra.
    <hr> \n\n* * *\n\n
    <em>, <i> _TEXT_
    <strong>, <b> **TEXT**
    <code> `TEXT`
    <a> [TEXT](URL "ALT")
    <img> ![TITLE](URL)
    <pre><code> \n\n TEXT\n\n
    <blockquote> \n\n> TEXT\n\n
    <ul><li> \n\n* TEXT\n\n
    <ol><li> \n\n1. TEXT\n\n

    GitHub Flavored Markdown.

    TAG Markdown
    <br> \n
    <del>, <s>, <strike> ~~TEXT~~
    <ul><li><input type="checkbox"> * [ ] Text, checked is true if [x].
    <table> see: Organizing information with tables - User Documentation
    <pre><code> \n\n```\nCODE\n```\n\n
    <div class="highlight highlight-lang"><pre> \n\n```lang\nCODE\n```\n\n



    <a href="example.png" title="Title">
      <img src="example.png" alt="Title"></a>

    Remove the short code dregs. Contents will Markdown conversion as HTML.

    [![Title](example.png)](example.png "Title")


    [code lang="js"]
    const test = 'test';

    code is converted to a code block.

    const test = 'test';

    Short code of programming languages and converts it to a code block.

    const test = 'test';
    if (test) {

    For example, the above will be converted to the following.

    const test = 'test';
    if (test) {

    Language to be converted is the following. The language names are based on the SyntaxHighlighter - Bundled Brushes.

    Language Shortcode
    Plain Text plain, text
    ActionScript3 as3, actionscript3
    Bash/shell bash, shell
    ColdFusion cf, coldfusion
    C# c-sharp, csharp
    C++ cpp, c
    CSS css
    Delphi delphi, pas, pascal
    Diff diff, patch
    Erlang erl, erlang
    Groovy groovy
    JavaScript js, jscript, javascript
    Java java
    JavaFX jfx, javafx
    Perl perl, pl
    PHP php
    PowerShell ps, powershell
    Python py, python
    Ruby rails, ror, ruby
    Scala scala
    SQL sql
    Visual Basic vb, vbnet
    XML xml, xhtml, xslt, html, xhtml




    npm i wpxml2md

    DownloadsWeekly Downloads






    Unpacked Size

    266 kB

    Total Files


    Last publish


    • akabeko