npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

wpxml2md

v2.0.0

Published

Convert the WordPress XML file to Markdown files.

Downloads

24

Readme

npm-wpxml2md

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

Convert the WordPress XML file to Markdown files.

Installation

$ 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

Usage

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: 'http://akabeko.me/blog/',
    new: '/'
  }
}

wpxml2md('wordpress.xml', 'dest', options)
.then(() => {
  console.log('Completed!!');
} )
.catch((err) => {
  console.error(err);
});

wpxml2md

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.|

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.| |replaceLinkPrefix.new|String|Replacement.|

CLI

Usage: wpxml2md [OPTIONS]

  Convert the WordPress XML file to Markdown files.

  Options:
    -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 http://example.com/=/" then "http://example.com/" will be replaced with "/".

  Examples:
    $ wpxml2md -i wordpress.xml -o ./dist -r
    $ wpxml2md -i wordpress.xml -o ./dist -r --with-metadata --with-image-download --with-comment --replace-link-prefix http://akabeko.me/=/

  See also:
    https://github.com/akabekobeko/npm-wpxml2md

Conversion

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.

YYYYMMDD-hhmmss/
├── pages
│   └── YYYY
│       └── MM
│           └── DD.md
└── posts
    └── YYYY
        └── MM
            └── DD.md
  • 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.

HTML TAG

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|

Shortcode

caption

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

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

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

code

[code lang="js"]
const test = 'test';
console.log(test);
[/code]

code is converted to a code block.

```js
const test = 'test';
console.log(test);
```

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

[js]
const test = 'test';
if (test) {
  console.log(test);
}
[/js]

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

```js
const test = 'test';
if (test) {
  console.log(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|

ChangeLog

License