#!/usr/bin/env node var fs = require('fs') var execSync = require('child_process').execSync var optRe = /^--/ var args = process.argv.slice(2).reduce((acc, arg) => { if (optRe.test(arg)) { acc.opts.push(arg) } else { acc.urls.push(arg) } return acc }, { opts: [], urls: [] }) var urls = args.urls if (!args.opts.find(arg => arg === '--no-rebuild')) { console.log('Rebuilding Mercury') execSync('MERCURY_TEST_BUILD=true npm run build') } var Mercury = require('./dist/mercury_test') console.log(`Fetching link(s)`) urls.map(url => { Mercury.parse(url, { fallback: false }).then(function(result) { var htmlFile = './preview.html' var jsonFile = './preview.json' var html = `

${result.title}

${result.content}` fs.writeFileSync(htmlFile, html) fs.writeFileSync(jsonFile, JSON.stringify(result)) execSync(`open ${jsonFile}`) execSync(`open ${htmlFile}`) }) })