Files
wordpress-export-to-markdown/index.js
T
2021-01-24 12:39:43 -05:00

36 lines
1.1 KiB
JavaScript

#!/usr/bin/env node
const compareVersions = require('compare-versions');
const path = require('path');
const process = require('process');
const wizard = require('./src/wizard');
const parser = require('./src/parser');
const writer = require('./src/writer');
(async () => {
// Node version check
const requiredVersion = '12.14.0';
const currentVersion = process.versions.node;
if (compareVersions(currentVersion, requiredVersion) === -1) {
throw `This script requires Node v${requiredVersion} or higher, but you are using v${currentVersion}.`;
}
// parse any command line arguments and run wizard
const config = await wizard.getConfig(process.argv);
// parse data from XML and do Markdown translations
const posts = await parser.parseFilePromise(config)
// write files, downloading images as needed
await writer.writeFilesPromise(posts, config);
// happy goodbye
console.log('\nAll done!');
console.log('Look for your output files in: ' + path.resolve(config.output));
})().catch(ex => {
// sad goodbye
console.log('\nSomething went wrong, execution halted early.');
console.error(ex);
});